1. 程式人生 > >Python學習_第二模塊_三元運算&函數

Python學習_第二模塊_三元運算&函數

參數 位置參數 例子 count 返回結果 元組 bsp 語句 定義

三元運算

a = 2
b = 5
val = a if  a < b else  b
print(val)  #2


# 如果 a 小於 b  val 就等於a    反之等於b

函數

例1 定義一個函數

def sayhi():
    print(hhhhh)

print(sayhi)    # 函數的內存地址
sayhi()     #調用函數

#結果
#<function sayhi at 0x0000000002592488>
#hhhhh

例2 函數傳參

# 2 函數傳參
def
calc(x,y): res = x**y return res   #返回函數的執行結果 c = calc(2,2) print(c) # 4

函數參數說明

"""
函數參數:
    形參變量
        只有在被調用時才分配內存單元,在調用結束時,即釋放所分配的內存單元,因此形參只在函數內部有效。
        函數調用結束返回主調用函數後則不能再使用該形參變量

    實參
        可以是常量 變量 表達式 函數等,無論實參是何種類型的量,在進行函數調用時,它們必須有確定的值,
        以便把這些值傳送給形參。 因此應預先用賦值    輸入等辦法使參數獲得確定值

"""

形參與實參 例子說明

# 形參  與實參的說明

def calc(x,y):      # x, y 是形參
    res = x**y
    return  res

c = calc(2,4)       # 2, 4 是實參
print(c)    #16

例三 默認參數

def stu_register(name,age,country,course):
    print("--------註冊學生信息---------")
    print("姓名:",name)
    print("age: ",age)
    
print("國籍:",country) print("課程:",course) stu_register("張三",22,"CN","python") ‘‘‘ --------註冊學生信息--------- 姓名: 張三 age: 22 國籍: CN 課程: python ‘‘‘

# course 設置默認參數   默認參數都是放在最後位
def stu_register(name,age,course,country="CN"):
    print("--------註冊學生信息---------")
    print("姓名:",name)
    print("age: ",age)
    print("國籍:",country)
    print("課程:",course)

stu_register("張三",22,"python")

‘‘‘
--------註冊學生信息---------
姓名: 張三
age:  22
國籍: CN
課程: python
‘‘‘

關鍵參數
    正常情況下 給函數傳參數要按順序, 不想按順序機可以用關鍵參數, 只需指定參數名即可(指定了參數名的參數就叫關鍵參數) 關鍵參數必須放在位置參數之後

def stu_register(name, age, course=PY ,country=CN):
    print("----註冊學生信息------")
    print("姓名:", name)
    print("age:", age)
    print("國籍:", country)
    print("課程:", course)



stu_register("王山炮",course=PY, age=22,country=JP )

######下面2種調用方式是不允許的
# stu_register("王山炮",course=‘PY‘,22,country=‘JP‘ )
# stu_register("王山炮",22,age=25,country=‘JP‘ )

非固定參數 *args **kwargs

# *args
def stu_register(name,age,*args): # *args 會把多傳入的參數變成一個元組形式
    print(name,age,args)

stu_register("Alex",22)     #Alex 22 ()
stu_register("Jack",32,"CN","Python")   #Jack 32 (‘CN‘, ‘Python‘)

#**kwargs
def stu_register(name,age,*args,**kwargs): # *kwargs 會把多傳入的參數變成一個dict形式
    print(name,age,args,kwargs)


stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
# Jack 32 (‘CN‘, ‘Python‘) {‘sex‘: ‘Male‘, ‘province‘: ‘ShanDong‘}

函數返回值說明

## 函數返回值
def stu_register(name, age, course=PY ,country=CN):
    print("----註冊學生信息------")
    print("姓名:", name)
    print("age:", age)
    print("國籍:", country)
    print("課程:", course)
    if age > 22:
        return False
    else:
        return  True

resgistriation_status = stu_register("張三",19,course="py",country=JP)

if resgistriation_status:
    print("註冊成功")
else:
    print("too old to be a student.")

# 說明   函數在執行過程中只要遇到return語句, 就會停止執行並返回結果, return 代表著函數的結束
# 如果未來函數中指定return, 那這個函數返回值為None

Python學習_第二模塊_三元運算&函數