【Python学习Day9】

函数

  • 一、函数是什么
  • 二、函数的分类
    • 1.内置函数
    • 2.标准库函数
    • 3.第三方库函数
    • 4.自定义函数
  • 三、自定义函数
  • 四、lambda表达式与匿名函数
  • 五、eval()函数
  • 六、嵌套函数

一、函数是什么?

1.一个程序由一个个任务组成,函数代表一个任务或者功能

2.函数是代码复用的通用机制

二、函数的分类

1.内置函数:str()、list()、len()等函数

2.标准库函数:通过import语句导入库,使用其中定义的函数

3.第三方库函数

4.用户自定义函数

三、自定义函数

1.语法:

def 函数名 ([参数列表]):

"'文档字符串"'  #函数的注释

函数体/若干语句

例:

def test1 ():
    print("***********")
for x in range(5):
    test1()

运行结果:

***********
***********
***********
***********
***********

2.注意:1、圆括号内有多个形参用逗号隔开

           2、形参不用声明类型,也不用指定函数返回值类型

           3、无参数,也必须保留圆括号

           4、实参必须与形参一一对应

3.利用help(函数名.__doc__)可以打印函数的文档字符串

def print_star(n):
    '''根据输入的n,,打印星号'''
    prinnt("*"*n)
help(print_star.__doc__)

No Python documentation found for '根据输入的n,,打印星号'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.

4.自定义函数中return语句结束函数,并返回值,如果不包含return语句,返回None值

def print_ave(a,b):
    return(a+b)/2
print(print_ave(3,5))

4.0

四、lambda表达式与匿名函数

1.lambda表达式可以用来声明匿名函数,只允许包含一个表达式

语法:

lambda arg1,arg2,arg3...:<表达式>

f=lambda a,b,c:a+b+c
print(f)
print(f(1,2,3))

lambda在列表中的用法

g=[lambda a:a*2,lambda b:b*3,lambda c:c*4]
print(g[0](6))

结果为12

五、eval()函数

1.功能:将字符串str当成有效表达式求值并返回结果

2.语法:

eval(source[,globals[,locals]])其中source是Python表达式,globals是字典,locals是任意映射对象

a=10
b=30
dict1=dict(a=100,b=300)
c=eval("a+b")
d=eval("a+b",dict1)
print(c)
print(d)

结果:

40
400

六、嵌套函数(封装隐藏,避免重复代码)

1.语法:

def f1():

    函数体

    def f2():

        函数体

    f2()

f1()

2.打印姓名练习

原代码

def printChineseName(name,familyname):
    print("{0},{1}".format(familyname,name))
def printEnglishName(name,familyname):
    print("{0},{1}".format(name,familyname))

利用嵌套函数

def printName(isChinese,name,familyname):
    def inner_print(a,b):
        print("{0},{1}".format(a,b))
    if isChinese:
        inner_print(familyname,name)
    else:
        inner_print(name,familyname)
printName(True,"三岁","易")
printName(False,"Lily","Brown")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

In my opinion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值