其他分享
首页 > 其他分享> > 04--基本类型01--数字和字符串

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