• Python基础第二篇


    一、三元运算

    if True:
        name='a'
    else:
        name='b'
    #上面的代码用三元运算表示:
    name="a" if True else "b"

    二、类中方法查看

      Python中一切事物都是对象,对象由类创建

      type      查看对象类型

      dir(类型名)   查看类中提供的所有功能

      help(类型名)    查看类中提供的功能详细

      help(类型名.方法名)  查看类中某功能的详细

    三、类型常用功能

    1.整形

    abs(x)      #返回绝对值
    x+y,x-y,x*y,x/y  #加减乘除
    x/y         #取商,浮点数相除保留余数
    x//y        #取商,浮点数相除余数为0
    x%y         #取余
    x**y         #幂次方
    cmp(x,y)    #两个数比较,返回True或False相等则为0
    coerce(x,y) #强制把两个数生成一个元组
    divmod(x,y) #相除得到商和余数组成的元组
    float(x)    #转换为浮点型
    str(x)      #转换为字符串
    hex(x)      #转换为16进制
    oct(x)      #转换8进制
    int

    2.长整型,浮点型和整形基本相似

    3.字符串

    name='abc'
    name.capitalize()    #首字母大写
    name.center(20)      # 长度20居中
    name.center(20),"*"  # 长度20里居中,其他用*填充
    name.ljust(20)       #长度20居左,rjust()居右
    name.count('a')      #字符串里a的个数
    name.count('a',0,10) #字符串指定区域里a的个数
    name.endswith('bc')  #字符串是否以bc为结尾
    name.expandtabs(8)  #把tab键转换为空格,默认8个空格
    name.find("b")  #找字符b的下标,找不到返回-1,如果有多个只找第一个
    name.index("b") #找字符b的下标,找不到报错
    name.isalnum()  #判断是否为字母或数字
    name.isalpha()  #判断是否为字母
    name.isdigit()  #判断是否为数字
    name.islower()  #判断是否小写
    name.isspace()  #判断是否都是空格
    name.isupper()  #是否全变大写
    name.lower()    #全变小写
    name.upper()    #是否全变大写
    name.swapcase() #大写变小写,小写 变大写
    name.replace('cc','dd') # 符合的全部替换
    name.strip()    #移除空格
    name.split("b") #以b分割
    #join
    li=["aa","bb"]
    '*'.join(li)    #把列表的元素用*连接起来
    #istitle
    name="Aa"
    name.title()    #变为标题,标题(所有首字母大写就是标题)
    name.istitle()  #判断是不是标题
    #partition
    name="aaccbb"
    name.partition("cc")    #分割成3部分 (aa,bb,cc)
    str

    format格式化的4种方法

    name="i {0},age {1}"           #按顺序
    name.format("zhangsan",18)
    
    name="i {0},age {1}"
    li=["zhangsan",18]
    name.format(*li)    #传列表要加*
    
    name="i {aa},age {bb}"         #按名称
    name.format(aa="zhangsan",bb=18)
    
    name="i {aa},age {bb}"
    dic={"aa":"zhangsan","bb":18}
    name.format(**dic)  #字典加**

    translate转换

    import string
    a1="myis"
    a2="1234"
    trantab=string.maketrans(a1,a2) #先做一个对应表
    strstr="my name is zhang"
    print strstr.translate(trantab) #把strstr中a1里的字母替换成a2里对应的数字
    print strstr.translate(trantab,"is") #先删除strstr中的"is",在去替换
    #输出结果:
    #12 na1e 34 zhang
    #12 na1e  zhang

    4.列表

    li=[11,22,33,44]
    li.append() #追加
    li.count()  #找到出现的次数
    li.extend([55,66])  #给原列表进行扩展
    li.index() #找字符的下标,找不到报错
    li.insert() # 在指定下标位置插入
    li.pop() #删除并返回指定下标的值,如果没有指定下标,则返回最后一个
    li.remove()# 移除
    li.reverse()# 列表顺序反转
    li.sort()# 排序
    list

    5.元组

    tup=(1,2,3)
    tup.count() #找到出现的次数
    tup.index() #找字符的下标,找不到报错
    
    #元组的元素不能被修改
    tup=(1,2,3)
    
    #元组的元素里的元组可以修改
    tup=(1,2,3,[5,6])
    tuple

    6.字典

    #字典是无序的
    dic={'aa':123,'bb':456}
    dic.clear()   #清空内容
    dic.get('bb') #找不到BB时不会报错 返回的是None
    dic.get('bb','No')#找不到BB时不会报错 返回的是No
    #items
    dic.keys #取出所有key
    dic.values #取出所有value
    dic.pop("aa")#删除
    dic.setdefault("aa",['22']) #如果字典里不存在aa则添加'aa'=‘22’,存在则不变
    a={"bb":555,"cc":666}
    dic.update(a) #整合到dic字典,a里的key在dic里是否存在,如果存在则把dic里存在的key的value改成a中key对应的values,不存在则直接整合
    dict

    浅copy,深copy

    import copy
    a={"a":1,"b":[1,2],"c":3}
    b=a
    c=a.copy()  #浅copy
    d=copy.deepcopy(a)  #深copy
    a["d"]=4
    print(a)
    print(b)
    print(c)
    print(d)
    #输出结果:
    #{'a': 1, 'c': 3, 'b': [1, 2], 'd': 4}   
    #{'a': 1, 'c': 3, 'b': [1, 2], 'd': 4}
    #{'a': 1, 'c': 3, 'b': [1, 2]}      浅copy
    #{'a': 1, 'c': 3, 'b': [1, 2]}      深copy
    
    a["b"].pop(0)
    print(a)
    print(b)
    print(c)
    print(d)
    #输出结果:
    #{'a': 1, 'c': 3, 'b': [2], 'd': 4}
    #{'a': 1, 'c': 3, 'b': [2], 'd': 4}
    #{'a': 1, 'c': 3, 'b': [2]}         浅copy,字典内b对应的数组还是变了
    #{'a': 1, 'c': 3, 'b': [1, 2]}      深copy,完全独立
    copy

    7、集合set

    #set是一个无序且不重复的元素集合
    a=[1,1,2,2]
    set(a) #去重
    
    a=set(range(1,5))
    b=set(range(4,7))
    a&b #交集
    a|b #并集
    a^b #反交集
    a-b #a在b中没有的
    a.issubset(b) #a是不是都包含在b里
    a.remove(1) #删除
    a.update(b) #b并入a
    set

    四、解码编码

    例:

    gbk》》unicode》》utf-8

    utf-8》》unicode》》gbk

    unicode可以编码(encode)成gbk和utf-8

    gbk和utf-8可以解码decode成unicode

    a="好"  a是gbk编码

    a.decode('gbk') 把gbk解码成unicode

    a.decode('gbk').encode('utf-8')解码后在编码成utf-8

  • 相关阅读:
    51nod数字1的数量
    bzoj3669: [Noi2014]魔法森林 lct版
    【NOI2014】起床困难综合症 位运算+贪心
    bzoj2631: tree lct
    bzoj2002 弹飞绵羊 lct版
    codevs1245最小的N个和 小根堆
    RTSP/GB28181/SDK协议视频融合平台EasyCVR接口获取协议平台接入参数的调用方法
    RTSP/GB28181/SDK协议视频融合平台EasyCVR上传通道数据库不显示怎么解决?
    基于视频协议融合平台EasyCVR开发的视频综合管理监控平台EasyCVS通道流检查功能的实现
    RTSP/GB28181/HIKSDK/大华SDK协议安防视频云平台EasyCVR新增告警功能介绍
  • 原文地址:https://www.cnblogs.com/melonjiang/p/5083461.html
Copyright © 2020-2023  润新知