04--基本类型01--数字和字符串
作者:互联网
1 数字类型
1.1 int类型
# 1.类型转换
int() 整数
10进制----> 2进制 0b
bin()
10进制----> 8进制 0o
oct()
10进制----> 16进制 0x
hex()
其他进制 转 10进制
int('0b11',2)
1.2 float类型
# 1.类型转换
float() 浮点数
# 总结:int与float 没有需要掌握的内置方法,使用就是数学运算 和比较运算
2 字符串类型
2.1 类型转换
str()---->可以把任意其他类型都转成字符串
2.2 内置方法
# 1 优先掌握
a. 按索引值(正向取+反向取):只能取(因为字符串是不可变类型)
b. 切片(顾头不顾尾,步长)
1.索引的拓展引用,从一个大的字符串中拷贝出一个子字符串(跟原字符串没有关系)
2.步长(就是间隔)
msg = 'hello world'
res = msg[0:5:2] # 这里的 :2 就是步长
3.反向步长(了解)
res = msg[5:0:-1] # 这里的 :-1 表示反向步长,注意:反向步长,就一定对应 反向的索引取值
res = msg[::-1] # 拷贝并反转字符串 >>> ' olle'
c. 长度len()
d. 成员运算 in 和 not in ---> 判断一个子字符串 是否在一个大字符串中
e. 移除字符串左右两侧的符号,不去中间
.strip('符号') # 默认为空,去掉的是空格
msg.strip()
f. 切分split:把一个字符串按照某种分隔符进行切分,得到一个列表
# 默认分隔符是空格
info='egon 18 male'
res=info.split()
# 指定分隔符
info='egon:18:male'
res=info.split(':')
# 指定分隔次数(了解)
info='egon:18:male'
res=info.split(':',1)
# 2 需要掌握
# 2.1 strip,lstrip,rstrip 移除特定符号
msg='***egon****'
print(msg.strip('*')) # 左右两侧
print(msg.lstrip('*')) # 左侧
print(msg.rstrip('*')) # 右侧
# 2.2 lower,upper
msg='AbbbCCCC'
print(msg.lower())
print(msg.upper())
# 2.3 startswith,endswith
print("alex is sb".startswith("alex"))
print("alex is sb".endswith('sb'))
# 2.4 format 见2.3 格式化输出
# 2.5 split,rsplit:将字符串切成列表
info="egon:18:male"
print(info.split(':',1)) # ["egon","18:male"]
print(info.rsplit(':',1)) # ["egon:18","male"]
# 2.6 join: 把列表拼接成字符串
l=['egon', '18', 'male']
res=l[0]+":"+l[1]+":"+l[2]
res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
print(res)
l=[1,"2",'aaa']
":".join(l) # 报错
# 2.7、replace 替换
msg="you can you up no can no bb"
print(msg.replace("you","YOU",))
print(msg.replace("you","YOU",1)) # 指定次数
# 2.8、isdigit
判断字符串是否由纯数字组成
print('123'.isdigit())
print('12.3'.isdigit())
# 3 了解
# 3.1 find,rfind,index,rindex,count
msg='hello egon hahaha'
# 找到返回起始索引
print(msg.find('e')) # 返回要查找的字符串在大字符串中的起始索引
print(msg.find('egon'))
print(msg.index('e'))
print(msg.index('egon'))
# 找不到
print(msg.find('xxx')) # 返回-1,代表找不到
print(msg.index('xxx')) # 抛出异常
msg='hello egon hahaha egon、 egon'
print(msg.count('egon')) # 返回str里面出现的次数,可以指定起止索引位置
# 3.2 center,ljust,rjust,zfill
print('egon'.center(50,'*')) # 居中,并填充*
print('egon'.ljust(50,'*')) # 局左,并填充*
print('egon'.rjust(50,'*')) # 居右,并填充*
print('egon'.zfill(10)) # 居右,并填空0
# 3.3 expandtabs
msg='hello\tworld'
print(msg.expandtabs(2)) # 设置制表符代表的空格数为2
# 3.4 captalize,swapcase,title
print("hello world egon".capitalize()) # 第一个字符大写
print("Hello WorLd EGon".swapcase()) # 大小写字母进行转换
print("hello world egon".title()) # 所有单词以大写开始
# 3.5 is数字系列
# 3.6 is其他
print('abc'.islower())
print('ABC'.isupper())
print('Hello World'.istitle())
print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
print('ad'.isalpha()) # 字符串由由字母组成结果为True
print(' '.isspace()) # 字符串由空格组成结果为True
print('print'.isidentifier()) # 字符串是否是内置标识符,是结果为True
print('age_of_egon'.isidentifier()) # 检查是否是有效标识符(变量名)
print('1age_of_egon'.isidentifier())
num1=b'4' # bytes
num2=u'4' # unicode,python3中无需加u就是unicode
num3='四' # 中文数字
num4='Ⅳ' # 罗马数字
# isdigit只能识别:num1、num2 只包含数字
print(num1.isdigit()) # True
print(num2.isdigit()) # True
print(num3.isdigit()) # False
print(num4.isdigit()) # False
# isnumberic只能识别:num2、num3、num4 只包含数字字符
print(num2.isnumeric()) # True
print(num3.isnumeric()) # True
print(num4.isnumeric()) # True
# isdecimal只能识别:num2 只包含十进制数字
print(num2.isdecimal()) # True
print(num3.isdecimal()) # False
print(num4.isdecimal()) # False
2.3 格式化输出
# 1. % 按位置一一对应传参,也可以用字典关键字传递,效率很低,不常使用
print('my name is %s age is %s' % ('edmond', 18))
print('my name is %s age is %s%%' % ('edmond', 18)) # 若是 需要输出百分号,则在其前 再加一个 %
# 2. str.format() python 2 3 都支持,兼用性好,常用
# 按位置一一对应传递
print('my name is {} age is {}'.format('edmond', 18))
# 按关键字传递
print('my name is {a}; my age is {b}'.format(a='edmond', b=18))
# .format() 填充与格式化 (了解)
print('{x:=<10}'.format(x='开始执行'))
# 开始执行====== 格式是 { :填充的内容 < 从右侧开始,10 一共多少位}
print('{x:=>10}'.format(x='开始执行'))
# ======开始执行 :填充的内容 > 从左侧开始,10 一共多少位
print('{x:=^10}'.format(x='开始执行'))
# ===开始执行=== :填充的内容 ^ 从两端开始,10 一共多少位
# .format() 保留多少位小数
print('{salary:.3f}'.format(salary=123.1261653)) # 保留小数点后三位 123.126,格式是 { : . 多少位 f}
# 3. f'' 效率最好,支持python3
a = 'edmond'
b = 18
print(f'my name is {a}; my age is {b}')
# 若是想输出包含 {},同理在其前面再加一个{},转义
print(f'my name is {{{a}}}; my age is {b}')
# f''的强大之处,{}内的字符串可以被当做表达式运行 . 不太懂,尽量别使用 (了解)
print(f'{10+15}')
f'{print(" hello world")}'
标签:01,04,--,18,egon,msg,字符串,print,True 来源: https://www.cnblogs.com/Edmondhui/p/16354253.html