• Python数据类型


    数值 int

    • int(x,[base])
      将字符串转换成数值
    >>>a = "123"
    >>>print(type(a),a)   ##可以得到该类型为str
    
    >>>b = int(a) 
    >>>print(type(b),b)   ##可以得到该类型为int,将字符串"123"转换成了数字123
    
    >>>num = "0011"
    >>>v = int(num, base = 16)
    >>>print(v)           ## 按着16进制来处理
    
    将一个数值按着或base类型的字符串转换成整数,当有base之后,x必须为str.base的取值范围为2~36.
    
    • bit_lenght
      返回表示该数值时占用的最少位数
    >>>bin(37)
    '0b100101'
    >>>(37).bit_lenght()
    6
    

    布尔值 bool

    • 真与假
    • True与False
    • 1 与 0

    字符串 str

    常有功能:

    • 移除空白

      -lstrip(self, chars = None)

      >>>s = "  rany  "
      >>>s.lstrip()
      >>>print(s)
      rany  ##左边的两个空格没有了,而右边的两个空格还在
      
      >>>s = 'dgsnja'
      >>>s.lstrip(d)
      >>>print(s)
      gsnja  ##表示去掉从左边开始的,括号里的值
      

      -rstrip(self,chars = None)

      从右边开始,其他同lstrip()

      -strip(self, chars = None)

      去掉两边的,其他同lstrip()

    • 分割

      -partition(self, sep)

      分割成前、中、后是三个部分

      >>> v = 'abcdabcdfhkdfk'
      >>> m = v.partition('d')
      >>> print(m)
      ('abc', 'd', 'abcdfhkdfk')
      

      -rpartition(self, sep)

      从右边开始,其他与partition()雷同

      -split(self, sep=None, maxsplit=None)

      以什么为基础,最多分割几次

      ('abc', 'd', 'abcdfhkdfk')
      >>> v = "abcabcdabcdefg"
      >>> m = v.split("c",3)
      >>> print(m)
      ['ab', 'ab', 'dab', 'defg'] ##注意:被作为基础的值,将会被遗弃
      

      -rsplit(self, sep=None, maxsplit=None)

      从右边开始,其他与split()雷同

      -splitlines(self, keepends=False)

      分割,但是只保留行

      >>> v = "I like your eyes
      I love you
      I think you are good"
      >>> m = v.splitlines()
      >>> print(m)
      ['I like your eyes', 'I love you', 'I think you are good']
      
    • 长度

      可以用len()函数,得到其长度,在Python 2里面会得到其字节长度,而Python 3中会得到其字符长度

      >>> v = "I love you"
      >>> print(len(v))
      10
      
    • 索引

      >>> v = "I love you"
      >>> print(v[0])  ##通过索引下标可以得到字符里的值,其是从0开始计数
      I
      
    • 判断 得到的都是bool

      -endswith(self, suffix, start = None, end = None)

      以什么结尾

      >>>test = "I like to play games"
      >>>v = test.endswith("es")
      >>>print(v)
      True
      

      -startswith(self, suffix, start = None, end = None)

      以什么开始,与endswith雷同

      -isalnum(self)

      判断是否为数值或者字母

      -isalpha(self)

      判断是否为汉字或者字母

      -isdigit(self)

      True: Unicode数字,byte数字(单字节),全角数字(双字节)

      False: 汉字数字 ,罗马数字

      Error: 无

      -isdecimal(self)

      True: Unicode数字,全角数字(双字节)

      False: 罗马数字,汉字数字

      Error: byte数字(单字节)

      -isnumeric(self)

      True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
      False: 无
      Error: byte数字(单字节)

      -isprintable(self)

      判断是否有 制表符或者 换行符,如果有就返回False

      -isspace(self)

      判断是否全部为空格

      -istitle(self)

      判断是否为标题,即每一个字母都是大写开头

      -islower(self)

      判断是否全部为小写

      -issupper(self)

      判断是否全部为大写

    • 查找

      -count(self, sub, start = None, end = None)

      查找子序列的个数

      >>>test = "aLexalexr
      >>>v = test.count('ex',5,6)
      >>>print(v)
      1
      

      -find(self, sub, start = None, end = None)

      寻找子序列位置,如果没有找到,则返回“1”

      >>>test = "L like your hair"
      >>>v = test.find('your')
      7
      

      -index(self, sub, start = None, end = None)

      查找索引,同find()雷同,但是如果没有找到,则报错

    • 切片

      >>> v = "I love you"
      >>> print(v[0:5])  ##可以取得一定范围里的字符,但是其顾头不顾尾
      I lov
      
    • 变大小写

      -capitalize(self)

      让该字符串所有单词的首字母变大写

      >>>test = "l like your eyes"
      >>>test.capitalize()
      >>>print(test)
      L Love Your Eyes
      

      -lower(self)

      让字符串里面所有字母变成小写

      >>>test = "L lIke Your Eyes"
      >>>test.lower()
      >>>print(test)
      l like your eyes
      

      -casefold(self)

      同lower,但是不同之处在于casefold的功能更强大,适用于更多种类的语言

      >>>test = "L Like yOur eyEs"
      >>>test.casefold
      >>>print(test)
      l like your eyes
      

      -swapcase(self)

      大小写相互转换

      >>> v = "I Love You"
      >>> m = v.swapcase()
      >>> print(m)
      i lOVE yOU
      

      -isidentifier(self)

      判断是否为标识符

      >>> v = "False"
      >>> m = v.isidentifier()
      >>> print(m)
      True
      
    • 填充替换

      -center(self, width, fillchar = None)

      设置总长度,并将内容居中

      >>>test = 'yy'
      >>>v = test.center(6,"*")
      >>>print(v)
      **yy**
      

      -ljust(self, width, fillchar = None)

      从左边开始填充,其他与center雷同

      -rjust(self, width, fillchar = None)

      从右边开始填充,其他与center雷同

      -zfill(self, width)

      雷同于ljust(),但是只填充0

      >>>test = 'yy'
      >>>v = test.zfill(6,"*")
      >>>print(v)
      0000yy
      

      -join(self, iterable)

      连接

      >>>test = "loveyou"
      >>>v = '-'.join(test)
      >>>print(v)
      l-o-v-e-y-o-u
      

      -replace(self, old, new, count=None)

      把某字符转换成指定的字符

      >>> v = "I like you"
      >>> m = v.replace("like", "love")
      >>> print(m)
      I love you
      
    • 其他

      -expandtabs(self, tabsize = None)

      将tab转换成空格,默认一个tab转换成8个空格

      >>>test = "username	email	password"
      >>>v = test.expandtabs(3)
      >>>print(v)
      username  temail  tpassword   ##这些单词之间都多了两个空格
      

      -format(*args, **kwargs)

      格式化

      >>>test = 'I am {name}, age {a}'
      >>>v = test.format(name = "Hermaeus", age = 19)
      >>>print(v)
      I an Hermaeus, age 19
      

      -translate(self, table, deletechars=None)

      转换,需要提前做一个对应表,最后一个表示删除字符集合

      >>> v = "I like your eyes"
      >>> m = str.maketrans("your", "1234") ##先建立一个对应关系,两个值必须等长
      >>> new_v = v.translate(m)  ##转换
      >>> print(new_v)
      I like 1234 e1es
      
    • 循环

      可以通过for循环打印字符串

      >>> v = "I love you"
      >>> for i in v:
      	print(i)	
      I
       
      l
      o
      v
      e
       
      y
      o
      u
      

    (四)range(start, stop,[ step])

    可以通过range()函数得到一个连续的,或者递增/递减的取值范围

    >>> for i in range(1,10,2):
    	print(i)	
    1
    3
    5
    7
    9
    
  • 相关阅读:
    2018 校招在线编程 20题-01
    ubuntu 配置muduo库
    plsql远程访问配置
    web开发转发和重定向大比拼
    Eclipse中svn同步忽略设置
    静态方法、实例方法和域
    接口中的域
    屏蔽所有异常的方法
    使用axis2时在temp文件产生大量缓存
    spring boot redis分布式锁 (转)
  • 原文地址:https://www.cnblogs.com/MingleYuan/p/10859321.html
Copyright © 2020-2023  润新知