python:函数初始

时间:2023-03-09 14:47:58
python:函数初始

一、函数

1.函数初始:函数就是封装一个功能

2.函数名,函数体,关键字,函数的返回值

   def  关键字,定义一个函数
my_len 函数名书写规则和变量一样
def 与函数名中间一个空格
函数名():加冒号
函数体
li= [1,2,'asd']
def my_lens():
count = 0
for i in li:
count += 1
print(count)
my_lens()
3.函数的返回值
写函数不要在函数中写print()
return
1.在函数中,遇到return结束函数 2.将返回值返回给函数的调用者
 def re1():
print(111)
print(222)
return(77)
print(555)
re1()#结果是111,222
s = re1()
print(s)#s=111,222, 77

    1.无return


def re():
print(111)
print(222)
print(333)
re()

def re2():
print('hah')
return(None)
re2()
s= re2()#s的值是None
print(re2)

 

    2.return None

 def re3():
print(121)
print(re3())#会打印111也会输出none

    3.return 一个值      该值是什莫就直接返回给函数的调用者 函数名()

 def re3():
return (111)
s = re3()
print(s)

    4.return多个值    将多个值放在元祖里然后返回给函数的调用者


 def re4():
return 1,2,3,
return(2220)
return(3330)
s= re4()
print(s)

如果有三个参数对应return也有三个值,return的三个值会自动分别赋值给三个对应参数


 def re5():
print(111)
print(222)
print(333)
return(1,2,3,)
a,b,c = re5()#a,b,c对应return的三个值会自动分别赋值给abc
print(a)
print(b)
print(a,b,c)

 

4.函数的传参

  实参角度:

    1,位置传参。按顺序,一一对应

def func(a,b,c):
print(a)
print(b)
print(c)
func('sadf',2,3)
 #写一个函数,功能比较大写
def max_min(a,b):
if a>b:
return a
else:
return b
print(max_min(4,5))
#三元运算
def max_min2(a,b):
return a if a>b else b
print(max_min2(8,9))

       2.关键字传参,不按顺序,一一对应

def max_min3(a,b):
return a if a>b else b
print(max_min3(b= 100,a=200))
print(max_min3(100,b=200))
print(max(min3(a=100,200)))#报错

    3.混合传参,关键字参数永远在位置参数后面

def func1(a,b,c,e):
print(a)
print(b)
print(c)
print(e)
print(func1(1,2,e= 10,c= 200))

  形参角度

    1.位置传参。按顺序,一一对应

    2.默认参数。传参则覆盖,不传则默认,默认参数永远在位置参数后面

def func(a,b= 666):
print(a,b) func(1,2)
func(1,777)
func(1)
print(s)
 def infor_entry(username,sex= '男'):
with open('namelist',encoding = 'utf-8',mode = 'a')as f:
f.write('{}\t{}\n'.format(username,sex)) while True:
username = input('姓名:')
if ''in username:
username = username[1:]
infor_entry(username)
else:
infor_entry(username,'女')