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

时间:2023-03-09 01:41:42
python基本数据类型  数字 和 字符串

一、数字      int

  type可以查看数据类型

将字符串转换为数字:
a=""
b=int(a)
print(type(a))
以十六进制或者八进制或者二进制的形式转换为十进制:
num=""
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)
、取字符串中找出子序列出现的次数,可以设置开始和结束的位置
test="alexalex"
v1=test.count('l')
v2=test.count('a',0,6)
print(v1,v2)
5、 encode
decode
、以、、、、、结尾,以、、、、、开始
在、、、哪个区间结尾,在哪个区间开始
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'))
 
、format_map用法:以字典的key传入值

test="I am {name},age : {age}"
v=test.format_map({'name':'alex','age':''})
print(v)
、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=""
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。
、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=""
v="abiconu"
m=str.maketrans("aeiou","")
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