码迷,mamicode.com
首页 > 编程语言 > 详细

Python 复习(二)

时间:2019-02-18 19:17:36      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:使用   字典   学习   else   学习过程   mon   今天   默认   nbsp   

  2019-02-18 16:12:57

  时隔半个多月,又将Python复习提上了议程。。。。

  1.   迭代器与生成器

       之前的学习过程中没有理解清楚迭代器的含义及原理,特别是 yield 的用法。今天算是弄明白了。

    迭代器就是生成迭代序列。用 __iter__()类初始化,__next__()类遍历。

    

Ls = [1,2,3]
it = iter(Ls)
while True:
    try:
        print(next(it))
    except StopIteration:
        sys.exit()

      用了yield的函数就被成为生成器。相当于再原来的过程中多出一步:将需要返回的值抛出,然后继续执行

"""
Created on Mon Feb 18 16:21:34 2019

@author: 13746
"""
import sys
        
def fyield(n):
    a,b,count = 0,1,0
    while True:
        if (count>n):
            return
        else:
            yield a
            a,b=b,a+b
            count+=1
f = fyield(10)
while True:
    try:
        print(next(f),end=)
    except StopIteration:
        sys.exit()

  2.   函数

    python的函数与C差不多,不同之处也不少。变量是函数的重要组成部分,变量是没有类型的,实质是指针。

    在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

    在传递的过程中有 可变对象和不可辨对象,类似于C++中的引用和值传递

      参数

      •  必须参数
      • 关键字参数
      • 默认参数
      • 不定长参数 def fun(a,b,c,*vartuple,**vardict) 一个星号表示以元组形式导入,俩个以字典形式导入;星号还可以单独出现,                                                                                                                                                                                 *号后面的参数需要以关键字的形式导入,def f(a,b,*,c) f(1,2,,c=3)            

      匿名函数

        使用lambda创建匿名函数

 

# lambda [arg1,arg2,arg3...] expression
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

 

 

 

            

Python 复习(二)

标签:使用   字典   学习   else   学习过程   mon   今天   默认   nbsp   

原文地址:https://www.cnblogs.com/zero27315/p/10397184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!