python函数 一

函数

一。函数的初识

比如:我们测量一个字符串‘asdfghj’的长度,但是不让用len()的方法

s = 'asdfghj'
count = 0
for i in s:
    count += 1
print(count)

要是测量其他的字符串的长度就要再次编写这些相似的代码,重复性强,可读性差,此时我们可以引入函数概念。

二。函数的定义与调用

def my_len():     # def 关键字,定义函数   空格   函数名(变量)
    s = 'asdfghj'
    count = 0
    for i in s:
        count += 1
    print(count)
my_len()          #执行此函数

三。函数的返回值(return)

return

1.遇到return,此函数结束,不再继续运行(类似于循环中的break)

2.return有四种情况

1)不写return               返回  None

def my_len():
    s = 'asdfghj'
    count = 0
    for i in s:
        count += 1
ret = my_len()
print(ret)                  #输出结果 None

2)return None            返回  None

def my_len():
    s = 'asdfghj'
    count = 0
    for i in s:
        count += 1
    return None
ret = my_len()
print(ret)                  #输出结果None

3)return 一个值          返回  此单个值

def my_len():
    s = 'asdfghj'
    count = 0
    for i in s:
        count += 1
    return count
ret = my_len()
print(ret)            #输出结果:7

4)return 多个值          返回  将多个值包在元组内,返回给调用者此元组

def my_len():
    '''返回多个值'''
    return count,1,3,'alex',8
ret = my_len()
print(ret)            #输出结果:(7, 1, 3, 'alex', 8)
# 用多个值接收
def my_len():
    return  1,['a','b'],3,4

ret1,ret2,ret3,ret4 = my_len()
print(ret1,ret2,ret3,ret4)
# 输出结果:1 ['a', 'b'] 3 4

 

四。参数

实参与形参

参数还有分别:

我们调用函数时传递的这个“hello world”被称为实际参数,因为这个是实际的要交给函数的内容,简称实参。

定义函数时的s1,只是一个变量的名字,被称为形式参数,因为在定义函数的时候它只是一个形式,表示这里有一个参数,简称形参。 

传递多个参数

参数可以传递多个,多个参数之间用逗号分割。

1.实参

从实参的角度:
1)按位置传参

def my_line(x,y):
    '此时x = 5 , y = 10 '
    max =  x if x > y else y
    return max
#调用
ma = my_line(5,10)
print(ma)              #输出结果:10

2)按关键字传参

def my_len(x,y):
    #x = 5 ,y = 20
    max = x if x > y else y
    return max
#调用
ma = my_len(y=20,x=5)
print(ma)              #输出结果:20

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

def my_len(x,y):
    #x = 5,y = 15
    max = x if x > y else y
    return max
#调用
ma = my_len(5,y=15)
print(ma)             #输出结果:20

2.形参

1)位置参数

def mymax(x,y):
    #此时x=10,y=20
    the_max = x if x > y else y
    return the_max

ma = mymax(10,20)
print(ma)             #输出结果:20

2)默认参数

def fa(name,sex=''):
    with open('name_list','a',encoding='utf-8') as f:
        f.write('{},{}\n'.format(name,sex))
while 1:
    name = input('请输入姓名:')
    if '' in name:
        sex = input('请输入性别:')
        fa(name,sex)
    else:
        fa(name)

 

posted @ 2018-01-31 20:27  忆殇★伤忆  阅读(187)  评论(0编辑  收藏  举报