首页 > 编程语言 > 详细

Python函数,迭代

时间:2020-04-22 10:11:45      阅读:93      评论:0      收藏:0      [点我收藏+]

一、 函数

1. 函数的嵌套

 1 def huangwei():  # 函数不能里面执行不执行外面
 2     name = huang
 3     print(name)
 4 
 5     def liuyang():
 6         name = liuyang
 7         print(name)
 8 
 9         def nulige():
10             name = fahsfha
11             print(name)
12 
13         print(name)
14         nulige()
15         return nulige
16 
17     liuyang()
18     print(name)
19     return liuyang

 

(1) 仅仅是 huangwei()   顺序为1-2-3-17-5-6-7-13-14-9-10-11-15-18-19

(2) huangwei() = liuyang    所以要运行liuyang    应为  huangwei()()

(3)huangwei()() = nulige    所以要运行努力哥应为  huangwei()()()

2. 函数的自循环

 1 person_list = [a, b, v, d, vd]
 2 
 3 def ask_way(person_list):
 4     print(- * 60)
 5     if person_list == 0:
 6         return 根本没人知道
 7     person = person_list.pop(0)
 8     if person == d:
 9         return 那条路是。。。。。
10     print(hi %s ,你知道xx 路吗 % person)
11     print(%s 我不知道 我帮你问问 %s % (person, person_list))
12     import time
13     time.sleep(0)  # time 要先import
14     res = ask_way(person_list)
15     return res
16 """------------------------------------------------------------
17 hi a ,你知道xx 路吗
18 a 我不知道 我帮你问问 [‘b‘, ‘v‘, ‘d‘, ‘vd‘]
19 ------------------------------------------------------------
20 hi b ,你知道xx 路吗
21 b 我不知道 我帮你问问 [‘v‘, ‘d‘, ‘vd‘]
22 ------------------------------------------------------------
23 hi v ,你知道xx 路吗
24 v 我不知道 我帮你问问 [‘d‘, ‘vd‘]
25 ------------------------------------------------------------
26 那条路是。。。。。
27 """

3. lambda 函数

(1)匿名函数 一般和其他函数联合使用lambda x:x+1:         x 为形参,x+1是返回值 

  (2)函数式编程,函数体内不应该有任何的赋值操作 ,没有变量的定义

 

二、迭代

y = x.__iter__()  将x 转换为可迭代对象,可以转换为迭代器

y.__next__()/ next(y)  进行迭代每一项元素的输出  ,一行代码输出一个,  如果太多了超出范围 会报错

yield    函数的yield 相当于return  但是return 只能执行一次, yield 可以执行多次

def test():
    yield S  # yield 相当于return
    yield 1
    yield 2
    yield 3  # yield 可以执行多次 ,但是return 只能执行一次
g = test()
print(g)
print((g.__next__()))
print((g.__next__()))
print((g.__next__()))
print((g.__next__()))
# 结果
# <generator object test at 0x10e240f20>
#{1, 2, 3}
#1
#2
#3

 

Python函数,迭代

原文:https://www.cnblogs.com/adelinebao/p/12749458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!