1. 程式人生 > >Python開發-Python函式-Python函式的構建

Python開發-Python函式-Python函式的構建

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

#Python函式構建⭐️⭐️⭐️

#定義一個函式
def hello():
    print("hello world")

hello()

#語法
'''
def 函式名(引數列表):
    函式體
'''

#①帶引數的函式結構
#求矩形面積
def area(width,height):
    return width * height;

w = 4
h = 6
print("當寬度為",w,"高度為",h,"的時候,面積為",area(4,6))

#傳入字串
def print_welcome(name):
    print("歡迎你",name)

print_welcome("張啟峰")

#②函式呼叫
#定義函式
def printstr(str):
    "列印任何傳入的字串"
    print(str);
    return;
#呼叫函式
printstr("我要呼叫使用者自定義函式");
printstr("再一次呼叫同一函式");

#③按值傳遞引數和按引用傳遞引數
#示例:
def changestr(mylist):
    "修改傳入的列表"#這是函式說明
    mylist.append([1,2,3,4]);
    print("函式內取值",mylist)
    return

mylist = [10,20,30];
changestr(mylist);
print("函式外取值",mylist)

#④關鍵字引數
#呼叫函式的時候可以使用引數名的情況
def printme( str ):
    "列印任何傳入的字串"
    print (str);
    return;

#呼叫printme函式
printme(str = "菜鳥教程");

#呼叫函式的時候可以不使用引數名的情況
def printinfo( name, age ):
    "列印任何傳入的字串"
    print ("名字: ", name);
    print ("年齡: ", age);
    return;

#呼叫printinfo函式
printinfo( age=50, name="runoob" );

#⑤不定長引數
#加了 *  號的變數名會存放所有未命名的變數引數
def printinfo1( arg1, *vartuple ):
    "列印任何傳入的引數"
    print ("輸出: ")
    print (arg1)
    for var in vartuple:
        print (var)
    return;

# 呼叫printinfo 函式
printinfo1( 10 );
printinfo1( 70, 60, 50 );

#⑥return 語句
#return語句用來退出函式,選擇性的返回一個表示式
def sum(num1,num2):
    "返回兩個引數的和"
    total = num1 + num2
    print("函式內",total)
    return total;

total = sum(10,20);
print ("函式外",total)

#⑦全域性變數和區域性變數
total = 0; # 這是一個全域性變數
def sum( arg1, arg2 ):
    #返回2個引數的和
    total = arg1 + arg2; # total在這裡是區域性變數.
    print ("函式內是區域性變數 : ", total)
    return total;

#呼叫sum函式
sum( 10, 20 );
print ("函式外是全域性變數 : ", total)