函式
全域性變數呼叫
eg:
a = 100
def hanshu():
global a #使用全域性變數a
a = 2000
print(a) #函式不執行,全域性變數a不變
hanshu()
print(a)
結果為:100 2000
nonlocal修飾外部非全域性變數
eg:
def hanshu():
x = 100
def neibu():
nonlocal x #修飾x,說明x是外部非全域性變數
x = 1000
print(x)
neibu()
print(x)
hanshu()
結果為: 100 1000
乙個值接收多個值,返回乙個元組
多個值接收多個值,返回各個值
eg:
def qiuhe(a,b):
c = a+b
d = a*b
e = a-b
f = a/b
return c,d,e,f
s = qiuhe(8,4) #乙個值接收多個值,會返回乙個元組
print(s)
x,y,z,w=qiuhe(8,4) #多個值接收多個值,返回各個的值
print(x,y,z,w)
結果為:
如果形參沒有對應的實參,則預設輸出形參
eg:
def hanshu(name,age,***="男"):
print("我叫",name,end=" ")
print("今年",age,end=" ")
print("性別",***)
hanshu("雷克頓",34)
hanshu("莫甘娜",28,"女")
hanshu("嘉文四世",30,"男")
結果為:
函式裡的可變引數改變了,下次呼叫時會使用之前改變後的值
eg:
def hanshu(b,a=): #a是可變引數,函式裡改變了,下次呼叫時會使用之前改變後的值
print(a,b)
hanshu(10)
hanshu(12)
結果為:
lambda(小型函式)
eg:
a=lambda x,y:x*2+y #lambda為小型函式,簡便def函式,:前面是引數,後面是要返回的值
print(a(3,4))
# 解析
def hanshu(x,y):
return x*2+y
print(hanshu(3,4))
結果為:10 10
eg:
b =
def geta(a):
return a["age"]
print(geta(b))
# 簡化
c = lambda a:a["age"] #:前面是引數,後面是要返回的值
x=c(b)
print(x)
結果為:18 18
列表排序(絕對值排序)
a = [1,3,-5,6]
a.sort() #a中的元素排序
print(a)
a.sort(key=abs) #呼叫ads絕對值函式,以a中元素的絕對值進行排序,且a的元素不變
print(a)
結果為:
key呼叫
eg:
def hanshu(a):
return a["age"]
a = [,,]
b = max(a,key=hanshu) #,呼叫hanshu(),以hanshu為比較物件,返回了每個元素的age值,求最大
print(b)
# 簡化
c = max(a,key=lambda x:x["age"])
print(c)
結果為:
簡化迴圈
eg:
a = [i for i in range(1,10)]
print(a)
b = [i*2 for i in range(1,50) if i%3==0]
print(b)
c = [i*3 for i in range(1,20) if i%5==0 or i%7==0]
print(c)
結果為:
二維列表的簡單迴圈
eg:
a = [[1,2,3],[4,5,6],[7,8,9]] #二維列表
print(a[0][0])
print(a[1][2])
b = [a[0][i] for i in range(3)]
print(b)
c = [a[i][0] for i in range(3)]
print(c)
d = [a[i][i] for i in range(3)]
print(d)
e = [a[x][y] for x in range(3) for y in range(3) if x+y==2]
print(e)
f = [a[i][2-i] for i in range(3)]
print(f)
結果為:
左右置換
eg:
a =
b =
print(b)
結果為:
zip打包
eg:
a = [1,2,3,4]
b = ["a","b","c"]
c = zip(a,b) #打包成乙個zip,內部是元組型別,兩個引數以短的決定其長度
for x in c:
print(x)
結果為:
map物件
eg:
def hanshu(x):
return x*x
a = [1,2,3,4]
d = map(hanshu,a) #map物件。對每個a中的元素進行函式加工,返回乙個新的序列
print(d)
for x in d:
print(x)
結果為:
filter過濾函式
eg:
def hanshu(a):
if a%2==0:
return true
a = [1,2,3,4,6]
b = filter(hanshu,a) #過濾資料,符合hanshu內部條件的留下
print(b)
for x in b:
print(x)
Python 基礎知識
來自 一 識別符號 1.python 中的識別符號是區分大小寫的。2.標示符以字母或下劃線開頭,可包括字母,下劃線和數字。3.以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from import 而匯入 以雙下劃線開頭的...
python基礎知識
一.隨機數的生成 都需要 import random 1.用於生成乙個指定範圍內的隨機浮點數。print random.uniform 10,20 print random.uniform 20,10 2.生成乙個指定範圍內的整數。下限必須小於上限制 print random.randint 12,...
python基礎知識
py基礎學習 1.命令列輸入python命令式,例如python test.py c m install sys.argv test.py c m install 2.切片,str 0 5 1 含頭不含尾,表示倒序切 3.unicode和encode unicode str,utf 8 將utf 8...