python第九天 2018.03.28 函数初始

一、函数

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.将返回值返回给函数的调用者
1 def re1():
2     print(111)
3     print(222)
4     return(77)
5     print(555)
6 re1()#结果是111,222
7 s = re1()
8 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

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

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

1 def re3():
2     return (111)
3 s = re3()
4 print(s)

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

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

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

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


4.函数的传参

  实参角度:

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

def func(a,b,c):
    print(a)
    print(b)
    print(c)
func('sadf',2,3)
 1 #写一个函数,功能比较大写
 2 def max_min(a,b):
 3     if a>b:
 4         return a
 5     else:
 6         return b
 7 print(max_min(4,5))
 8 #三元运算
 9 def max_min2(a,b):
10     return a if a>b else b
11 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)
 1 def infor_entry(username,sex= ''):
 2     with open('namelist',encoding = 'utf-8',mode = 'a')as f:
 3         f.write('{}\t{}\n'.format(username,sex))
 4 
 5 while True:
 6     username = input('姓名:')
 7     if '1'in username:
 8         username = username[1:]
 9         infor_entry(username)
10     else:
11         infor_entry(username,'')

 

猜你喜欢

转载自www.cnblogs.com/jinfanfu/p/8666550.html