python3基础篇04(函数1基本规则)

函数

 

基本规则

函数的用法:
函数名()
函数的作用:对特定的一些功能进行封装,提高代码的重用率,进而提升开发的效率


函数的定义:
格式:
def  函数名():
    # 函数体

    
函数名的命名规范:
可以由数字,字母下划线组成,并且不能用数字开头
不能使用python中的关键字

函数命名的风格:
单词之间下划线隔开(python中函数命名更推荐这种风格)
大驼峰
小驼峰

函数执行之后,结果有没有数据是根据函数的返回值来决定的
函数的返回值:return
详细使用规则:https://www.runoob.com/python3/python3-function.html

语法

#定义一个函数
def hello() :
    print("Hello World!")

hello() #函数调用直接使用 函数名.()




# 自定义一个打印三角形的函数
def func():
    for i in range(1, 6):
        # print(i)
        # 内层循环,根据行数打印该列的数据,第1行,打印1,第二行,打印1,2 第三行,打印1,2,3,...)
        for j in range(1, i + 1):
            print('{} '.format(j), end='')
        print('')
func()

 

结果:

函数的返回值:
return的作用:结束函数的运行
    只要函数中执行到return,就直接返回内容,跳出函数体

#函数的返回值是由return来决定的,return后面写什么,函数的返回值就是什么。
def func():
    print('python666')
    # return "python24期666"
    return [666, 999, 555]
    # print("99999999999999999999")

res = func()
print(res)




#函数中没有return:函数的返回值默认位 None

def func():
    print('python666')

res =func()
print(res)




#return 后面没有任何内容,返回值也是None
def func():
    print('python666')
    return   #返回值也是None

res =func()
print(res)

#补充:return函数要返回多个数据:再return后面 每个数据之间用逗号隔开,调用函数之后接收到的是个元组形式的数据

结果:

函数的参数

 

#形参和实参:
#定义的参数称为:形参
#调用实际的传递的为:实参

# 可写函数说明
def printme(str):  #str为形参
    "打印任何传入的字符串"
    print(str)
    return


# 调用 printme 函数,不加参数会报错
printme(1)  #调用的参数为实参
#printme() #不加参数会报错

结果:

 

#调用函数的时候,参数传递的两种方式
#位置参数:通过位置传递参数(按顺序传递,第一个实参,传个第一形参。。。。)
#关键字传参:通过参数名指定传给某个参数(传参的时候,不要注意参数的位置关系)

def number_add(a, b, d):
    """功能:完成两个数相加,返回相加之后的结果"""
    print(a)
    print(b)
    print(d)
    c = a + b
    return c


# 位置传参
res1 = number_add(99,1,2)
print(res1) #打印出 对应a,b,d的还如参数,并打印return返回的c的值

print("*"*10)
# 关键字传参
res2 = number_add(d=999,b=99, a=88)
print(res2) #打印出 对应a,b,d的还如参数,并打印return返回的c的值

结果:

 

参数定义的三种形式:

#必需参数(必备参数):直接写个参数名
#    定义了几个,就要传几个,不能多也不少。
def number_add(a, b, d):
    """功能:完成两个数相加,返回相加之后的结果"""
    print(a)
    print(b)
    print(d)
    c = a + b
    return c

res = number_add(1,2,3)#必需参数
print(res)

#默认参数(缺省参数):定义的时候给参数设置一个默认值
#   定义的默认参数,调用时可以传值,也可以不传(不传使用默认值,传了就使用传递的=值)
def func(a, b, c=99):#c为默认参数
    print(a)
    print(b)
    print(c)
    return c

func(11, 33)


#不定长参数(动态参数,可变参数):
#    *args:定义参数的时候参数名前面加一个*(通常定义为*args),可以接收0个或多个位置传参,
#          保存位一个元组。
    
#    **kwargs: 定义参数的时候参数名前面加一个**(通常定义为**kwargs),
#    可以接收0个或多个关键字传参,保存为一个字典。

def func(*args, **kwargs):
    print(type(args),args)#可以接收0个或多个位置传参,保存位一个元组。
    print(type(kwargs),kwargs)#可以接收0个或多个关键字传参,保存为一个字典。

func(1,2,3) #调用函数按位置传,**kwarges为空字典

print("*"*10)
func(a=11, b=22, c=33,d=44) #调用函数按关键字传,*args为空元组

结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值