python函数初识

时间:2024-01-23 13:27:18

一:为什么要使用函数,函数的定义格式

1,若不是有函数,那么写的代码则会重复使用,而且可读性差。

2,函数的格式def func(x):  def是关键字,必须定义  fun函数名(要有代表意义) (x)形参
func() 函数名+() 代表执行这个函数

3.使用函数时要注意:函数是以功能为导向,函数内部尽量不要有print。

二:函数的五种返回值

1.函数执行到return,就停止,不再执行

2.不写return None

3.return None

4.return 单个值

5.return 多个值 返回后是元组的形式

1.只有return

def my_len():
    l1=["sbc",1,2,3]
    count=0
    for i in l1:
        count+=1
    return
a=my_len()
print(a)           #None

2,return None

def my_len():
    l1=["sbc",1,2,3]
    count=0
    for i in l1:
        count+=1
    return None
a=my_len()
print(a)

3.不写return

def my_len():
    l1=["sbc",1,2,3]
    count=0
    for i in l1:
        count+=1
ret=my_len()
print(ret)

4.return 单个值  返回一个值

def my_len():
    l1=["sbc",1,2,3]
    count=0
    for i in l1:
        count+=1
    return count
a=my_len()
print(a)
5.return 多个值  返回多个值
def my_len():
    l1=["sbc",1,2,3]
    return l1,'a',2,5
ret=my_len()
print(ret)              #结果是个元组(['sbc', 1, 2, 3], 'a', 2, 5)
ret1,ret2,ret3,ret4=my_len()
print(ret1,ret2,ret3,ret4)    #多个接收值,分别赋值['sbc', 1, 2, 3] a 2 5

三:函数的传参方式(实参和形参)
从实参的角度分析,有三种形式:1.按位置(一一对应,少一个都不行) 2.按关键字 3.位置和关键字混合(位置参数一定在前,关键字在后)。

1.1按位置:20,18就是实参,x,y是形参,对应关系即x就是20,y就是18

复制代码
def func(x,y):
    if x>y:
        return True
    else:return False
a=func(20,18)
print(a)

 

复制代码1.2.按关键字:实参给形参传递时,就把18传递给x
def func(x,y):
    pass
func(y=20,x=18)

1.3混合: 关键字参数永远在位置参数后面。
def func(a,b,x,y):
    pass
func(15,25,y=20,x=18)

1.4三元运算法则:如果x>y z=x,否则z=y
def func(x,y):
    z=x if x>y else y
    return z
print(func(20,18))

2.形参:形式参数
从形参的角度分析:有两种形式
1.按位置  2.默认
默认参数:y的值始终是20

def func(x,y=20):
    pass
func(18)

实例:输入姓名,在文本中显示姓名和性别,如果姓名中含有’芳’,性别显示女
def func(name, sex=""):
    with open("D:\\lianxi\\python\\day2\\ban","a",encoding='utf-8') as f:
        f.write('{} {}\n'.format(name,sex))
while True:
       m=input("请输入姓名:")
       if "" in m:
           func(m,sex="")          #结果:小鉿 jerd 男 小芳 女
       else:
            func(m)