zoukankan      html  css  js  c++  java
  • python学习之路 第四天

    1、函数动态参数:

         #!/usr/bin/env python3
         def show(*sss,**eee):
             print(sss,type(sss))
             print(eee,type(eee))
         show(11,22,33,44,a = 88,b = 9,)

         运行结果:(11, 22, 33, 44) <class 'tuple'>
                       {'a': 88, 'b': 9} <class 'dict'>

         注:一个*表示元祖,2个*表示字典,一个*和2个*的参数同时存在,*sss和**eee位置不能换,一个*的必须在前面,参数上传也要按顺序。

    2、lambda表达式,简单函数的表示方式。

    3、chr(65)  'A'  ,    ord('A')  65  ,random.randint(1,10) 生成1-10之间随机数字,可用于验证码。

    4、filter 过滤作用。

    5、map 对序列中每个元素进行操作。

    6、json.loads() 字符串类似字典类型的转换为字典,字符串是双引号。

    7、迭代器,__next__查询数据。

    8、生成器 generator 一个函数调用返回一个迭代器,函数中包含yield语法。

    9、#!/usr/bin/env python3

         def cash_money(amount):

              while amount > 0:

                  amount -=100

                  yield 100

                  print("又来取钱啦!")

         atm = cash_money(500)

         print(atm.__next__())

         print(atm.__next__())

         print(atm.__next__())

         运行结果: 100

                        又来取钱啦!

                        100

                        又来取钱啦!

                        100

    10、#!/usr/bin/env python3

          import time

          def consumer(name):

              print("%s 准备吃包子啦!" %name)   

              while True:   

                  baozi = yield       

                  print("包子[%s]来了,被[%s]吃了!" %(baozi,name))

           def producer(name):    

               c = consumer('A')

               c2 = consumer('B')

               c.__next__()

               c2.__next__()

               print("老子开始准备做包子啦!")

               for i in range(10):  #做10次包子

                   time.sleep(1)  #每次花费1秒钟

                   print("做了2个包子!")   

                   c.send(i)  

                   c2.send(i)

         producer("zhangsan")

         运行结果:A 准备吃包子啦!
                       B 准备吃包子啦!
                       老子开始准备做包子啦!
                       做了2个包子!
                       包子[0]来了,被[A]吃了!
                       包子[0]来了,被[B]吃了!
                       做了2个包子!
                       包子[1]来了,被[A]吃了!
                       包子[1]来了,被[B]吃了!
                       做了2个包子!
                       包子[2]来了,被[A]吃了!
                       包子[2]来了,被[B]吃了!
                       做了2个包子!
                       包子[3]来了,被[A]吃了!
                       包子[3]来了,被[B]吃了!
                       做了2个包子!
                       包子[4]来了,被[A]吃了!
                       包子[4]来了,被[B]吃了!
                       做了2个包子!
                       包子[5]来了,被[A]吃了!
                       包子[5]来了,被[B]吃了!
                       做了2个包子!
                       包子[6]来了,被[A]吃了!
                       包子[6]来了,被[B]吃了!
                       做了2个包子!
                       包子[7]来了,被[A]吃了!
                       包子[7]来了,被[B]吃了!
                       做了2个包子!
                       包子[8]来了,被[A]吃了!
                       包子[8]来了,被[B]吃了!
                       做了2个包子!
                       包子[9]来了,被[A]吃了!
                       包子[9]来了,被[B]吃了!

  • 相关阅读:
    Codeforces Round #201 (Div. 2)C.Alice and Bob
    1126. Magnetic Storms(单调队列)
    URAL1501. Sense of Beauty(记忆化)
    poj1026Cipher(置换群)
    怎样查看MySql数据库物理文件存放位置
    冒泡排序、选择排序、二分查找排序
    java中的数组的Arrays工具类的使用
    可变参数及其特点
    猜拳游戏项目(涉及知识点Scanner、Random、For、数组、Break、Continue等)
    java中使用nextLine(); 没有输入就自动跳过的问题?
  • 原文地址:https://www.cnblogs.com/yunv724/p/6215715.html
Copyright © 2011-2022 走看看