<h1 style=‘color:#2daebf;‘>一、函数的定义与调用</h1>‘‘‘定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个‘:‘ def 是固定的,不能变,它就是定义函数的关键字 函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。 虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能 括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。调用:就是 函数名() 要记得加上括号。‘‘‘# return 返回一个值# def count_len(s):# length = 0# for i in s:# length+=1# return length## s = ‘abcdefg‘# print(count_len(s)) # 函数的返回值 return# 没有返回值,不写return的情况下,会默认返回一个None # 只写return,后面不写其它内容,也会返回None,一旦遇到return,结束整个函数# def fun():# return# print(112)## print(fun()) # 返回多个值,可以返回多个,任意数据类型的值# 返回的多个值会以元祖形式返回,也可用多个值来接收# def fun():# return 1,[‘a‘,2],{‘namet‘:‘alex‘},(5,6)## print(fun()) # 返回多个值用一个变量接收# def get():# return ‘a‘,[2,1],{‘name‘:‘alex‘}## s = get()# print(s) # 返回多个值用多个变量接收# def get():# return ‘a‘,[2,1],{‘name‘:‘alex‘}## a,b,c = get()# print(a,b,c) # 函数的参数# 实参与形参# 实参:调用函数时传递的‘alex‘叫做实际参数,因为这个是实际要交给函数的内容,简称实参# 形参:定义函数是的name,只是一个变量的名字,被称为形式参数,因为在定义函数时它只是一个形式# 表示这里有一个参数,简称形参# 传递多个参数:参数可以传递多个,多个参数之间用逗号隔开# def get_info(name):# return name# get_info(‘alex‘) # 位置参数# 1、站在实参角度,按照位置参数# def func(x,y):# if x>y:# return x# else:# return y## print(func(10,20)) # 2、按照关键字传值# def func(x,y):# if x>y:# return x# else:# return y## print(func(y=2,x=3)) # 3、位置、关键字形式混着用# def func(x,y):# if x>y:# return x# else:# return y## print(func(2,y=3)) # 正确用法# 问题一:位置参数必须在关键字参数的前面# 问题二:对于一个形参只能赋值一次 # 站在形参角度:位置参数必须传值# def fun(x):# return# print(fun())# TypeError: fun() missing 1 required positional argument: ‘x‘ # 默认参数# 1、正常使用# 使用方法# 为什要有默认参数:将变化比较小的值设置成默认值 # 2、默认参数的定义# def get_info(name,sex=‘male‘):# 打印学生信息函数,性别默认为男性# return name,sex# print(get_info(‘alex‘))# print(get_info(‘taibai‘,‘female‘)) # 3、参数陷进:默认参数是一个可变数据类型# def default_param(a,l=[]):# l.append(a)# return l# print(default_param(‘a‘))# print(default_param(‘b‘)) # 动态参数‘‘‘动态参数:也叫不定长传参,就是你需要传给函数的参数很多,不定个数,那这种情况下,你就用*args, **kwargs接收,args是元祖形式,接收除去键值对以外的参数,kwargs接收的只是键值对参数 并保存在字典中‘‘‘# def trans_param(*args,**kwargs):# print(args,type(args))# print(kwargs,type(kwargs))# # trans_param(‘a‘,1,[2,3],(‘c‘,‘d‘),{‘name‘:‘alex‘},age=‘male‘,a=123)
原文地址:https://www.cnblogs.com/echo-up/p/9484137.html
时间: 2024-10-25 13:15:05