PYthon函数

函数

使用函数的作用:

1. 降低编程难度

将一个复杂的大问题分解成一系列小问题,冉家将小问题划分为更小的问题,当问题细化为足够简单时,就可以分而治之,各个小问题解决了,大问题就迎刃而解了。

2. 代码重用

函数是一段可以重复多次调用的代码,提高效率

 

函数定义

def 函数名(参数1,参数2):

 

函数名可以以字母,数字或者下划线组成的字符串,但是不能以数字开头

 

当函数创建完成后,需要对函数调用

函数调用格式:

函数名(实参1,实参2)

 

实例:

def describe_pet(animal_type,pet_name):
print("\nI have a " + animal_type + '.')
print("My " + animal_type + "'s name is " + pet_name.title() + '.')

describe_pet('hamster','harry') ##调用函数describe_pet


执行结果:

I have a hamster.
My hamster's name is Harry.



形式参数和实际参数

定义函数时,函数名后面的括号变量称为形式参数
调用函数时,函数名后面的括号变量称为实际参数


 

函数多类型传值


n [1]: def fun(x,y,z):    定义函数
...: return x + y + z
...:

元组类型
In [2]: t1 = (2,3,4)

In [3]: fun(*t1)     ###将元组的值传到函数的参数,需要加上*
Out[3]: 9


字典类型
In [4]: dic={'x':1,'y':3,'z':5}

In [6]: fun(**dic)    ###将字典的值传到函数的参数,需要加上**
Out[6]: 9









函数返回值
函数的返回使用return语句,return后面可以是变量或者表达式

1.返回简单值
实例:

def get_formatted_name(first_name,last_name):
       full_name = first_name + ' ' + last_name
       return full_name.title()      ##返回full_name变量

musician = get_formatted_name('jimi','hendrix')      ##调用函数并传递实参
print(musician)

 

执行结果:
Jimi Hendrix

 

 

匿名函数

 

lambda函数时一种快速定义单行的最小函数,可以用在任何需要函数地方

格式:

lambda 变量1,变量2... :表达式

实例:

def fun(x,y):

     return x * y

fun(2,3)

 

使用lambda函数  

r = lambda x,y: x * y

r(2,3)

 

生成器(generator函数)

生成器的作用是一次产生一个数据项,并把数据项输出,generator函数可以在for循环中遍历,generator函数每次返回一个数据项的特性,使得迭代器的性能更佳

格式:              

def 函数名(参数):
     yield 表达式

 

实例:

def func(n):
   for i in range(n):
   yield i

for i in func(3):    ##生成器可以通过for循环遍历
print(i)

r = func(3)
print(r.__next__())     ##使用next()输出
print(r.__next__())
print(r.__next__())
print(r.__next__())

 

执行结果
0    ##For循环遍历的结果
1
2
0   ##next函数结果
1
2
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/2018/day06/1.py", line 18, in <module>
print(r.__next__())
StopIteration
### 当n的值为3时,生成3个数字后,已经没有数据可生成,所以抛出异常StopIteration

                     












 

转载于:https://www.cnblogs.com/kubernets/p/8850320.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值