python基础学习Day9 函数的初识,实参、形参、

1、函数

def my_len():
l = [,,,,,,]
count =
for i in l:
count +=
print(count)
my_len()

定义的my_len()方法时,其结果也可以直接获取。

这里,我们将my_len()称为执行函数,其组成是由 :函数名()

函数的优点:

1. 函数可以减少代码的重复性

2. 函数可以增强代码的阅读性

2、return的作用

def func1():
a =
b =
c = a + b
return c
print(func1())

1. 函数中如果遇到return,则直接结束函数

2. 给函数中的执行者(函数名():整体是函数的执行者)返回值

3. return 返回单个值,即原封不动的返回(是什么类型,就返回什么类型值)

4. return 返回多个值,即返回一个元组,所有值都是元组的一个元素

注:在工作中,通常函数尽量不要使用print。

def func_1():
a =
b =
c = a + b
d = [,,]
e = (,,)
f = 'Chris'
return c,d,e,f
print(func_1()) # (, [, , ], (, , ), 'Chris')

3、实参

3.1位置实参    按照顺序,一一对应

def func1(x,y):
print(x,y)
print(,)

3.2 关键字参数     可以不按照舒服,但是要一一对应

def func2 (x,y):
return x + y
print(func2(y = ,x = ))

3.3 混合参数     可以不按照顺序,但是要一一对应

def func1(a,b,x,y):
return a + b + x + y
print(func1(,,y= ,x= )) def func1(a,b,n,x,y):
return a + b + x + y
name = 'Chris'
print(func1( , , name, y= , x= )) # name是位置参数

4、形参

4.1   位置参数:按照顺序一一对应

def func(x,y,z):
print(x,y,z)
func(,,)

4.2   默认参数:给其传参,将默认参数覆盖,不传值时不报错,使用默认值

def func1(x,y,a= ):
print(x,y,a)
func1(,) # 不传参,则为默认值 (1 2 666 )
func1(,,) # 传参,则将默认值覆盖 (1 2 256)
应用场合:不机场改变参数,但是一直再用
不断输入个人信息,如姓名与性别。并将信息写入文件中
方法一:
while :
name,sex = input('请输入姓名与性别,中间用逗号分隔:').strip().replace(',',',').split(',')
if name.upper() == 'Q':
break
with open('a1.txt',encoding='utf-8',mode= 'a') as f1:
f1.write('{}|{}\n'.format(name,sex))

方法二:

def namelist(name,sex = '男'):
with open('a1.txt',encoding='utf-8',mode='a') as f1:
f1.write('{}|{}\n'.format(name,sex))
while :
name,sex = input('请输入姓名,性别').strip().replace(',',',').split(',')
if name.upper() == 'Q':
break
if sex.strip():
namelist(name ,sex)
else:
namelist(name)
namelist(name,sex)
默认参数的陷阱
默认参数若是可变数据类型(如:list),但他始终使用的是一个,即默认参数公用一个内存地址。
def func1(x,l1=[]):
l1.append(x)
return l1
ret = func1()
print(ret,id(ret)) # []
ret2 = func1()
print(ret2,id(ret2)) # [, ]
上一篇:linux查看当前文件夹的大小


下一篇:Linux 安装配置Subversion edge