已有网站做google推广,网址大全100个,深圳尼高品牌设计,各个广告联盟的标识目录
函数基本语法
函数定义
函数调用
形式参数和实际参数
None类型
None主要作用
函数的说明文档
语法
变量的作用域
变量分类
global关键字
不加global关键字
加global关键字
函数的多返回值
多返回值写法
函数的四种传参方式
位置参数
关键字参数
缺省参…目录
函数基本语法
函数定义
函数调用
形式参数和实际参数
None类型
None主要作用
函数的说明文档
语法
变量的作用域
变量分类
global关键字
不加global关键字
加global关键字
函数的多返回值
多返回值写法
函数的四种传参方式
位置参数
关键字参数
缺省参数
不定长参数
不定长参数类型
位置传递参数的不定长
关键字传递参数的不定长
匿名函数
函数作为参数传递
lambda匿名函数
函数的定义
匿名函数的定义 函数基本语法
含义组织好的可重复使用的用来实现特定功能的代码段
函数定义
def 函数名(传入参数1,传入参数2):函数体return 返回值
函数调用
函数名(传入参数1,传入参数2)
注意
函数定义时函数的传入参数以及返回值包括return关键字可以省略 函数定义完成之后只有经过调用才能生效函数的传入参数在函数计算时用来接收函数调用时提供的数据通过return关键字就能向调用者返回数据也称返回值函数体遇到return关键字后就表明函数在这里结束了之后的代码不执行有返回值的函数可以用一个变量接受该函数的返回值若函数没有使用return关键字返回数据那么函数也有返回值这个返回值就是None
#创建一个函数用来统计字符串的长度
def my_len(data):count0for i in data:count1print(f字符串{data}的长度是{count})
#创建一个字符串
strhello world
#调用函数
my_len(str)
形式参数和实际参数
形式参数在函数定义时提供的x、y称之为形式参数表示声明时将要使用的参数实际参数函数调用时提供的参数称之为实际参数表示函数执行时真正使用的参数
注意形式参数要和实际参数一一对应
None类型
含义None作为一个特殊的字面量表示空、无意义其有非常多的应用场景
None主要作用
用在函数的返回值上表示无返回值用在if判断上None等同于False一般用于在函数中主动返回None配合if判断做相关处理用于声明无内容的变量上定义变量但暂时不需要变量具有具体值可以用None代替
def check_test():print(用来测试None)
flagcheck_test()
print(f函数的返回值为{flag},具体类型为{type(flag)})
#函数的返回值为None,具体类型为class NoneType
函数的说明文档
前言函数是纯代码语言想要理解其含义就需要一行行的去阅读理解代码效率比较低因此我们可以给函数添加说明文档辅助理解函数的作用
语法 函数说明
:params x:形参函数x的说明
:params y:形参函数y的说明
:return 返回值的说明注意我们可以通过多行注释的形式对函数进行说明解释
变量的作用域
含义变量的作用域指的是变量的作用范围变量在哪里可用在哪里不可用
变量分类
局部变量定义在函数体内部的变量即只在函数体内部生效作用在函数体的内部在函数运行的时候临时保存数据当函数调用完成之后立刻就销毁了局部变量全局变量指在函数体内外都能生效的变量
global关键字
作用主要用在函数内部将定义的变量声明为全局变量
不加global关键字
num200
def test_a():num500print(f函数内num的值{num})
test_a()#500
print(f外部num的值{num})#200
加global关键字
num200
def test_a():global numnum500print(f函数内num的值{num})
test_a()#500
print(f外部num的值{num})#500
函数的多返回值
前言若一个函数写了2个return那么他只会执行第一个return原因是return可以退出当前函数导致return下方的代码不执行
多返回值写法
#多返回值函数的定义
def 函数名:函数语句return 返回值1,返回值2#多返回值函数的接收
变量1, 变量2函数名()
注意
多返回值的接收写对应顺序的多个变量接收即可多返回值的书写以及多返回值的接收时应该用逗号隔开多返回值的返回类型不受限
#多返回值函数的定义
def test_return():return hello,666,True
#多返回值的接收
x,y,ztest_return()
print(x)#hello
print(y)#666
print(z)#True
函数的四种传参方式
前言根据使用方式上的不同函数有四种常见的参数使用方式
位置参数
含义调用函数时根据函数定义的参数位置来传递参数
def user_info(name,age,gender):print(f您的名字是{name}您的年龄是{age}您的性别是{gender})user_info(Tom,20,男)
#您的名字是Tom您的年龄是20您的性别是男
注意传递参数和定义的参数顺序及个数必须一致
关键字参数
含义函数调用时通过“键值”的形式传递参数
作用可以让函数更加清晰容易使用同时也清楚了参数的顺序需求
def user_info(name,age,gender):print(f您的名字是{name}您的年龄是{age}您的性别是{gender})user_info(age20,nameTom,gender男)
#您的名字是Tom您的年龄是20您的性别是男
注意函数调用时若有位置参数位置参数必须在关键字参数的前面但关键字参数之间不存在先后顺序
缺省参数
含义缺省参数也叫默认参数用于定义函数为参数提供默认值调用函数时可不传该默认参数的值
作用当调用函数时没有传递参数就会使用默认缺省参数的值
def user_info(name,age,gender男):print(f您的名字是{name}您的年龄是{age}您的性别是{gender})user_info(Tom,20)
#您的名字是Tom您的年龄是20您的性别是男
user_info(Tom,20,女)
#您的名字是Tom您的年龄是20您的性别是女
注意
函数定义时所有的位置参数必须出现在默认参数前函数调用时若为缺省参数传值则修改默认参数值否则使用这个默认值
不定长参数
含义也叫可变参数用于不确定调用的时候会传递多少个参数不传参也可以的场景
作用当调用函数不确定参数个数时可以使用不定长参数
不定长参数类型
位置传递参数的不定长
def user_info(*args):print(f您传的参数为{args},其类型为{type(args)})user_info(Tom)
#您传的参数为(Tom,),其类型为class tuple
user_info(Tom,18)
#您传的参数为(Tom, 18),其类型为class tuple
注意传进去的所有参数都会被*后面的变量收集形式参数为*变量名他会根据传进参数的位置合并成一个元组tuple该变量是元组类型一般用args这就是位置传递
关键字传递参数的不定长
def user_info(**kwargs):print(f您传的参数为{kwargs},其类型为{type(kwargs)})user_info(nameTom)
#您传的参数为{name: Tom},其类型为class dict
user_info(nameTom,age20)
#您传的参数为{name: Tom, age: 20},其类型为class dict
注意关键字传递的不定长参数参数是键值形式的情况下所有的键值对都会被**后面的变量接收形式参数为**变量名这个变量一般用kwargs同时会根据键值组成字典
匿名函数
函数作为参数传递
前言函数除了可以将数据传入一个函数内其实我们也可以将函数本身作为一个参数传入另一个函数内
def test_func(compute):resultcompute(1,2)print(f计算结果为{result})def compute(x,y):return xytest_func(compute)
#计算结果为3
def test_func(compute):resultcomputeprint(f计算结果为{result})def Add(x,y):return xytest_func(Add(1,2))
#计算结果为3
注意将函数作为参数传入的作用在于传入计算逻辑而非传入数据
lambda匿名函数
函数的定义
def关键字可以定义带有名称的函数lambda关键字可以定义匿名函数无名称
注意有名称的函数可以基于名称重复使用无名称的匿名函数只可以临时使用一次
匿名函数的定义 lambda 传入参数:函数体(一行代码) 注意
lambda是关键字表示定义匿名函数传入参数表示匿名函数的形式参数如x,y表示接收两个形式参数函数体就是函数的执行逻辑匿名函数只能写一行无法写多行代码匿名函数用于临时构建一个函数只用一次的场景lambda函数是直接将函数体的结果return的所以可以直接省略return
def test_func(compute):resultcompute(1,2)print(f计算结果为{result})
def compute(x,y):return xy
test_func(compute)
#计算结果为3#通过lambda关键字传入一个一次性使用的lambda匿名函数
test_func(lambda x,y:xy)
##计算结果为3