Python基础语法,Python基础学完了再学什么
我的学习笔记
开发工具:Spyder
目录函数函数定义函数定义函数调用函数返回值举个例子变量和不可变类型数据在传递参数时的区别举个例子1举个例子2函数参数实参传输方式参数定义方式默认参数位置参数星号元组参数命名键字形参数双星字典参数顺序从左到右
功能
函数被定义为封装特定的函数并表示函数或行为。函数是可以重复执行和重复调用的语句块。
函数可以提高代码的可重用性和可维护性。(注意函数命名和清晰度)
定义函数语法def函数名(形参):
函数体描述定义关键字
全名是defined,意思是‘定义’
函数名
对于函数体中语句的描述,命名规则与变量名相同。
形式参数
方法定义者要求调用者提供的信息。
功能体
完成这一功能的语句。
注意:函数的第一行语句可以选择使用文档字符串来存储函数和参数的描述。
调用函数语法函数名(实际参数)
定义返回值方法的定义者告诉调用者的结果。
语法return [expression]说明表达式就是需要返回的结果。
如果返回后没有表达式,相当于返回None。
如果没有return语句,函数执行后将返回None(相当于在末尾加了一条return None语句)
例如,代码:
def my_add(num01,num02):
结果=num01 num02
回送结果
re=my_add(1,2)
打印(重新打印)结果:
传递参数时不可变数据和不可变数据的区别;不可变数据
可变类型数据
当传递不可变类型的数据时,原始数据的值在函数内部不会改变。
当传递可变数据时,可以在函数内部更改原始数据。
例如,代码1:
def fun01(fun_num01):
fun_num01=2
print( fun _ num 01: str(fun _ num 01))
数字01=1
fun01(数字01)
打印( number01: str(number01))结果:
备注:str()是python自带的函数,是python保留的关键字。在定义变量时,应该避免使用str作为变量名。如果在使用str()函数之前已经定义了str变量,将出现错误类型error:“str”对象不可调用。可以使用del str删除str变量。
例如,代码2:
def fun01(num01,listA,listB):
num01=100
listA[0]=200
listB=300
数字01=1
列表01=[2,3]
list02=[4,5,6]
fun01(数字01,列表01,列表02)
打印(数字01)
打印(列表01)
打印(列表02)结果:
自变量传输模式位置传输-顺序传输
关键词参考——词典参考
示例代码:
def fun01(a,b,c):
打印(a、b、c)
#位置参数传递:实际参与参数的位置依次对应。
fun01(1,2,3)
#序列参数传递:用*拆分序列,依次对应参数的位置。
fun01(*[4,5,6])
#关键字参数传递:实际参数对应于形式参数的名称。
fun01(b=2,a=1,c=3)
# Dictionary Transfer Parameter:用* *拆分字典,对应参数名。
Fun01(**{b:20, c:10, a:5})结果:
形式参数的定义模式
参数默认参数,允许调用者有选择地传输所需的信息。
示例代码:
def fun01(a=0,b=1,c=2):
打印(a、b、c)
fun01()
娱乐01(1)
fun01(*[2,3])
fun01(b=10)
Fun01(**{a:-1, c:32})结果:
位置参数语法定义函数名(参数名1,参数名2,):
功能体
星形元组参数语法定义函数名(*元组参数名):
身体功能收集冗余位置参数。
说明通常情况下,元组参数被命名为“args”
参数列表中最多只能有一个星号元组参数。
示例1
示例2
命名关键字形参数我们先看两个例子感受一下命名关键词的传递。
示例1(强制参数传递带有关键字的参数)代码:
# If *放在开头,我们被迫使用关键字传递参数。
def fun01(*,a,b):
打印(a,b)
#如果我们不通过关键字传递参数,运行下面一行代码会给出一个错误。
Fun01(1,2)结果:
报告错误!
2示例代码:
#b必须使用关键字传递参数,否则会报错。
def fun01(*a,b):
打印(a,b)
Fun01(1,2,b=2)结果:
双星字典参数示例1
示例2
参数从左到右的顺序位置参数-星号元组参数-命名键字形参数-双星字典参数
转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。