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)

發佈了79 篇原創文章 · 獲贊 79 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章