基礎(chǔ)
輸入類(lèi)型強(qiáng)制轉(zhuǎn)化
輸入為字符串形式,若要進(jìn)行輸入類(lèi)型轉(zhuǎn)換或輸出提示信息,可如此形式:int(input("輸入一個(gè)整數(shù):"))
輸出形勢(shì)
print('a'+'b')? ? 結(jié)果:ab
print('a','b')? ? 結(jié)果:a b
print('%s%s'%('a','b'))? ? 結(jié)果:ab
print()函數(shù)去掉自動(dòng)添加的換行:print('a',ending='')
在函數(shù)中強(qiáng)制修改全局變量
例如:
global A=100
循環(huán)中的else
Python中while和for常見(jiàn)到配有else。
假若循環(huán)中存在break,當(dāng)執(zhí)行break跳出循環(huán)時(shí),不執(zhí)行else塊的代碼;
若正常地結(jié)束循環(huán),則要執(zhí)行else塊的代碼。
編碼
默認(rèn)情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。?
指定編碼方法:
# -*- coding: gbk -*-
#coding=gbk
指定解釋器
#!/usr/bin/python3
表示 python3 解釋器所處的絕對(duì)路徑就是 /usr/bin/python3, 路徑被寫(xiě)死了, 類(lèi)似于編程中的"硬編碼"。
#!/usr/bin/env/ python3
表示從 "PATH 環(huán)境變量"中查找 python3 解釋器的位置, 路徑?jīng)]有被寫(xiě)死, 而是在"環(huán)境變量"中尋找 python3 解釋器的安裝路徑, 再調(diào)用該路徑下的解釋器來(lái)執(zhí)行腳本。
備注:
當(dāng)命令行的解釋器指定和py文件內(nèi)的解釋器指定沖突時(shí),命令行優(yōu)先;
以上的路徑是基于Linux/Unix的。
if?__name__?==?"__main__":
當(dāng).py文件被直接運(yùn)行時(shí),if?__name__?==?"__main__":之下的代碼塊將被運(yùn)行;
當(dāng).py文件以模塊形式被導(dǎo)入時(shí),if?__name__?==?"__main__":之下的代碼塊不被運(yùn)行。
短路計(jì)算
匿名函數(shù)(lambda)
可以使用lambda簡(jiǎn)單快速地定義一個(gè)函數(shù),其格式為:
[函數(shù)名] = lambda [傳入?yún)?shù)] : [函數(shù)返回值]
例如:
add = lambda x,y : x+y
與
def add(x,y):
? ? return x+y
一致
@函數(shù)裝飾器
當(dāng)程序使用“@函數(shù)”(比如函數(shù) A)裝飾另一個(gè)函數(shù)(比如函數(shù) B)時(shí),實(shí)際上完成如下兩步:
- 將被修飾的函數(shù)(函數(shù) B)作為參數(shù)傳給 @ 符號(hào)引用的函數(shù)(函數(shù) A)。
- 將函數(shù) B 替換(裝飾)成第 1 步的返回值。
def funA(fn):
print('A')
fn() # 執(zhí)行傳入的fn參數(shù)
return 'fkit'
@funA
def funB():
print('B')
print(funB) # fkit
?
上面程序使用 @funA 修飾 funB,這意味著程序要完成兩步操作:
- 將 funB 作為 funA() 的參數(shù),也就是上面代碼中 @funA 相當(dāng)于執(zhí)行 funA(funB)。
- 將 funB 替換成上一步執(zhí)行的結(jié)果,funA() 執(zhí)行完成后返回 fkit,因此 funB 就不再是函數(shù),而是被替換成一個(gè)字符串。
運(yùn)行上面程序,可以看到如下輸出結(jié)果:
A
B
Fkit
附錄
pip常用命令
獲取幫助:pip --help
升級(jí) pip:pip install -U pip
安裝包:pip install SomePackage
卸載包 :pip uninstall SomePackage
升級(jí)指定的包:pip install -U SomePackage
搜索包:pip search SomePackage
查看指定包的詳細(xì)信息:pip show -f SomePackage
列出已安裝的包:pip freeze or pip list
查看可升級(jí)的包:pip list -o
pip自升級(jí):python -m pip install --upgrade pip
round()函數(shù)四舍六入五成雙
Python2:
round()函數(shù)進(jìn)行四舍五入
Python3:
①當(dāng)被修約的值為5時(shí),如果它前面的數(shù)為偶數(shù)且被修約數(shù)的后面沒(méi)有數(shù)時(shí)則舍棄;
②當(dāng)被修約的值為5時(shí),如果它前面的數(shù)為奇數(shù)時(shí)則進(jìn)位;
③當(dāng)被修約的值為5時(shí),如果它前面的數(shù)為偶數(shù)時(shí)且被修約數(shù)的后面還有數(shù)時(shí),則進(jìn)位。
例如:
對(duì)22.5取值是舍
對(duì)23.5取值是進(jìn)
對(duì)22.51取值是進(jìn)
sys.argv[]
sys.argv[]可以從程序外部獲取參數(shù),由于從外部取得的參數(shù)可以是多個(gè),所以獲得的是一個(gè) 列表 (list),也就是說(shuō)sys.argv其實(shí)可以看作是一個(gè)列表,所以才能用[]提取其中的元素。其第一個(gè)元素是程序本身,隨后才依次是外部給予的參數(shù)。
向程序傳入?yún)?shù)的方式就是通過(guò)命令行:python [文件名].py [參數(shù)1] [參數(shù)2] ……
其中sys.argv[0]是指程序本身(包含路徑+文件名),從sys.argv[1]開(kāi)始才是傳入的參數(shù)。
程序中使用該方法需要導(dǎo)入sys包(import sys)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
