python--002--数据类型(int、str)

1. 整型 int

   int()、bit_length()

v = int("a", base=16)  # 表示以16进制转换a
print(v)

age = 5
r = age.bit_length()  # 输出二进制表示age要用几位
print(r)

 

2. 字符传 str

 1) capitalize()      将字符串首字母大写  

swapcase()  将大写转换为小写,将小写转换为大写;大小写转换

 

test = "wendy"
v = test.capitalize()   # 将字符串首字母大写
print(v)

输出为: Wendy

 

 

test = "SHFJSHFKDjdjdjjdgg"
v = test.swapcase()#大小写转换
print(v)

output:
shfjshfkdJDJDJJDGG

 

 

 

 

 2) casefold()  、lower()  都是将所有字符变为小写,casefold比lower更厉害,对很多其他未知的都可以变小写

test = "wEnDy"
v = test.casefold()   # 将所有字符变小写
print(v)

输出为:wendy

test = "wEnDy"
v = test.lower()   # 将所有字符变小写
print(v)

输出为:wendy

3)count()   去字符串中寻找,子序列出现的次数

test = "wEnDy"
v = test.count("D")   # 去字符串test中寻找,子序列D出现的次数
print(v)

输出为:1

4) endswith()、startswith()  以什么结束和开始,返回true或false

 

test = "wEnDy"
v = test.startswith("w")   # 以什么开始
v1 = test.endswith("d")   # 以什么结束
print(v,v1)

输出:True False

5)find()  从开始往后找,找到第一个后,返回其位置。与index功能一样,不过如果找不到fin返回 -1 ,而index会直接报错,所以find更常用

     index() 与find功能一样

test = "wEnDy"
v = test.find("D")   # 从开始往后找,找到第一个后,获取其位置
print(v)

输出:3

test = "wEnDy"
v = test.index("D")   # 从开始往后找,找到第一个后,获取其位置
print(v)

输出为3

 

6)format()   格式化,将第一个字符串中的占位符替换为指定的值,第二种方式必须从0开始,依次赋值   

     format_map()   与format的区别是传入字典形式的参数

test ='I am {name},age is {age}'
v=test.format(name="wendy",age=19)     #第一种方式
print(v)

test1 ='I am {0},age is {1}'
v1=test1.format('wendy',19)   # 第二种方式
print(v1)

输出均为:I am wendy,age is 19
test = 'I am {name},age is {age}'
v = test.format_map({"name": 'wendy', "age": 19})  # 传入字典形式的参数
print(v)

输出也为:I am wendy,age is 19

7)expandtabs(x)   x个为一段,遇到\t后补充空格至x位,最后一段不管,打印出来像表格

test="name\temail\tpwd\nlishining\tlishining@.com\t123\n "
v=test.expandtabs(15)    # 15个为一段,遇到\t后补充空格至15位,最后一段不管
print(v)

输出为:
name           email          pwd
lishining      lishining@.com 123

8) isalnum()   判断是否只包含数字和字母

       isalpha()  表示是否是字母或汉字    

  isdecimal()      # 表示是否是数字,最常用
  isdigit()    # 表示是否是数字,比isdecimal更厉害,能识别特殊字符
  isnumeric()     # 表示是否是数字,最厉害,能识别中文的一二,但是最常用的是第一个isdecimal

 

      isprintable()# 表示是否存在不可显示的字符,类似于有转义字符就会为false

      isspace()#表示是否全部是空格

      istitle()#判断是否是标题(每个词首字母大写)

      title()#将字符串变为标题(每个词首字母大写)

9)  islower()、isupper() #判断是否是大小写

    lower()、upper()   #将字符变为大写或小写

 

10)  join()   将每个字之间加上指定的空格或_等指定的字符

test (= "你是风儿"
v = "_".join(test)  # 将每个字之间加上指定的空格、_
v2 = " ".join(test)
print(v,v2)

output 你_是_风_儿 你 是 风 儿

 

11)ljust()、rjust()、center()、zfill()

 

test = "addd"
v = test.ljust(20, "*")  # 字符在最左边,其余用*填充
print(v)
v = test.rjust(20, "*")  # 字符在最右边,其余用*填充
print(v)
v = test.center(20, "*")  # 字符在中间,其余用指定的*填充
print(v)
v = test.zfill(20)  # 左边用0填充,字符在最右边
print(v)

output:
addd****************
****************addd
********addd********
0000000000000000addd

 

12) lstrip()、rstrip()、strip() 去除字符串左边或右边的空格,其中strip()同时去除左右的空格

     还可以指定要移除的字符:v=test.lstrip(“x”)# 从左边开始移出指定字符,优先最多匹配

 

test = "    addd dhdj\t   "
v=test.lstrip()# l代表left左边
print(v)
v=test.rstrip()# r代表右边
print(v)
v=test.strip()  #去除字符串左边或右边空格,也可以去除\t\n
print(v)

output:
addd dhdj       #注:此处是有空格的
    addd dhdj
addd dhdj

 

13) m=str.maketrans(“seiou”,“12345”) #建立对应关系

    newv=test.translate(m) # 按照m对应关系进行替换test中的字符

         test.replace("aa", "bb", 2) # 表示替换将aa替换为bb,替换2次

test = "sgjawouaagggbd"
m = str.maketrans("seiou", "12345")  # 建立对应关系
newv = test.translate(m)  # 按照m对应关系进行替换test中的字符
print(newv)

V = test.replace("aa", "bb", 2)  # 表示替换将aa替换为bb,替换2次
print(V)

output:
1gjaw45aagggbd
sgjawoubbgggbd

 

14)分割

partition("s")# 找到第一个s进行分割成3份,包含s
rpartition("s")#从右边找到第一个s进行分割成3份,其中s为1份
split("s")# 以s进行分割,但拿不到s
splitlines()#按行进行分割,可以设置true或false是否保留换行符
test = "ghhsgjawouaagsggbd\tjfhjdkdsfifjfjf"
v=test.partition("s")# 找到第一个s进行分割成3份,包含s
print(v)
v=test.rpartition("s")#从右边找到第一个s进行分割成3份,其中s为1份
print(v)
v=test.split("s")# 以s进行分割,但拿不到s
print(v)
v=test.split("s",2)#2代表分割2次
print(v)
v=test.splitlines()#按行进行分割,可以设置true或false是否保留换行符
print(v)

output:
('ghh', 's', 'gjawouaagsggbd\tjfhjdkdsfifjfjf')
('ghhsgjawouaagsggbd\tjfhjdkd', 's', 'fifjfjf')
['ghh', 'gjawouaag', 'ggbd\tjfhjdkd', 'fifjfjf']
['ghh', 'gjawouaag', 'ggbd\tjfhjdkdsfifjfjf']
['ghhsgjawouaagsggbd\tjfhjdkdsfifjfjf']

 

   最重要的:join、split、find、strip、upper、lower、replace

 

3. 字符串的其他用法:

  len、for模块、索引、切片

  注意:字符串一旦创建不可修改,一旦修改或拼接,就会在内存中重新生成字符串

  len---可以取长度

v = len(test)

  for i in test:

     pass

  test[2]   --取值

  test[0:2]  --取一段值

 

4. range()在python2 和3的区别

  V=range(100)
  Python3中循环的时候才一个一个生成数字,python2中,使用range创建后马上就创建了0到99

  Python2 中xrange---循环的时候才一个一个的生成

       

  for i in range(0,100,1) # 取值从小到大
  for i in range(100,0,-1) # 取值从大到小

 

posted @ 2019-02-24 18:38  会长大的  阅读(339)  评论(0编辑  收藏  举报