python基本数据类型 数字 和 字符串

一、数字      int

  type可以查看数据类型

将字符串转换为数字:
a="123"
b=int(a)
print(type(a))

 

以十六进制或者八进制或者二进制的形式转换为十进制:
num="0011"
v=int(num,base=16)
print(v)
如何计算当前数字的二进制至少有几位
age=8
v=age.bit_length()
print(v)

 

将十进制转化为二进制

bin(8)

 

二、字符串   str

    字符串一旦创建便不可修改

    一旦修改或者拼接,都会造成重新生成新的字符串

  

1、将首字母大写
test="alexalex"
v=test.capitalize()
print(v)
2、将所有字符串变小写
test="ALexaLex"
v1=test.casefold()   比较牛逼,可把所有字符,符号变小写
v2=test.lower()      只能把常见字符变小写
print(v1, v2)
3、把内容居中,并可填充字符
test="alexalex"
v=test.center(20,'*')
print(v)
4、取字符串中找出子序列出现的次数,可以设置开始和结束的位置
test="alexalex"
v1=test.count('l')
v2=test.count('a',0,6)
print(v1,v2)
5、 encode
    decode
6、以、、、、、结尾,以、、、、、开始
  在、、、哪个区间结尾,在哪个区间开始

test
="alexalex" v1=test.endswith('e') v2=test.endswith('e',0,3) print(v1,v2) v3=test.startswith('a') v4=test.startswith('e',2,6) print(v3,v4)

 

7、制作列表样式
test="username \t   emall \t passworld \n 小明 \t qq.com \t 123\n 小明 \t qq.com \t 123 \n 小明 \t qq.com \t 123"
v=test.expandtabs(20)
print(v)
8、查找子序列,没有找到则打印-1
test="alexalex"
v=test.find('e',3,8)
print(v)
9、将字符串中的占位符替换为指定值
test="I am {name},age{age}"
v=test.format(name='cuiyongkang',age='28')
print(v)

# 或者可以写成
print("I am {0},age{1}".format('cuiyongkang','28'))
 
10、format_map用法:以字典的key传入

test="I am {name},age : {age}"
v=test.format_map({'name':'alex','age':'29'})
print(v)
11、index查找子序列的索引,找不到直接报错

test="alexalexalex"
v=test.index('e',3,7)
print(v)
12、判断字符串中只能是字母和数字,若是显示true,不是显示false

test="alexalexalex233"
v=test.isalnum()
print(v)
13、判断字符串中是否是字母或者汉字,

test="alexalexalex中国"
v=test.isalpha()
print(v)
14、如果字符串中的所有字符都是ASCII,则返回true,否则为false

test="alexalexalex23**中国"
v=test.isascii()
print(v)
15、判断字符串中是数字则为true,不是则为false

test="1233"
v=test.isdecimal()
print(v)
16、相对于isdecimal更牛逼一些,只能判断数字但是可判断②等特殊数字

test="1233②"
v=test.isdigit()
print(v)
17、 isidentifier
18、islower判断是否是小写
       isupper判断是否是大写

19、isnumeric判断是否是数字,可判断中文  二、三

20、 isprintable如果字符串是可打印的,则返回true,否则为false。

21、isspace如果字符串为空白字符串,则返回true,否则为false。

22、istitle如果字符串是标题字符串,则返回true,否则为false。
            标题中的所有首字母为大写
        title可以把字符串变为标题

23、isupper 如果字符串为大写字符串,则返回true,否则为false。
24、join 将字符串中的每个元素按指定分割符拼接

test="lexaalexalex"
t=" "
v=t.join(test)
print(v)

或 tese=['alex','alex','alex']
v'_'.join(test)
print(v) 输出为:alex_alex_alex
v
=" * ".join(test) print(v)


25、ljust 将分隔符填充在元素的右边
26、rjuse 将分隔符填充在元素的左边
27、lower 将字符串变成小写
28、upper 将字符串变成大些
29、去除空格 ,\t ,  \n
    lstrip  从左往右去空格
    rstrip 从右往左去除空格
    strip  去除左右空格

 

partition
replace
rfind    从左往右查找字符
rindex  从左往右查找字符,找不到报错
rjust    填充字符在字符串的左侧
35、partition分割字符,以字符串中的某一个字符为分割,包含分割元素

    test='alexalexalex'
    v=test.partition('x')
    print(v)
    ('ale', 'x', 'alexalex')


    test='alexalexalex'
    v=test.rpartition('x')
    print(v)
    ('alexalexale', 'x', '')

split,rsplit分割符,义字符串中的某一个字符为分割,不包含分割元素

36、splitlines 将字符串变成列表
    test="abc,abc,abc "
    v=test.splitlines()
    print(v)
37、startswith判断以、、、开头
    endswith判断以、、、结束

    test="abc,abc,abc"
    v=test.startswith('a')
    print(v)

38、swapcase大小写转换

 

39、replace 替换

    test="alexalexalex'
    v=test.replace('ex','en',2)    数字2表示替换前两个
    print(v)

 

补充 :maketrans替换,一般和translate联用

test="aeiou"
test1="12345"
v="abiconu"
m=str.maketrans("aeiou","12345")
new_v=v.translate(m)
print(new_v )

 

 

 字符串常用灰魔法

1、通过索引、下标获取字符串中的某一个字符

test='alex'
v=test[3]
print(v)

2、切片,获取字符串的范围

test='alex'
v1=test[0:3]
v2=test[0:-1]
print(v1)
print(v2)

3、len用法 :字符串中有多少个字符组成  只适用于Python3
test='ales'
v=len(test)
print(v)
或者
l1=[11,23,21,23,34,'alex']
v=len(l1)
print(v)
4、for循环   依次循环打印字符串或列表中的字符

test="'alex'是好人"
for i in test:
print(i)

 

5、range 可以帮助创建连续的数字,也可以通过设置步长来创建不连续的数字。

创建连续数字:
for i in range(100):
    print(i)

设置步长创建不连贯数字:
for i in range(0,100,10):
    print(i)

 

 

 

三、列表      list

四、元祖     tuple

五、字典     dict

六、布尔值 bool

posted @ 2018-06-02 15:11  崔永康  阅读(201)  评论(0编辑  收藏  举报