大家好,python+wrap相信很多的網(wǎng)友都不是很明白,包括python中format的用法菜鳥教程也是一樣,不過沒有關(guān)系,接下來就來為大家分享關(guān)于python+wrap和python中format的用法菜鳥教程的一些知識(shí)點(diǎn),大家可以關(guān)注收藏,免得下次來找不到哦,下面我們開始吧!
關(guān)于python,有哪些實(shí)用的知識(shí)點(diǎn)或者小技巧
本文邀請(qǐng)pany來回答,以下是他基于工作經(jīng)驗(yàn)羅列出來的關(guān)于python的一些實(shí)用知識(shí)點(diǎn)和小技巧,希望對(duì)你有所幫助~
文章不旨在概念的介紹和深挖,或者酷炫的第三方庫介紹。更多是站在實(shí)用性角度簡明快速羅列自認(rèn)為頗為有用的知識(shí)點(diǎn)或者技巧。為提高代碼的效率或可讀性,便利性等添磚加瓦。經(jīng)驗(yàn)之談,歡迎交流和拍磚。字符串字符拼接,join。
這里需要強(qiáng)調(diào)下,任何字符相關(guān)的可迭代對(duì)象都可以使用join。除了set,tuple外,類句柄對(duì)象同樣可以使用join。
關(guān)鍵字格式化
除了我們常用的%s進(jìn)行格式化外,其實(shí)還可以按照關(guān)鍵字格式化,對(duì)于比較多變量時(shí)的情況,有利于提高代碼的可讀性。
當(dāng)然format可以類似地
行分割
字符分隔
split(rsplit)其實(shí)時(shí)有第二個(gè)參數(shù)的,表示按順序分隔幾次,類似‘指定數(shù)目的非貪婪分隔’
內(nèi)容重復(fù)的字符串
多行縮進(jìn)處理
標(biāo)準(zhǔn)庫的textwrap.dedent可以刪除源文本中各行行首的共同縮進(jìn)部分
標(biāo)準(zhǔn)庫textwrap還有其他一些方法處理文本格式,例如fill設(shè)定行寬度和首行縮減,indent添加行前綴等等。
字典setdefault
給字典設(shè)置(增加)新的鍵,存在就不設(shè)置(獲取當(dāng)前key對(duì)應(yīng)的值),不存在就設(shè)置并返回當(dāng)前key對(duì)應(yīng)的值
update,更新字典
fromkeys(seq[,value])
創(chuàng)建一個(gè)新字典,序列seq的元素為鍵,value為字典所有鍵對(duì)應(yīng)的初始值(不指定為None)。
類似的功能其實(shí)也可以通過defaultdict來實(shí)現(xiàn),后面會(huì)舉例。
標(biāo)準(zhǔn)庫collections的defaultdict和OrderedDict
defaultdict類接受一個(gè)類型作為參數(shù),當(dāng)所訪問的鍵不存在的時(shí)候,可以實(shí)例化一個(gè)指定類型空值作為默認(rèn)值
統(tǒng)計(jì)詞頻
defaultdict類還使用任何不帶參的函數(shù),該函數(shù)的返回值作為默認(rèn)值,這樣可以實(shí)現(xiàn)多層key默認(rèn)值的指定。
所以defaultdict可以覆蓋setdefault的使用場(chǎng)景,人傾向使用defaultdict,更加方便簡潔
模仿fromkeys
OrderedDict
python的字典是無序的,OrderedDict可以保留key的順序信息
OrderedDict的Key會(huì)按照插入的順序排列
json化后可以保留順序
列表生成式
生成式中的判斷
生成式多層嵌套
但是多層生成式不推薦過度使用,可能會(huì)導(dǎo)致可讀性更差。列表的索引有不少靈活的用法:
元素重復(fù)的序列
*運(yùn)算符可生成元素重復(fù)的序列
在for循環(huán)中一同拿到索引和元素
其實(shí)enumerate函數(shù)的可使用范圍也包括所有的可迭代對(duì)象
例如文件句柄
在列表中查找
除了使用index()方法返回查找元素的索引外。對(duì)于復(fù)雜點(diǎn)的元素可以使用生成器及其next方法
Set集合生成式
實(shí)際上{1,2,3}相當(dāng)于set([1,2,3])
set支持leninjoin
刪除元素:remove和discard
二者的區(qū)別在于,如果被指定刪除的不存在時(shí)remove會(huì)拋出KeyError異常,而discard則不會(huì)
對(duì)集合添加多項(xiàng)
集合運(yùn)算
推薦使用運(yùn)算符而不是set方法函數(shù),運(yùn)算符看起來更簡潔,有更好的可讀性
如果讀完此文對(duì)你有幫助,請(qǐng)點(diǎn)個(gè)贊或者轉(zhuǎn)發(fā)讓更多人知道哦~
Python可以開發(fā)手機(jī)APP和pc桌面應(yīng)用軟件嗎
Python是動(dòng)態(tài)語言,比較簡潔。Android不直接支持使用python開發(fā)應(yīng)用,需要使用其它中間件或者庫。PythonForAndroid提供了在android平臺(tái)上對(duì)python語言的支持;CLE支持python和java之間的交互,同時(shí)提供了一個(gè)通用的接口,可用于其它多種語言。
Wrapandroidproject將android類封裝為CLE對(duì)象,從而可以使多種語言可以調(diào)用android類。使用這三個(gè)組件,可以在android平臺(tái)上直接使用python開發(fā)界面應(yīng)用程序。
在android上開發(fā)python應(yīng)用程序,編程和打包環(huán)境可以直接使用eclipse。
準(zhǔn)備環(huán)境
a:安裝PythonForAndroid:http://code.google.com/p/android-scripting
b:CLE在程序運(yùn)行的時(shí)候,自動(dòng)從網(wǎng)絡(luò)上安裝,也可以下載庫函數(shù),放到工程中。開發(fā)需要java庫文件starcore_android_r6.jar。文件在starcore_devfiles_r6.zip中,可以從http://code.google.com/p/cle-for-android下載
c:Wrapandroid項(xiàng)目庫文件wrapandroid.jar,包含在壓縮包http:/code.google.com/p/wrapandroid-for-multilaguage/download/wrapandroid_devfiles_0_8_6.rar中。
開始編程
a.打開eclipse,創(chuàng)建一個(gè)新的androidproject“introduction”
b.如果要從網(wǎng)絡(luò)安裝,則需要添加許可權(quán)限:
c.將庫文件starcore_android_r6.jar和wrapandroid.jar到工程目錄下,將這兩個(gè)文件加入到工程中。
d.編輯IntroductionActivity.java,如下修改,加載python代碼importcom.srplab.wrapandroid.*;
publicclassIntroductionActivityextendsWrapAndroidActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StarActivity._Call("DoAssetsFile","python","code.py");
}
}
同時(shí)在activity中設(shè)置下載標(biāo)志為falsepublicclassIntroductionActivityextendsWrapAndroidActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
DownloadFromNetFlag=false;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StarActivity._Call("DoAssetsFile","python","code.py");
}
}
只不過此時(shí)生成的安裝包大一些。
e.編輯layout:main.xml.<?xmlversion="1.0"encoding="utf-8"?>
android:id="@+id/widget73"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
android:id="@+id/widget45"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
android:id="@+id/widget74"
android:layout_width="220dp"
android:layout_height="48dp"
android:text="thankforyouruse"
android:typeface="serif"
android:textStyle="bold"
android:textColor="#ffff0000"
android:layout_x="284dp"
android:layout_y="220dp"
android:textSize="16dp"
/>
f.在assets目錄下,創(chuàng)建code.py文件.
推薦學(xué)習(xí):《Python教程
關(guān)于python+wrap和python中format的用法菜鳥教程的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。