Python學習02——基礎(二)

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})
{}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章