zoukankan      html  css  js  c++  java
  • python常用语法2

    Pycharm格式化代码方式

    选择工具栏的Code, 点击Reformat Code

    或者使用快键键

    Mac为:Command  + Option+L
    
    windows: Alt + ctrl + L
    

    Python判断两个list相等

    Python2可以使用cmp()函数,但是在Python3中我们可以使用下面的方法来比较两个list是否相等

    import operator
    
    a=[1,-1,0]
    
    b=[1,-1,0]
    
    c=[-1,1,0]
    
    print(operator.eq(a,b))    # True
    
    print(operator.eq(a,c))    # False
    

    注意: 两个列表必须完全相同(包括位置),只有这样才能是True。

    参考:Python判断两个list相等

    python合并两个列表

    直接使用‘+’运算符

    a = [1, 2]
    
    b = [1,2]
    
    print(a + b)    # [1, 2, 1, 2]
    

    python - 从另一个列表中删除出现在一个列表中的所有元素

    l3 = [x for x in l1 if x not in l2]
    

    等价于

    l1 = [1, 2, 3, 4, 5, 6]
    
    l2 = [3, 4, 6]
    
    l3 = []
    
    for num in l1:
    
        if num not in l2:
    
            l3.append(num)
    
    print(l3)        # [1, 2, 5]
    

    参考: python 根据一个list的元素删除另一个list中对应的元素python - 从另一个列表中删除出现在一个列表中的所有元素

    list列表排序

    sort () 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

    语法

    sort()方法语法:默认按字典序排序

    list.sort(cmp=None, key=None, reverse=False)

    list1.sort()

    list2.sort()

    参数

    • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

    参考:https://www.runoob.com/python/att-list-sort.html

    python怎么往一个元祖里添加一个字符串

    现将字符串用括号括起来,加个逗号,让这个字符串变成一个元祖,然后使用‘+’运算符相加即可。方法可推广到将任何类型的对象添加到某个元祖。

    total_records += record + ('test', )

    元祖合并

    两个一维元祖怎么合并

    直接用'+'运算符拼接即可

    a = (1, 2, 3)
    
    b = (4, 5, 6)
    
    c = a + b    # c = (1, 2, 3, 4, 5, 6)
    

    怎么将一维元祖以整体的形式加入到一个二维元祖

    在一层元祖外面套一层括号后,加一个逗号

    a = ((1, 2, 3), (4, 5, 6))
    
    b = (7, 8, 9)
    
    c = a + (b, )    # c = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
    

    怎么将一维元祖的每个元素分别加入到一个二维元祖

    直接用'+'运算符拼接即可

    a = ((1, 2, 3), (4, 5, 6))
    
    b = (7, 8, 9)
    
    c = a + b    # c = ((1, 2, 3), (4, 5, 6), 7, 8, 9)
    

    不确定某个变量是一维元祖还是二维元祖,怎么将它以二维元祖的形式加入到另一个二维元祖

    先判断该变量的第0项是否是元祖,如果是元祖则该变量是二维元祖,否则是一维元祖,如果是一维元祖,则在一层元祖外面套一层括号后,加一个逗号,与二维元祖相加;如果是二维元祖,直接相加

    records = ((1, 2), (3, 4))
    
    if isinstance(aa, tuple):    # 如果第一项是元祖则说明aa是二维元祖
    
        records += aa
    
    else:
    
        records += (aa, )
    

    python遍历文件夹下的所有文件

    listdir(path)函数,可以获得path路径下的所有文件列表

    import os
    
    def getfiles():
    
        filenames=os.listdir(r'E:	est')
    
        print(filenames)
    

    参考:python遍历文件夹下的所有文件

    python文件的读写

    open(filepath, mode), 这个函数可以用来读写文件,返回文件的操作句柄,mode就是'w', 'r', 'a', 'w+', 'a+'等模式

    fr = open('test.txt','r')
    
    for line in fr:
    
        print line
    
    fr.close()
    
    
    
    fw = open('test2.txt','w')
    
    fw.write("hello world
    hello world!!")    # 换行需要自己加入'
    '字符,没有直接写入一行的函数
    
    fw.close()
    

    参考: Python 文件I/Opython每次读取文件一行输出一行

    python config文件的读写

    1、设置配置文件

    [mysql]
    
    host = 1234
    
    port = 3306
    
    user = root
    
    password = Zhsy08241128
    
    database = leartd
    

    2、读取配置文件

    import configparser
    
    import os
    
    conf= configparser.ConfigParser()
    
    def readConf():
    
         '''读取配置文件'''
    
         root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
         conf.read(root_path + '/ceshi/conf/app.conf') # 文件路径
    
         print(conf)
    
         name = conf.get("mysql", "host") # 获取指定section 的option值
    
         print(name)
    

    3、写入配置文件

    def writeConf():
    
         '''写入配置文件'''
    
         root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
         conf.read(root_path + '/ceshi/conf/app.conf') # 文件路径
    
         conf.set("mysql", "host", "1234")  # 修改指定section 的option
    
         conf.write(open(root_path + '/ceshi/conf/app.conf', 'w'))
    

    参考:python config文件的读写如何在python中读取配置文件

    对时间的比较

    两个datetime对象直接做差,得到一个timedelta对象, 通过这个对象的seconds获得秒钟数,从而与目标时间进行比较

    start = datetime.datetime(2021, 3, 31, 18, 0, 0)
    
    end = datetime.datetime(2021, 3, 31, 21, 0, 0)
    
    interval = end - sta    rt
    
    print(interval.seconds)
    
    print(interval.seconds >= 3600*3)    # 判断两个时间差是否超过半小时
    

    参考:【Python】datetime间的比较

    datetime.timedelta怎么格式化输出

    import datetime
    
    start = datetime.datetime(2009,2,10,14,00)
    
    end   = datetime.datetime(2009,2,10,16,00)
    
    delta = end-start
    
    print(str(delta))    # prints 2:00:00
    

    如果直接使用str()函数后结果带有毫秒值,如'02:10:00.324', 如果想要去除毫秒值,使用split()函数截取后取第一个元素

    print(str(interval).split(".")[0])
    

    参考:python – 将timedelta格式化为字符串

    字符串split()函数

    split()函数

    语法:str.split(str=”“,num=string.count(str))[n]

    参数说明:

    str: 表示为分隔符,默认为空格,但是不能为空(”)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
    
    num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
    
    [n]: 表示选取第n个分片,也可以是[0,n]表示选取第0片到第n片,函数返回一个list。 
    

    参考:Python分割字符串split()

    把元素添加到不重复的list中

    使用set()这个数据结构,可以保证存入的对象不重复,后面如果需要是list对象,使用list()方法强转即可。

    item = set()
    
    item.add(1)
    
    item.add(1)
    
    item = list(item)
    
    print(item)    # [1]
    

    参考: https://www.cnpython.com/qa/35356

    Python time sleep()方法

    time.sleep(t) , t 是 推迟执行的秒数。t可以是整数也可以是浮点数

    import time
    time.sleep(5)
    time.sleep(2.34)

    参考: Python time sleep()方法python毫秒级sleep

    python获取对象类型

    type()方法

    var = dict()
    
    print(type(var))    # <class 'dict'>
    

    list或者set截取片段

    变量[头下标:尾下标:步长]

    步长省略则默认为1

    参考:python列表list的截取问题

    python获取当前路径

    print(os.path.abspath(__file__))
    
    print(os.path.dirname(os.path.abspath(__file__)))
    
    print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    

    python判断输入的内容是否为整数

    num = input("请输入整数:")
    
    print(num.isdigit())
    

    参考: python 判断输入是否为整数的程序

    python判断一个浮点数是否可转换为整数

    方式一:使用is_integer()函数

    num = 4.0
    
    num2 = 4.01
    
    print(num.is_integer())    # True
    
    print(num2.is_integer())    # False
    

    方式二:与1做取余运算

    num = 4.0
    
    num2 = 4.01
    
    num3 = 0.0
    
    print(num % 1 == 0)    # True
    
    print(num2 % 1 == 0)    # False
    
    print(num3 % 1 == 0)    # True
    

    参考: python 如何判断一个数为整数?(判断整数,没有小数)(取余)判断整型 isinstance()

    python判断某个变量是否是某种类型

    isinstance()

    print(isinstance(1,int))    # 判断1是否是int类型
    
    print(isinstance(aa, datetime.datetime))    # 判断aa变量是否是datetime.datatime类型
    
     
  • 相关阅读:
    微信支付
    JVM调优的正确姿势
    JVM常用调优案例
    JVM调优实践
    jvm优化必知系列——监控工具
    JVM 调优案例分析1
    一次生产的JVM优化
    记录一次JVM配置优化的案例
    JVM之内存和对象创建过程
    Java类加载过程
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/15086563.html
Copyright © 2011-2022 走看看