• python学习笔记(七)- 递归、python内置函数、random模块


    1、函数的不固定参数:

      #参数不是必填的、没有限制参数的个数、返回参数组的元组

    def syz(*args):  #参数组,不限制参数个数 #‘args’参数的名字可以随便命名
        print(args)
        #username = args[0] #返回的参数放在元组中,通过下标来取值
        #pwd = args[1]
    syz()
    syz('niuhan','sdfsdf',122)
    
    >>> ()
    >>> ('niuhan', 'sdfsdf', 122)  #元组

     

    2、关键字参数

    #不限制传参的个数,但是传的格式必须是k-v的形式,传进来的参数放在字典里

        def syz(**kwargs):  #关键字参数
        print(kwargs)
    syz()   #>>>{}
    syz(name='',age=20)  #>>>{'name': '', 'age': 20}
    syz(name='nny',age=38,add='北京',home='河南')
    syz('nhy')   #报错

     

    3、递归:函数自己调用自己

    #少用递归,递归效率不高,递归最多循环999

    def test():
        num = int(input("please enter a number:"))
        if num%2==0:  #判断是不是偶数
            return True #如果是偶数,退出程序,返回True
        print('不是偶数请重新输入!')
        return test()
    print(test())  #调用test函数

    4、内置函数:pyhton自带的一些函数,可以直接拿来用的

    常用的内置函数有:

     1 print(all([1,2,3,4]))  #判断可迭代的对象里面的值是否都为真
     2 print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真
     3 print(bin(10)) #十进制转二进制
     4 print(bool(None)) #把一个对象转换成布尔类型
     5 print(chr(69)) #打印数字对应的ascii
     6 print(ord('E')) #打印字符串对应的ascii码
     7 print(dir(d)) #打印传入对象的可调用方法
     8 exec('def a():print("我是a")') #执行python代码
     9 a = eval('1+2')  #也是用来执行python代码的,只能执行一些简单的代码,比如运算,[]  {}
    10 print(a)
    11 print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
    12 print(map(lambda x:x>5,[1,2,3,4,5,6]))
    13 print(max(111,12))#取最大值
    14 print(min((1,2,3)))#取最小值
    15 print(abs(-1))#取绝对值的
    16 print(round(11.119999,3))#取几位小数
    17 print(sorted([2,31,34,6,1,23,4]))#排序

    较为常用的:

     1 id() #看内存地址
     2 type() #看数据类型
     3 print() #打印
     4 input() #输入
     5 list()  #转list
     6 set()# 转集合
     7 str()#转字符串
     8 dict()#转字典
     9 int()#转int
    10 float()#转float类型
    11 len()#取长度
    12 max()
    13 min()
    14 dir() #帮助你的
    15 sorted()#排序
    16 round(11.00011,2)#保留几位小数
    17 map()     
    18 filter()  
    19 zip()     

    5、random模块的方法

     1 import random,string
     2 print(string.printable) #代表所有的 数字+字母+特殊字符
     3 
     4 print(random.randint(1,10))  #从1-10随机取一个整数
     5 print(random.uniform(1,99))  #随机取一个小数 #>>>73.5928709012442
     6 print(round(random.uniform(1,99),2)) #配合round(),表示随机取小数点后2位的小数  #>>>59.22
     7 print(random.choice([1,2,3,4])) #只能随机取1个元素(列表或字符串)
       print(random.choice('abcde'))
     9 print(random.sample(string.printable,5)) #随机取N个元素,返回的是list  #>>>['A', 'x', ',', ')', 'E']
    10 
    11 # random.shuffle([xxx])洗牌(打乱顺序
    12 pickts = ['A','J','Q','K',2,3,4,5,6]
    13 random.shuffle(pickts) #只能传list(因为字符串不能修改)
    14 print(pickts)

    xx

  • 相关阅读:
    宏任务与微任务
    reactnative 自定义项目的图标库
    react-native中textInput在androidTV上的焦点处理(坑篇)
    js中!!的运用
    ES6里class杂乱随笔
    浅析链式调用
    link和@import的区别
    ES2020链判断运算符?.和Null判断运算符??
    vue组件使用name属性来生成递归组件
    k8s学习——相关概念
  • 原文地址:https://www.cnblogs.com/chenhongl/p/8874855.html
Copyright © 2020-2023  润新知