python函数初学笔记

一.函数定义

首先函数主要有函数名、参数和返回值(个人感觉可以缺失一部分,比如无返回值)

定义格式如下:

def 函数名(行参(貌似不能缺少,因为一般运算都是传参进行运算)):
    函数语句
    return 返回值(无返回值可以省略)

函数语句仍然需要缩进四个空格

定义一个函数打印两个数的和,可以在函数里面解决,也可以返回一个值进行打印

def er(a,b):
    return a+b
m=er(3,4)
print(m)

下面就是截图运行嘞,er的类型是函数类型

二.函数调用

1.使用位置函数调用函数

简单点来说就是按照顺序输入形参,比如定义一个函数计算两个数的差

def plus(a,b):
    return a-b
a=int(input())
b=int(input())
c=plus(a,b)
print(c)

2.使用关键字调用函数

就是在调用函数的时候说明“关键字”=“实参”,具体例子如下,同样以两数之差为例,如果这样的话与顺序就没有关系了

def Plus(a,b):
    return a-b
c=Plus(b=2,a=3)
print(c)

三.函数默认值

形参中设立默认值,若传参时没有传值,则自动调用默认值,比如下面函数

def pa(name,age=18):
    print('我的名字是:',name)
    print('年龄为:{}岁'.format(age))
pa('阿呆',20)
pa('阿毛')

四.可变参数

1.基于元组的可变参数

输入格式就是函数的形参部分加一个*即可

简单点就是说看起进来形参是个元组,可以囊括多个数据,以输入多个数的和为例

def sum(*number):
    total=0.0
    for number in numbers:
        total+=number
        return total
print(sum(100.0,20.0,30.0))
print(sum(1,2,3,4,5,6,5,7,8))

2.基于字典的可变参数

输入 格式就是函数的形参部分加两个*即可,以带格式输出信息为例

def pr(**into):
    print('----个人信息-----')
    for key,value in into.items():
        print('{0}-{1}'.format(key,value))
pr(name='牛马',age='100',sex='雄')
pr(tname='大牛马',sage='101',sex='雌')

五.作用域

1.局部变量可以覆盖全局变量,但作用范围只在部分区域,在作用域内修改局部变量不会修改全局变量的值。

2.局部变量要升级为全局变量只用在局部变量前面调用global即可

六.函数类型

(这部分鄙人也不清楚,只知道以下两点)

1.一个函数可以作为另一个函数的返回值使用

2.一个函数可以作为另一个函数的参数使用

(具体的后续遇到再补充)

七.几个有趣的函数

1.过滤函数

这玩意儿就和名字一样,可以起到一个筛选的作用,比如说筛选出一组数据中大于一定数值的说有数值,但是调用这个函数的产物需要用列表来承接,例子如下

def f1(x):
    return x>50
data1=[1,6,6,688,9,5,85,65,65,45,54,11,552,5,41]
a=filter(f1,data1)
b=list(a)
print(b)

2.映射函数(map())

简单而言就和数学概念里面的函数概念差不多,对一系列的数据就行同样的操作,大体操作与前面那个函数相同,以给一个容器的数据同时乘以2为例

def f1(x):
    return x*2
data1=[1,6,6,688,9,5,85,65,65,45,54,11,552,5,41]
a=map(f1,data1)
b=list(a)
print(b)

3.lambda函数(匿名函数)

格式:lambda 参数列表:函数体

(这玩意返回结果不能用return函数)

以在书上看到的例题为例

def calc(opr):
    if opr == '+':
        return lambda a,b:(a+b)
    else:
        return lambda a,b:(a-b)
f1=calc('+')
f2=calc('-')
print("10+5={0}".format(f1(10,5)))
print('11-5={0}'.format(f2(11,5)))

这个笔记具体的还有好多不足,希望大家指正批评

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值