python_day5

初识函数

# 模块化编程

# 模块化编程
# 模块化编程指把程序进行封装(函数封装、面向对象、文件

'''
函数
什么是函数?
function ==>函数,功能
函数就是一个具有特定功能的代码块

函数的作用?
函数就是把代码进行封装,以提高代码的重用性,提高开发效率,并且降低了后期的维护成本

# 函数的定义和使用
#  定义函数[基本结构]
def 函数名 ([参数列表]):
    当前函数的具体功能代码
    当前函数的具体功能代码
    当前函数的具体功能代码
    ....

# 函数封装完并不会执行,只是把函数定义了而已
# 如果想使用定义的函数,那么需要用语法来进行函数的调用

# 函数的调用
函数名()
'''

# 不能在函数定义前调用函数

def time():
    print('long')
    print('time')
    print('no')
    print('see')

# 调用函数
time()

'''
1.函数定义猴,不调用不执行
2.不能在函数定义前调用函数
3.函数的调用不受次数影响
4.函数的命名要遵守命名规范
    字母数字下划线,不能以数字开头
    严格区分大小写,不能使用关键字
    命名最好有意义,且不要使用中文
5.函数名不要冲突,冲突后会被覆盖
6.缩进格式极为重要!
'''

关于函数的参数

'''
函数在定义时,可以在参数列表的位置定义形参
如果函数有形参,那么在调用时必须传递参数(实参)
实参将传递给形参的过程,本质上就是变量的赋值操作
'''

# 带有参数的函数,如何定义

# 在定义函数时,在小括号内可以定义形参(形式上的参数)
def hello(suyi):
    print(f'There is a crack in everything,that is how the light gets in.{suyi}')

# 调用带有形参的函数时,需要传递参数(实参)
# hello('苏怡')

# hello() #TypeError: hello() missing 1 required positional argument: 'suyi'

# 带有多个参数的函数
def love(x,y):
    print(f'{x} love  {y}')

love('苏怡','小金')

# 函数定义了几个参数,那么在调用时必须指定顺序进行参数的传递

函数参数的类型

# 普通参数、默认参数、收集参数、命名关键字参数、关键字参数

# 普通参数就是位置参数,也就是顺序参数,也是必须传递的参数

# def love(x,y):
#     print(x,y)

# love(2,3)

# 要求有三个参数,x、y、z,至少要传递两个
# 那么这时最后一个参数就是默认参数,但是默认参数,需要在定义形参时,指定默认值
def fun(x,y,z = 100):
    print(x,y,z)

fun(1,2,3)

# 调用时传递了默认的参数,那么里面使用的就是传递的实参
# fun(2,3,4)
# 调用时如果没有传递默认参数,那么就会使用默认值
fun(4,5)



# 收集参数
# 定义一个形参,专门收集多余的实参
# 或者理解为,不确定需要传递多少个实参,直接用一个形参来接收
# 在定义函数时,如果需要收集参数,那么这个形参前面需要加一个 *号,例如 *args
# 在接受的多余的参数,会储存在args中,形成一个元组

def func(w='+',*args):
    print(type(args))
    if w == '+':
        print('加法运算:',args)
    else:
        print ('减法运算:',args)

func('+',1,2,3)



# 命名关键字参数
'''
1.关键字参数定义在<收集参数>后面
2.关键字参数必须通过形参的名字来进行传递
3.在调用普通函数时,需要按照顺序进行参数的传递,也可以把普通函数的普通参数按照关键字参数进行传递
'''

def see(a,b,c=3,*args,name):
    print(a,b,c)
    print(*args)
    print(name)

see(1,3,4,1,2,3,4,name="amdin")




# 关键字参数收集

def he(e,f,g=2,*args,name,age,**kwargs):
    print(e,f,g)
    print(args)     #普通收集参数,会把多余的参数收集成为 元组
    print(name,age)
    print(kwargs)   #关键字参数收集,会把多余的关键字参数收集为 字典

he(1,2,3,4,6,6,name='苏怡',age='19',sex='boy')

# 注意形参声明的位置
# 普通参数、默认参数、收集参数、关键字参数、关键字收集参数

'''
极少情况下会出现上面五种形参
一般情况下:普通参数,收集参数,关键字收集参数
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值