python程序開發時,如果不知道下一步要做什麼操作,可以用 pass 做佔位符,防止語法錯誤
TODO註釋:# TODO 要寫的代碼功能
會加粗高亮語句,不容易忽略,PyCharm左下角也會有相關的TODO提示
PyCharm中要修改某個變量名,右鍵此變量 Refactor->Rename ,此時修改此變量會修改當前文檔中所有的同變量
#! /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
# linux 系統下默認解釋器 Shebang (#! 解釋器路徑)
# linux 系統下添加可執行文件權限 文件目錄下: chmod +x 文件名
python全局變量
開發時,應該把全局變量定義在所有函數上方
全局變量前面應該增加 g_ 或 gl_ 前綴,防止混淆
python中不允許在函數內部直接修改全局變量,如果使用賦值語句會在函數內部重新定義一個局部變量
函數內部修改全局變量:需要使用 global 對全局變量進行修改
num = 10
def demo():
global num
num = 99
print(num)
print(num)
多個變量分別接受返回值
g_num01 = 0
g_num02 = 0
def demo():
num01 = 77
num02 = 88
return num01, num02
# 這樣g_num01, g_num02分別接收到num01, num02
g_num01, g_num02 = demo()
函數內部使用賦值語句,不會影響調用函數時傳遞的實參變量
如果傳遞的參數是可變類型(列表、字典),在函數內部,使用方法(append、extend、+= 等)修改了數據內容,同樣會影響到外部數據
缺省參數
def print_info(name, gender = True)
缺省參數即是調用該函數時,缺省參數的值若未被傳入,則傳入默認預設的值。
注意,必須將所有帶有默認值的參數置於參數列表的末尾。
當帶有多個缺省參數的函數被調用時,可單獨指定某個缺省參數的值。如:
def print_info(name, age = 18,gender = True )
print_info("zhan", gender = False )
多值參數
函數參數列表中,參數前增加一個*可以接收元組,增加兩個*可以接收字典。
*args(arguments) 存放元組參數
**kwargs 存放字典參數
def demo(num, *nums ,**nums )
Python元組和字典的拆包
在調用帶有多值參數的函數時,如果希望:(1)將一個元組變量傳遞給args(2)將一個字典變量傳遞給keargs。就可以選擇拆包,簡化參數的傳遞,拆包的方式是:
在元組變量前加一個星號*
在字典變量前增加兩個星號**
def demo(*args, **kwargs):
print(args)
print(kwargs)
gl_nums = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}
demo(*gl_nums, **gl_dict)
輸出:
(1, 2, 3)
{‘name’: ‘小明’, ‘age’: 18}
如果調用函數變量前不使用星號:
def demo(*args, **kwargs):
print(args)
print(kwargs)
gl_nums = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}
demo(gl_nums, gl_dict)
輸出:
((1, 2, 3), {‘name’: ‘小明’, ‘age’: 18})
{}