#!/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)