Python 函式 相關隨記

2021-10-04 01:21:10 字數 3007 閱讀 6650

# 傳不可變物件例項

print("# 傳不可變物件例項")

def returnstr(a):

a="212"

return

b=123

print("呼叫函式之前取值:",b)

returnstr(b)

print("呼叫函式之後取值:",b)

print()

# 傳不可變物件例項

呼叫函式之前取值: 123

呼叫函式之後取值: 123

# 傳可變物件例項

print("# 傳可變物件例項")

def changelist(list1):

print("函式內部呼叫列表取值:",list1)

return

list2=[8,7,6]

print("呼叫函式之前取值:",list2)

changelist(list2)

print("函式外部呼叫列表取值:",list2)

# 傳可變物件例項

呼叫函式之前取值: [8, 7, 6]

函式內部呼叫列表取值: [8, 7, 6, [1, 2, 3]]

函式外部呼叫列表取值: [8, 7, 6, [1, 2, 3]]

當非函式順序傳遞時,需指定函式中傳遞的引數名

# 函式引數傳遞時順序可以不重要

def printname(firstname,lastname):

print("姓氏:",firstname)

print("名稱:",lastname)

print()

return

print("按照函式引數順序傳遞:姓zhang,名san")

printname("zhang","san")

print("按照函式引數非順序傳遞:名san,姓zhang")

printname(lastname="san",firstname="zhang")

按照函式引數順序傳遞:姓zhang,名san

姓氏: zhang

名稱: san

按照函式引數非順序傳遞:名san,姓zhang

姓氏: zhang

名稱: san

加了星號(*)的變數名會存放所有未命名的變數引數

def functionname([formal_args,] *var_args_tuple ):

"函式_文件字串"

function_suite

return [expression]

例項如下:

def printname(firstname,lastname,*infop):

print("姓氏:",firstname)

print("名稱:",lastname)

for idx in infop:

print("其他資訊",idx)

print()

return

printname("li","si")

printname("zhang","san","50kg","180cm")

姓氏: li

名稱: si

姓氏: zhang

名稱: san

其他資訊 50kg

其他資訊 180cm

python 使用 lambda 來建立匿名函式。

# 匿名函式

sum = lambda arg1, arg2: arg1 + arg2

# 呼叫sum函式

print("相加後的值為 : ", sum(23, 27))

print("相加後的值為 : ", sum(45, 6))

相加後的值為 :  50

相加後的值為 : 51

乙個程式的所有的變數並不是在哪個位置都可以訪問的。訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式你可以訪問哪個特定的變數名稱。兩種最基本的變數作用域如下:

total = 0  # 全域性變數

print("total初始化:",total)

def sum(arg1, arg2):

total = arg1 + arg2 # 區域性變數,相當於重新申明了乙個新變數total

print("函式內是區域性變數 total: ", total) #區域性變數

return total

sum(4, 7)

print("函式外是全域性變數 total: ", total) #全域性變數,total賦值0後未重新賦值

total初始化: 0

函式內是區域性變數 total: 11

函式外是全域性變數 total: 0

如果在函式內要對全域性變數賦值,則需要用到global進行指定

total = 0  # 全域性變數

print("total初始化:",total)

def sum(arg1, arg2):

global total # 指定了total為全域性變數

total= arg1 + arg2 # 在global指定全域性變數後,此處不在是區域性變數

print("函式內是區域性變數 total: ", total) # 不再是區域性變數

return total

sum(4, 7)

print("函式外是全域性變數 total: ", total) #全域性變數,total賦值0後在函式內重新賦值

total初始化: 0

函式內是區域性變數 total: 11

函式外是全域性變數 total: 11

python隨記 字串相關

單雙引號的區別 python同時支援單雙引號的原因是引用字串中可能會包含單雙引號。如字串 let s go!或者 hello she said.如需輸出字串let s go!此時如果用單引號 let s go!程式會報錯。乙個解決辦法是,在 s前加轉義字元 let s go!但是問題是輸出也會變成 ...

lua函式隨記

在大多數lua語法分析中可以獲得這些標準lua函式.無可爭辯,我們可以查閱lua 但是一些少了的函式被blizzard進行了調整.下面列出了所有lua函式.wow api中的lua注意在wowapi沒有提供所有標準的lua函式,很顯然,作業系統以及檔案i o庫是不支援的 assert value 檢...

python初學隨記

語言特點 開源 跨平台,擴充套件性強 類庫多 主流開發工具 pycharm 學習版本 python3.6.5 基礎 注釋用 基本資料型別 4種 整數 int 浮點數float 字串str 布林值bool true false 字典分支 if 表示式 elif 表示式 else 了解方法 input ...