博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数相关内容
阅读量:5764 次
发布时间:2019-06-18

本文共 2686 字,大约阅读时间需要 8 分钟。

定义一个函数:

1 def sayhi():                          #定义函数2     print('hello I am nobody')3 sayhi()          #调用函数

函数参数的定义:

1 def sayhi(name):        #定义函数时,括号里写的叫形参2     print('hello,',name, '.my name is black girl,','约吗?-_-')3 sayhi('Alex')           #调用函数时,括号里写的叫实参。4 5 def cal(x,y):6     res=x*y7     print(res)           #调用时,实参传递给形参,一一对应8 cal(3,5)                 #3传给x,5传给y

默认参数:

1 def stu_info(name,age,course,country='china'):    #把china作为country的默认参数,默认参数必须写在最后 2     print('*******学生信息*******')3     print('姓名:',name)4     print('年龄:',age)5     print('国籍:',country)6     print('课程:',course)7 stu_info('王铁锤',23,'python')      #不传国籍,则默认为china8 stu_info('杨叫春',27, '高数')9 stu_info('山本一狼',35, '量化金融','日本')

 关键参数:

1 def stu_info(name,age,course,country='china'):2     print('*******学生信息*******')3     print('姓名:',name)4     print('年龄:',age)5     print('国籍:',country)6     print('课程:',course)7 stu_info('王铁锤',course='python',age=23)     #使用关键参数

 非固定参数:把报警信息传送给运维人员

 1.形参前面加星号

 方式一:

def send_alert(msg,*args):     print(msg,args)send_alert('有黑客侵入','Alex','岳云鹏','铁锤')

  方式二:调用时自己打包传给形参

1 def send_alert(msg,*args):2     print(msg,args)3 send_alert('有黑客侵入',*['Alex','岳云鹏','铁锤'])    #以列表或元组的形式自己打包,前面要加*

 2.形参加**,以字典形式接收

 方式一:

1 def send_alert(msg,**kwargs):2     print(msg,kwargs)3 send_alert('有黑客侵入',name='ji',age=23)    #以列表或元组的形式自己打包,前面要加*

 方式二:

1 def send_alert(msg,**kwargs):2     print(msg,kwargs)3 d={
'name': 'ji', 'age': 23}4 send_alert('有黑客侵入',**d)

 返回值:

1 def f(): 2     print('OK') 3     return 5        #一个返回值 4 a=f() 5 print(a) 6  7 def f(): 8     print('OK') 9     return 5,'ko',[1,5,'p']     #对个返回值会被打包成一个元组10 a=f()11 print(a)

 作用域

count=10          #全局变量def outer():    count = 5    #E层局部变量    print(count)    def us():        count=7    #local层局部变量        print(count)    us()outer()print(count)

 高阶函数:

def sq(n):    return n**2print(sq(7))def foo(a,b,f):    return f(a)+f(b)print(foo(2,3,sq))       #把函数名sq作为实参传给形参f,则foo()就是一个高阶函数

 函数名作返回值:

def outer():    x=10    def inner():        print(x)    return inner    #inner变量装的是inner()函数的地址,把它返回给了outer()outer()()           #调用inner()函数print(outer())     #outer()指向inner()函数print(outer)       #outer变量装的是outer()函数的地址

 递归函数

 实现求n的阶乘:

def fac(n):    ret=1    for i in range(1,n+1):        ret=ret*i    return retprint(fac(5))

 用递归实现求n的阶乘:

def fac(n):    if n==1:        #递归结束的条件        return 1    return n*fac(n-1)print(fac(5))

 用递归输出Fibonacci数列:

def fibo(n):    if n<=1:        #递归结束的条件        return n    return fibo(n-1)+fibo(n-2)for i in range(8):    print(fibo(i))print(fibo(8))

 用内置函数reduce和lambda实现求阶乘:

from functools import reduceprint(reduce(lambda x,y : x*y, range(1,6)))

 

 

转载于:https://www.cnblogs.com/Finance-IT-gao/p/10367245.html

你可能感兴趣的文章
微信小程序之wx.navigateback往回携带参数
查看>>
陌陌和请吃饭之类的应用,你要是能玩转,那就厉害了
查看>>
递归的运行机制简单理解
查看>>
汉字转阿斯克马值
查看>>
Java 栈与堆简介
查看>>
【supervisord】部署单进程服务的利器
查看>>
zabbix oracle监控插件orabbix部署安装
查看>>
python3 通过qq 服务器 发送邮件
查看>>
部署Replica Sets及查看相关配置
查看>>
倒序显示数组(从右往左)
查看>>
文献综述二:UML技术在行业资源平台系统建模中的应用
查看>>
Swift 学习 用 swift 调用 oc
查看>>
第三章 Python 的容器: 列表、元组、字典与集合
查看>>
微信小程序开发 -- 点击右上角实现转发功能
查看>>
[转载]ASP.NET MVC Music Store教程(1):概述和新项目
查看>>
js函数大全
查看>>
Mongodb启动命令mongod参数说明
查看>>
TCP&UDP压力测试工具
查看>>
Android 最简单的自定义Dialog之一
查看>>
磨刀不误砍柴 - 配置适合工作学习的桌面环境
查看>>