Python基础语法三
'''
Python函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
参数:
必备参数
命名参数
缺省参数
不定长参数
'''
# 定义函数
def printSometing( str):
print(str)
return
# 调用函数
printSometing("哈哈,我调用了这个函数!!!")
# 按值传递参数和引用传递参数
def changeList( list):
"修改传入的列表"
list.append([1,2,3,4,5])
print("函数内取值:",list)
return
# 调用changeList函数
list = [10,20,30]
changeList(list)
print("函数外取值:",list)
# 必备参数
def what( str ):
"打印任何传入的字符串"
print(str)
return
print("hehe") #不传参数会抛异常
# 命名参数
def what(name,age):
"打印任何传入的字符串"
print("name:",name)
print("age:",age)
return
print(what(name="张三",age=22))
# 缺省参数
def what(name,age = 20):
"打印任何传入的字符串"
print("name:",name)
print("age:",age)
return
what(age= 22,name = "李四")
what(name = "王五")
# 不定长参数
def what(arg1,*age2):
"打印任何传入的参数"
print("输出:")
print(arg1)
for var in age2:
print(var)
return
what(10)
what(20,30,40,50,100)
'''
匿名函数
python 使用 lambda 来创建匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
'''
sum = lambda arg1,arg2:arg1+arg2;
print(sum(10,20))
'''
return语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
'''
def sum(arg1,arg2):
total = arg1 + arg2
print("总数是:",total)
return total
total = sum(100,50)
print("函数调用结果:",total)