标签:https 声明 文档 nbsp 传参数 调用函数 number === ber
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:
a = 1 #把1赋值给a
a = 2 #把2赋值a
这一过程中其实是重新创建新的值为2的对象a,原先指向1的变量a 被废弃了
可变类型:
l = [1,2,3]
l[0] = 99
l这一过程中只是修改而已,l 指向这个列表的变量没有变化
def changeList(self,mylist): mylist.extend([1,2,3]) print(‘函数内的list: ‘,mylist) def changeInt(self,a): a = 10 print(‘函数内的int: ‘,10) if __name__ == ‘__main__‘: s = Student() l = [11,22,33] s.changeList(l) print(‘函数外的list:‘,l) a = 100 s.changeInt(a) print(‘函数外的int: ‘,a) 结果: 函数内的list: [11, 22, 33, 1, 2, 3] 函数外的list: [11, 22, 33, 1, 2, 3] 函数内的int: 10 函数外的int: 100
小结:
从代码可以看出,不可变的参数传入后并函数外并没有改变值,具有不可变性;而列表,传入参数后列表内容发生改变,函数外的列表也一同发生改变,具有可变性。
===========================================================================
以下是调用函数时可使用的正式参数类型:
必需参数
关键字参数
默认参数
不定长参数
必须参数:
调用该函数数必须传参数
def fun(needValue): print(needValue) fun(123)
关键字参数:
在调用函数的时候,可以指定关键字,此时可以不需要管函数的参数顺序。
def fun(needValue): print(needValue) fun(needValue = 123)
默认参数:
如果定义函数的时候,参数是设置为默认的形式,在调用函数的时候,参数可以不需要填写。
def fun(needValue=123): print(needValue) fun()
不定长参数:
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:
*参数 表示以元组(tuple)的形式导入
第一个参数为可选参数
def functionname([formal_args,] *var_args_tuple ):
“函数_文档字符串”
function_suite
return [expression]
def fun(str,*args): #传两个参数,第一个是一个值的,第二个是一个元组 print(str,args) fun(‘kyd‘,‘a‘,‘b‘,‘c‘) 结果: kyd (‘a‘, ‘b‘, ‘c‘)
def fun(str,*args): #传两个参数,第一个是一个值的,第二个是一个元组 print(str,args) fun(‘str‘) #只传第一个参数,第二个参数不传 结果: kyd () 得到结果是一个空元组
def fun(*args): #只定义多参数的元祖 print(args) fun(1,2,3) 结果: (1,2,3)
**args 不定长参数可以以字典的形式,基本语法:
def functionname([formal_args,] **var_args_dict ):
“函数_文档字符串”
function_suite
return [expression]
def fun(str,**args): print(str) print((args)) fun(‘kyd‘,a=1,b=2,c=3) #注意调用函数的时候,字典的键值对以=分割 结果: kyd {‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
原文:https://blog.csdn.net/qq_28779071/article/details/89819807
标签:https 声明 文档 nbsp 传参数 调用函数 number === ber
原文地址:https://www.cnblogs.com/qbdj/p/10855865.html