【1.9】数据类型的魔法--数字--字符串

记住常用的几个方法,

在使用pycharm 工具时,就用ctrl + 鼠标左键 就可以找到他的方法  当然也有提示

type 可以看变量指的空间 存储的值 的类型

a = “abcd”

print (type(a))

结果就是 字符串类型

<type 'str'>

 

注意方法后面 的 括号 ()

 

1、数字  int

  数字 在2 里面 整型 和整型 运算时整型   1/2  =0

    在3里面就是  0.5  

  1、int 运算魔法

    改变变量的类型

        a = "a"

        a1 = int(a,base=16)

        就是将a 依 16进制 运算  然后将其整型值给 a1  结果是10

 

        a = "0011"
        b = int(a,base=8)
        print b

        b就是 9

 

        a = "0011"
        b = int(a,base=16)
        print b

        b就是 17

 

  2、计算该int 的二进制数的位数,前面的0 不计算

        a = 3

        a1 = a.bit_length()

 

2、字符串类型 string

  字符串有很多的方法,大概五六个方法

  1、首字母大写

  a = “abc”

  b = a.capitalize()    b=“Abc”

 

  2、所有字符小写

  英文可以用  lower

  所有包含未知(法国 德国或者其他国家)的用        casefold

 

  3、在指定宽度居中显示,并按指定方式填充,默认填充空白

  center(20,“*”)

  ljust

  rjust

  zfill  基本不用 默认右对齐  填充0

  4、encode decode

 

  5、endswith(“asc”),startswith(“abc”)

  以什么开始,以什么结尾

 

  6、计算某字符串在该字符串中出现的次数,当然也有指定 起始 下标index

  count(“ex”,4,20)

 

   7、find

  找到某字符串在该字符串中的第一次出现的下标 index   可以指定寻找的下标范围

 

  8、index 和 find一样 (只是find 给的返回值是 -1    index 没有找到就报错  该字符串不在目标字符串)

 

  9、format    格式化

  test =‘i am {name},age {age}’

  v = test.format(name=“tom”,age=18)

  print v

  结果就是 i am tom,age 18

     

  test1 =‘i am {0},age {1}’

  v1 = test1.format(“tom”,18)

  print v1

  结果就是 i am tom,age 18   这个就是按照顺序写入,才显示正确

 

  10、 format_map

  test2 =‘i am {name},age {age}’

  v2 = test.format_map({"name" : “tom”,"age" : 18})

  print v2

  结果就是 i am tom,age 18 

  这个就是 format 是按照顺序或者 占位符的名字 = 号来输入

  而format_map 是按照字典来输入的,保证名称对应正确就好

 

  11、检查字符串全是字母和数字

  a =“abcdefgh234——!@#¥¥”

  print a.isalnum()

  结果是False

 

  a =“abcdefgh234”

  print a.isalnum()

  结果是Ture

    isalnum()

 

  12、expandtabs   找\t  就是找tab  找到后按照指定的位数 n ,\t 前面的 m 个字符就保留,然后再填满 n-m 个空格

  找到 \t 就进行断句和添加空格

  a = “abcdefgh\t12asdfa\tABC”

  v=a.expandtabs(8) 

  print v

  结果: abcdefgh        12asdfa ABC

                abcdefgh     8个空格(8-0)        12asdfa 一个空格(8-7)     ABC

 

  a = "username\temail\tpassword\nyaoming\tyaoming@qq.com\t123456\nyaoming\tyaoming@qq.com\t123456\nyaoming\tyaoming@qq.com\t123456\nyaoming\tyaoming@qq.com\t123456\n"
  v=a.expandtabs(20)
  print v

结果就是:可以成为一个表格
username            email               password
yaoming             yaoming@qq.com      123456
yaoming             yaoming@qq.com      123456
yaoming             yaoming@qq.com      123456
yaoming             yaoming@qq.com      123456

 
     只包含字母就是True 或者就是False
     
  14、isdigit isdecimal(3) isnumeric 就是数字 阿拉伯 中文 判断数字 主要文件操作和运算
 
  用的多的 就是isdecimal 他判断的数字做运算比较多 isnumeric就是中文
  判定当前变量指定的存储空间中的值是否是数字 是就True
  当然 isdigit 就是 可以判断 “②” 是True 但是isdecimal 就是False

  15、isidentifier (3) 意思就是确认是否是正确的变量名 (字母 数字 下划线)

  16、islower 判断全是小写 lower 变小写 这个主要用在验证码 判断 无论你输入大小写 我把你输入变小写 然后在比较

  当然还有 isupper 和 upper

  17、isprintable 能否全部原样打印 就是True 如有\t \n 这些不能显示的就判断为False
  
  18、isspace 是否全部是空格 不是包含 如果字符为空就是没有空格“” 就是False
  
  19、title istitle
变成标题 判断是否是标题
an = "wo ai ni, china"
print an
print an.istitle()
a=an.title()
print a
print a.istitle()

结果是:

wo ai ni, china
False
Wo Ai Ni, China
True


20、join 加入字符到原来的字符串
a = "你是风儿我是沙"

b = "-"

print b.join(a)



结果:你-是-风-儿-我-是-沙

21、lstrip rstrip strip 最多匹配处理 移除

默认处理空格的 ,删除两边的空格 左右 全部 如空格 \n \t等
如果需要处理其他字符 就可以这样 lstrip(“abxcd”)
找到原字符串中的连续字符 abxcd 全部去掉 没有连续就去掉单个 一个都不匹配就不去掉 什么都不写 就默认去掉空格
  
22、对应替换 maketrans translate

a = “12345“
b = “aeiou"
new = str.maketrans(a,b)
v = "123465789234879865546"
new_v = v.translate(new)

a.partition("s") 找到第一个s 分割为三部分 s前一部分 s 一部分 是后一部分
a.rpartition(“s”) 找到最后一个s 分割为三部分
a.split("s",n) 默认全分开 有 n 就分割 n 次 分后就没有s
a.rsplit("s",n) 从右边开始找s 并分割 n次


正则表达式 也可以分割 你可以指定 是否需要分割的元素

24、splitlines 分割 按换行符号分割 参数的True False 是判断分割 是否保留换行符号\n
a = “ACDFAS\narerqegvfd\nsadafeqwg\nDFASDGF”

25、startswith endswith


26、swapace 大写转换

3、列表

   五六个方法

4、元组

  基本没有

5、字典

  四五个方法

 

 

 

a = raw_input(">>>")
b = a.split("+")
c = int(b[0])+int(b[1])
print a
print b
print c

5+9
['5', '9']
14





a = "abcebdebdea"
b = a.strip("a")
print a
print b
abcebdebdea
bcebdebde
 

 

  

  

posted @ 2016-02-24 14:26  科学小怪癖  阅读(232)  评论(0)    收藏  举报