zoukankan      html  css  js  c++  java
  • Python基础第二篇

    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进制

    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)

    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()# 排序

    5.元组

    tup=(1,2,3)
    tup.count() #找到出现的次数
    tup.index() #找字符的下标,找不到报错

    #元组的元素不能被修改
    tup=(1,2,3)

    #元组的元素里的元组可以修改
    tup=(1,2,3,[5,6])

    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,不存在则直接整合

    浅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,完全独立

    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

    四、解码编码
    例:
    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

  • 相关阅读:
    一个网络扫描程序
    ASCII
    一个linux下c++程序
    VC数字图像处理编程
    人际关系的55个绝招
    一些函数
    【转】Vim命令合集以及乱码问题解决
    【转】PHP程序员的技术成长规划
    【转】Nginx 服务器安装及配置文件详解
    【转】PHP网站常见安全漏洞,及相应防范措施总结
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/9820809.html
Copyright © 2011-2022 走看看