Python学习(二) 运算符、整形和字符串类的常用方法(包含Python编码问题)

  • 编码问题 :

        编码 : 将人类能识别的字符转化为计算机能识别的字符就是编码,编码的方式很多

        ASCII : ASCII编码是最早的编码表,采用一个字节进行存取,只能包含127个字符

       Unicode : 由于ASCII的编码远远不能满足人们对于编码的需求,所以创造了Unicode(万国码),Unicode采用至少2个字节进行存取。

        utf-8 : utf-8用三个字节来存取中文

        gbk : gbk是一种中国人专用的编码,采用俩个字节来存取中文,是Windows终端使用的解码方式。

在Python2中,输入设备的文字采用utf-8进行存取,但是在输出时终端用gbk的方式进行读取,因为utf-8用了三个字节进行存取而gbk则二个字节俩个字节的读取,所以在Python2的终端上,输出的中文会出现乱码。

而在Python3中,输入的中文会间接转化为Unicode编码进行存取,在输出时也会用Unicode的方式进行解码,所以整个过程中不会出现乱码的形式。

下图是Python3中编码内部的转化:

运算符 :

×× : 俩个乘号表示幂运算

// : 整除

/ : 直接得出商(准确的,没有舍去)

成员运算符 :

 in :表示字符在字符串里面

name = "林则徐"
if "林" in name :
    print("OK")
else :
    print("Error")

not in :表示字符不在字符串里面

name = "林则徐"
if "林" not in name :
    print("OK")
else :
    print("Error")

布尔值 : True 和 False

关系运算符 :

  • ==
  • <
  • <=
  • !=
  • <>
  • not (取反)

逻辑运算符 :

  • and : 且
  • or : 或者
  • 运算的方式:如果前面的条件为假,则and后面的不用计算,确认为假,而or则要继续计算。如果前面条件为真,则or不用继续计算,确定为真,and则要继续计算。

基本数据类型 :

  • 数字
  1. int整形
  2. lonjg长整形(在Python3中没有长整形)
  • 字符串 str
  • 列表 list
  • 元祖 tuple
  • 字典 dict
  • 布尔值 bool

×补充一下Pycharm的快捷键 : 

  • 查看类的具体方法 : ctrl + 鼠标左键 点击 类的名称
  • 代码注释化 : ctrl + /

字符串类的常用方法 :

  • 6个最基本的方法 :
  1. join
    test = "你是风儿我是沙"
    t = " "
    v1 = t.join(test)      # 将字符串中的每一个元素按照指定字符串进行拼接
    v2 = "_".join(test)
    print(v1)
    print(v2)

     

  2. split
    test = "adjwhdds;l"
    m = test.split("d",2)      # 按分割符分俩次,分隔符不保留
    k = test.rsplit("d",2)      # 从右按分隔符分割俩次,分隔符不保留
    print(k)
    print(m)

     

  3. find
    v5 = test.find("ex")             # 寻找最前面的的参数字符出现的位置                       
    v6 = test.find("ex" , 5, 8)      #  5和8 是寻找的区间                            
    print(v5 , v6)  

     

  4. strip
    test = "alxavo"
    v = test.lstrip("alav")  #从左开始删除指定多的内容
    v2 = test.rstrip("xvo")  # 从右删除指定多的内容
    print(v , v2)

     

  5. upper
    test = "aLex"
    v = test.isupper()   # 判断是大写
    v1 = test.upper()    # 将字符串转化为大写
    print(v)
    print(v1)

     

  6. lower
    test3 = "ALex"                                                      
    v3 = test3.lower()  # 单纯的将大写转化为小写                                   
    print() 

     

  • 20多个常用方法
  1. capitalize()
    test = "alex"
    v1 = test.capitalize()  ##s首字母变大写的方法
    print(v1)

     

  2. casefold()和lower()
    test2 = "aLex"                                                      
    v2 = test2.casefold()  ## 转换字符对应关系(将大写字母转化为小写                       
    print(v2)   v3                                                      
                                                                        
    test3 = "ALex"                                                      
    v3 = test3.lower()  # 单纯的将大写转化为小写                                   
    print()   

     

  3. center()
    v4 = test3.center(20 , "*")                   
    print(v4)                                     
    #参数20:将内容放在20个格中,并将字符串居中                      
    #* : 空白位填充,只能一个字符,可有可无    

     

  4. count()
    test = "alexalex"                                                          
    v = test.count("e")      #计算参数字符(或字符串)在原字符串中出现的次数                          
    print(v)                                                                   
                                                                               
    v2 = test.count("a" , 5 , 6)     # 5、6 :是计算的始终位置                           
    print(v2)   

     

  5. endswith() 和 startswith()
    v3 = test.endswith("ex")       # 判断是否以什么什么结尾                   
    v4 = test.startswith("al")      # 判断是否以身什么开始                   
    print(v3)                                                      
    print(v4)       

     

  6. format() 和 format_map()
    test = "i am {name} , age {age}"   
    v = test.format(name = "林则徐" ,age =
    print(v)                           
                                       
    test2 = "i am {0} ,age {1}"        
    v2 = test2.format("林则循" , "20")    
    print(v2)                          
                                       
    #格式化操作的俩种方式,第二种方式是按顺序填补的   
    test3 = "i am {name} , age {a}"                   
    v3 = test3.format_map({"name" : "林则徐" , "a" : 20})
    print(v3)                                         
    # 采用字典的方式格式化                                      ```
    

     

  7. isalnum()
    test5 = "utf900_+"      
    v5 = test5.isalnum()    
    print(v5)               
    # 判断参数字符串中是否只含数字和字母  

     

  8. expandtabs()
    test = "username\temail\tpasswd\nlaiying\ttying@q.com\t123\nlaiying\ttying@q.com\t123\n"
    v1 = test.expandtabs(20)
    print(v1)
    # 将字符串按20位分开,遇到tab自动置空,表格符

     

  9. isalpha()
    test1 = "fewwu无f"
    v2 = test1.isalpha()    # 判断字符串中是否只包含字母和中文
    print(v2)

     

  10. isdecimal() 、isdigit() 和 isnumeric()
    test2 = "二"
    v3 = test2.isdecimal()
    v4 = test2.isdigit()
    print(v3 ,v4)
    v5 = test2.isnumeric()    #能够识别中文的数字
    print(v5)
    # 俩个都是识别是否只包含数字,第二个还可以识别一些二

     

  11.  isidentifier()
    test3 = "dwdq_123"    #字母(可以中文),下划线,数字  只包含这些元素的称之为标识符
    v = test3.isidentifier()   # 判断字符串是不是标识符
    print(v)

     

  12. isprintable()
    test = "dwedghei\tfwe"
    v = test.isprintable()   # 判断目标字符是否可显示
    print(v)

     

  13. isspace()
    test2 = "      "
    v2 = test2.isspace()     # 判断目标字符串是否只有空格
    print(v2)

     

  14. istitle() 和 title()
    test = "Return True if all cased characters in S are"  # 在英文中,标题的所有受字母都是你大写
    v1= test.istitle()                                          # 判断目标字符串是否是标题
    v2 = test.title()                                           #将目标字符串转化为主题
    print(v1)
    print(v2)

     

  15. ljust() 和 rjust()
    test = "alex"
    v = test.ljust(20, "*")    # 占20个位置,并且将字符串左对齐
    v2 = test.rjust(20,"_")    # 同理,将字符串右对齐
    print(v)
    print(v2)

     

  16. zifill()
    test = "jds"
    v = test.zfill(20)     # 用 0 进行填充
    print(v)

     

  17. maketrans() 和 translate()
    v = "aiodfjik:jdihawe:ajdfiqjw"
    m = str.maketrans("aeiuo","12345")   # 将字母和数字对应起来
    k = v.translate(m)                     # 对字符串中的指定字符按照上面的对应关系进行翻译
    print(k)
  18. partition()
    test = "adjqiewhj"
    m = test.partition("j")      # 按参数字符进行分割
    吗= test.rpartition("w")    # 从右按参数字符进行分割
    print(m)

     

  19. swapcase()
    test = "aLex"
    m = test.swapcase()     # 大小写转换
    print(m)

     

整形常用方法 :

  1. type()
    num = 111
    print(type(num))

     

  2. int()
    i = "1" 
    v = int(i)
    print(v)

     

  3. int(变量名,base=n)
    
    kp =  "0011"
    print(int(kp , base=16))

     

  4. bit_length()
    kp =  "0011"
    print(int(kp , base=16))
    
    num = 127
    print(num.bit_length())
    
    tmo = 23.2
    print(tmo.bit_length())

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值