• Python 常用函数


    1、常用函数
        round() :  四舍五入
            参数1:要处理的小数
            参数2:可选,如果不加,就是不要小数,如果加,就是保留几位小数
        abs() :绝对值函数
        max() :列表、字符串,得到最大的元素
        min() :列表、字符串,得到最小的元素
        hex() : 给一个十进制,将其转化为十六进制
        oct() :给一个十进制,转化为八进制
        bin() :给一个十进制,转化为二进制
        sum() :给一个列表,求和,列表中都是整型
        pow() :pow(x, y) == x**y
        divmod() : 得到一个元组,是商和余数
        random
            import random
            random.函数名()
    
            random() : 返回[0, 1) 之间的一个随机数
            uniform() :[a, b]之间的一个随机小数
            choice() :字符串、列表,随机弹出一个元素
            randint() : [a, b]之间的一个整数
            sample(lt, 3) : 字符串、列表,随机取出3个元素
            shuffle(lt) : 将lt中元素的顺序,随机打乱,返回None
            randrange(a,b,step):从a到b的以step为间隔的序列中随机选出一个整数
        time
            sleep() :1.5  2.5  整数小数都可以
        math
            e 
            pi
            ceil() : 天花板, 向上取整
            floor() :地板,向下取整
            sqrt() : 平方根
            degrees() : 将弧度转化为度
                180 == pi
            radians() : 将度转化为弧度
        sys
            sys.argv : 通过python 1.py 参数1 参数2 参数3
            在代码中,就可以通过sys.argv来获取这些参数
        os
            os.system() : 可以执行终端的指令
                windows下常用
                    cls : 清除屏幕
                    ipconfig : 查看ip地址
    2、字符串函数(非常重要)
        ord() :将ascii字符转化为十进制
        chr() :将十进制转化为ascii字符
        join() :
            '*'.join(lt)
            将列表中的所有字符串按照*进行拼接
    
        往下这些函数都是字符串的函数,
        使用方式1:字符串.函数名(参数)       推荐
        使用方式1:str.函数名(字符串, 参数)
        ljust(width, 字符) :总共width宽度,左对齐,右边补字符
        rjust() :和ljust一样,这个是右对齐
        center() : 居中显示,两边补字符
        zfill() : 前面0填充
    
        strip() : 默认去除两边的空白字符,有参数,去除指定字符
        lstrip() :只去除左边的特定字符
        rstrip() :只去除右边的特定字符
    
        replace(old, new, 可选个数) :替换
            将new替换old,第三个参数可选,替换几个 
        split() : 将字符串按照特定字符切割,将结果保存到列表中      
        splitlines() :将字符串按照换行进行切割 
        find() :字符串查找,查找第一次字符串出现的位置,如果找不到,返回 -1     
        rfind() : 从右边开始查找,出现的位置,如果没有,返回 -1
        index(): 同find,找不到就报错
    
        upper() :将字符串中所有字母变成大写
        lower() :将字符串中所有字母变成小写
        capitalize() :字符串首单词首字母大写
        title() :每个单词首字母大写
        swapcase() :大小写互换
    
        count() :返回字符串1在字符串2中出现的次数
        len() : 求字符串长度     
        startswith() : 判断是不是以某某字符串开头
        endswith() :判断是不是以某某字符串结尾
    
        自己测试:
        isspace() :判断是不是空格
        isalnum() : 判断是不是数字或者字母 
        isalpha() :判断是不是字母 
        isdecimal() :判断是不是数字
        islower()  : 判断是不是小写 
        isupper() :判断是不是大写  
        istitle() :判断每个单词是不是首字母大写 
        iscapital() :判断是否首字母大写  
    3、列表函数
        append() : 向列表中追加一个元素
        extend() :向列表中追加,但不是追加的整体,会拆分列表或者字符串
        count() :统计列表中指定元素出现的次数
        index() : 找到元素第一次出现的位置
        insert() :向指定下标插入一个元素
        pop() :默认弹出列表中最后一个元素,也可以根据下标弹出指定元素
        remove() : 删除这个列表中第一个这个元素
        clear() : 清空整个列表
        reverse() : 将列表逆序
        copy() : 拷贝一份列表
        sort() : 排序,默认从小到大排列
            sort(reverse=1)  从大到小排列
    4、字典函数
        get(): 查找字典是否存在键,存在返回键对应的值,不存在返回None
        items() : 用在kv同时遍历
        keys() :获取所有的键
        values() : 获取所有的值
        pop() : 根据键弹出键值对
        clear() :清空字典
        update() : 用一个字典去更新另一个字典
        copy() : 字典的复制
        popitem() : 弹出最后一个键值对
    5、集合函数
        add() : 添加一个元素
        update() :添加一个列表或者元组(可迭代对象)
        clear() : 清空整个集合
        pop() : 随机弹出一个元素
        remove() :删除一个元素,没有会报错
        discard() : 删除一个元素,没有元素不报错
        issubset() :是不是子集
        issuperset() : 是不是母集
        isdisjoint() : 是不是没有交集
    
    __str__ 魔法方法,当打印对象的时候,会自动调用这个方法,这个方这个字符串,这个字符串一般都格式为当法必须返回一个字符串,然后当打印对象的时候,就会打印前对象的一些信息
    高阶函数
    map 
    lt = ['hello','baby','haha','world']
    ret = list(map(len,lt))
    print(ret)
    5     4     4     5
    将函数依次作用与列表中每个元素
    filter   过滤
    依次作用与列表中每个元素,如果是真留下,
    如果是假,返回false干掉
    lt = [1,2,3,4,5,6,7,8,9]
    ret = list(filter(lambda x:x %2 = 0,lt))
    print(ret)
    
    lt = ['','baby','haha','','love','','dudu']
    ret = list(filter(lambda x:boll(x),lt))
    print(ret)
    
    reduce  学习
    需要先导入
    from  functools import reduce
    lt = [1,2,3,4,5,6,7]
    ret = reduce(lambda x,y:x+y,lt)
    print(ret)
    得出所有数得和,
    用在下例较好
    lt1 = [1,3,9,8]
    ret = reduce(lambda x,y : x*10 +y,lt1)
    print(ret)
    x = 1
    y = 3
    计算过程
    1*10 +3 
    13*10+9
    139*10+8
    super().work()  调用的是上一级的work方法
                    父类名.work(self) 调用指定父类的work方法
    __name__ : 通过类名调用,获取类名字符串
        __dict__ : 通过对象名调用,可以获取到对象的所有属性
            通过类名调用,可以获取类的所有详细信息
        __bases__ :通过类名调用,获取所有的父类
    
    限制属性动态添加
        写个类属性
        __slots__ = ('age', 'name', 'height')
        说明对象动态添加属性,只能添加上面三个,其它不能添加
    __del__ : 在对象销毁之前执行的方法,这里面一般做一些临终的操作,比如关闭文件,关闭数据库链接
    pickle(常用)
        问题:内存(程序、软件、操作系统都运行在内存中,断电消失)、硬盘(持久化保存)
        作用:将对象序列化保存到文件中
        用法:
            import pickle
            # 将对象保存到文件中,fp要以wb方式打开
            pickle.dump(obj, fp)
    
            # 将文件中内容读到内存中, fp要以rb方式打开
            obj = pickle.load(fp)
            obj就是那个类的对象
    hashlib模块
            md5加密:加密过后,生成一串32位的字符串
                指定字符串加密生成的都是唯一的32位字符串
        hash = hashlib.md5()
        hash.update('admin'.encode('utf-8'))
        tmp = hash.hexdigest()
    
    
    
    目录管理
        import os  模块
        os.name : 当前操作系统
        os.environ : 显示所有而环境变量
        os.environ.get() :获取指定的环境变量
    
        下面的用法和字符串、列表函数一样程度
        os.getcwd() : 得到当前文件所在的路径
        os.listdir() : 列出当前目录下所有的文件,返回一个列表,列表中都是文件名字符串
            directory : 文件夹、目录
            以c、d、e等开头的路径称之为绝对路径
            相对路径:./  代表的当前目录   ../ 代表的上一级目录
            / : 正斜杠
             : 反斜杠
            windows:目录分隔符可以使用正斜杠,也可以使用反斜杠
            linux:目录分隔符只能使用正斜杠
        os.mkdir() : 创建文件夹
            路径给绝对、相对都可以
            如果文件夹存在,再次创建,报错
            所以一般情况,创建的时候要做判断,判断文件夹存在不存在,不存在在创建
        os.makedirs() : 可以递归创建中间目录
        os.rmdir() :只能删除空目录
            如果目录非空:递归删除
    
    
        python的shutil模块(可以实现多层级目录递归删除或其他操作)
    
    
        os.stat() :查看文件或者文件夹的状态
        os.rename() :修改文件或者文件夹名字
        os.remove() :删除文件,
        os.system() :执行系统指令
        
    
    
    
        os.path.abspath(path) #返回绝对路径
        os.path.basename(path) #返回文件名
        os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
        os.path.dirname(path) #返回文件路径
        os.path.exists(path)  #路径存在则返回True,路径损坏返回False
        os.path.lexists  #路径存在则返回True,路径损坏也返回True
        os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录
        os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”
        os.path.getatime(path)  #返回最后一次进入此path的时间。
        os.path.getmtime(path)  #返回在此path下最后一次修改的时间。
        os.path.getctime(path)  #返回path的大小
        os.path.getsize(path)  #返回文件大小,如果文件不存在就返回错误
        os.path.isabs(path)  #判断是否为绝对路径
        os.path.isfile(path)  #判断路径是否为文件
        os.path.isdir(path)  #判断路径是否为目录
        os.path.islink(path)  #判断路径是否为链接
        os.path.ismount(path)  #判断路径是否为挂载点()
        os.path.join(path1[, path2[, ...]])  #把目录和文件名合成一个路径
        os.path.normcase(path)  #转换path的大小写和斜杠
        os.path.normpath(path)  #规范path字符串形式
        os.path.realpath(path)  #返回path的真实路径
        os.path.relpath(path[, start])  #从start开始计算相对路径
        os.path.samefile(path1, path2)  #判断目录或文件是否相同
        os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件
        os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件
        os.path.split(path)  #把路径分割成dirname和basename,返回一个元组
        os.path.splitdrive(path)   #一般用在windows下,返回驱动器名和路径组成的元组
        os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组
        os.path.splitunc(path)  #把路径分割为加载点与文件
        os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
        os.path.supports_unicode_filenames  #设置是否支持unicode路径名
        mktime() : 将一个时间元组,转化为时间戳
            时间元组是9个值,前六个必须写,后面3个都写0就行了
        gmtime() : 给一个时间戳,返回时间元组,得到的时间为格林威治时间
            东八区 :需要在0时区的基础上加8个小时
            格林威治时间 :0时区的时间
        localtime() : 如果不传递参数,获取当前时间的时间元组,如果传递参数,获取指定时间的时间元组,得到的是当前时区的时间元组
        asctime() : 给一个时间元组,返回指定格式的时间字符串,如果不给,默认为当前时间
        timezone :0时区-当前时区秒数的差值
    
        日期模块
        import datetime
        dt_now = datetime.datetime.now()   当前日期和时间的日期时间字符串
        dt_ziding = datetime.datetime()    获取指定日期和时间的日期时间字符串
        dt.strftime() 转化为指定格式的日期和时间
        dt.date() :获取日期对象中的日期
        dt.time() :获取日期对象中的时间
        dt.timestamp() : 获取日期对象的时间戳
        dt.hourminutesecond : 获取日期对象的时间信息
        datetime.datetime.fromtimestamp() : 给一个时间戳,返回指定的日期对象
        datetime.timedelta() : 参数有  days, hours, minutes, seconds, 获取一个日期差值对象,这个对象可以直接和日期对象进行加减操作
    
        重点:
        (1)知道什么是时间戳
        (2)知道什么是东八区、0时区
        (3)时间戳和日期时间的相互转化
        (4)如何转化为指定格式时间
        (5)日期对象的加减操作
    
        日历模块
        import calendar
        calendar(year, w=2, l=1, c=6)  查看指定年份所有日历
        isleap(year)   : 判断这个年份是不是闰年
        leapdays(y1, y2) : 计算y1-y2之间所有的闰年
        month(year, month, w=2, l=1)  查看指定年份月份的日历
    
        hashlib模块
            md5加密:加密过后,生成一串32位的字符串
                指定字符串加密生成的都是唯一的32位字符串
        hash = hashlib.md5()
        hash.update('admin'.encode('utf-8'))
        tmp = hash.hexdigest()
  • 相关阅读:
    MySql常用命令
    多线程
    redhat7.7(centOS7)安装ORACLE 11g出坑教程及问题总结与解决
    使用 CGImageRef 出现的crash
    leetcode238. 除自身以外数组的乘积
    通过位运算实现求和
    leetcode求1+2+……+n
    leetcode101. 对称二叉树
    leetcode198. 打家劫舍
    leetcode394. 字符串解码
  • 原文地址:https://www.cnblogs.com/loren880898/p/13730611.html
Copyright © 2020-2023  润新知