目录
格式:eval(表达式,globals参数,locals参数)
作用:将字符串当成有效的表达式来求值并且返回结果
注意:globals参数和locals参数默认是空的
示例:
- # 表达式示例
- a = 10
- print(eval("a + 1")) # 输出11
-
- # globals参数使用
- g = {'a': 1}
- # 这里globals参数与表达式中的参数同名,会选择字典中的参数值作为a的值
- print(eval("a + 1", g)) # 输出2
-
- # locals参数使用
- b = 20
- c = 30
- f = {"a": 1, "b": 3}
- t = {"b": 2, "c": 3}
- # b参数在globals参数和locals参数中都出现了,选择了locals参数中的值作为b的值
- print(eval("a + b + c", f, t))
格式:chr(数值表达式)
作用:返回当前整数的ASCII字符,数值范围在0-1114111
示例:
- # chr() 使用
- a = chr(97) # 把97对应的字符返回
- print(a) # 输出a
格式:ord("字符串")
作用:把对应的字符转换为对应的十进制整数,只能传一个字符
示例:
- # ord() 用法
- a = ord("a") # 把 a 对应的十进制整数返回
- print(a) # 输出97
格式:字符串.format(参数,...)
作用:通过字符串中的 {} 来识别替换字符串中的字符
- # {} 数量决定参数数量,{} 数量不可以多于参数数量
- str1 = '我叫{}'
- up = str1.format('李白', '韩信')
- print(up) # 输出 我叫李白
- # 替换字段可以重复,数字形式的简单字段名相当于把字段当成一个序列形式,通过索引的形式进行一一取值
- print('我喜欢{1},我不喜欢{2},我是{0}'.format('李白', '酒', '美女'))
- # 可以用关键字传递
- print('我喜欢{t},我不喜欢{hobby},我是{name}'.format(name='李白', hobby='酒', t='美女'))
- # 关键字参数必须位于位置参数之后
- # 混合使用时,可以省略数字
- # 省略字段名{}不能和数字形式的字段名同时使用
- print('我是{0},我爱{1},我想成为{t}'.format('陈平安', '喝酒', t = '剑圣'))
- print('我是{},我爱{},我想成为{t}'.format('陈平安', '喝酒', t = '剑圣')) # 可以省略数字
- # 列表的使用
- list1 = ['英雄', '正义的人', '保护世界']
- print('我是一名{},我要成为{},我想{}'.format(*list1))
- print('我是一名{2},我要成为{0},我想{1}'.format(*list1)) # 可以加上参数
- # 使用字典
- dict1 = {'name': '李白', 'age': 20, 'hobby': '唱歌'}
- # 一个 * 拿到的是key值,两个 * 拿到的才是 values
- print('我叫{name}, 今年{age}, 我喜欢{hobby}'.format(**dict1)) # 需要使用两个 *
- # 混合使用 关键字和数字可以随意使用
- print('我是一名{1},我要成为{name},我想{2}, 我叫{name}, 今年{age}, 我喜欢{hobby}'.format(*list1, **dict1))
1. ^ :居中对齐 ,后面接宽度
2. <:左对齐,后面接宽度
3. >:右对齐,后面接宽度
- print("{:>5}".format(1)) # 向右对齐
- print("{:^5}".format(1)) # 居中对齐
格式:字符串.join(字符串)
作用:将字符序列,按指定的字符串进行连接
- seq1 = ['hello', 'good', 'boy', 'doiido']
- print(' '.join(seq1)) # 以空格分割,组成一个新的长字符串
- print(':'.join(seq1)) # 输出 hello:good:boy:doiido
- # 对字符串进行操作
- seq2 = 'hello word'
- l = ':'.join(seq2) # 把字符串每个字符按指定字符分割
- print(l) # 输出 h:e:l:l:o: :w:o:r:d
- # 对元组进行操作
- seq3 = ('hello', 'good', 'boy', 'doiido')
- print(':'.join(seq3)) # 输出 hello:good:boy:doiido
- # 合并目录
- import os
- li = os.path.join('/hello/', 'goodboy/')
- print(li) # 输出 /hello/goodboy/
注意:各进制数转换出来返回的结果是字符串
示例:
- a = 8
- # 十进制转二进制
- print(a,'二进制数:', bin(a))
- # 十进制转八进制
- print(a, '八进制数:', oct(a))
- # 十进制转十六进制
- print(a, '十六进制:', hex(a))
-
- b = 0o300
- # 八进制转换为二进制
- print(b, '二进制数:', bin(b))
-
- # 二进制转换为十进制
- print(int('1001', 2)) # 这里需要指定
- print(0b1001) # 这里需要指定为二进制
- # 指定二进制的位数输出
- print(format(int(33), '08b')) # 输出八位二进制数 00100001
- print(format(int(13), '04b')) # 输出四位二进制数 1101
- # 直接转换成十进制
- print(0o300) # 八进制转十进制
- print(0x200) # 十六进制转十进制
格式:字符串.strip(字符)
作用:移除开头结尾指定的字符
示例:
- # strip 用于移除头尾指定的字符
- str = '//haklg/fig/gj,jaig\i/g|ioar '
- print(str.strip('/ ')) # 输出 haklg/fig/gj,jaig\i/g|ioar
格式:字符串.split(字符,参数)
作用:按指定字符进行分割,返回的是字典,参数控制分割的次数
示例:
- str = '//haklg/fig/gj,jaig\i/g|ioar '
- # split 通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分割num个子字符串
- print(str.split('/')) # 输出 ['', '', 'haklg', 'fig', 'gj,jaig\\i', 'g|ioar ']
- print(str.split('/', 3)) # 输出 ['', '', 'haklg', 'fig/gj,jaig\\i/g|ioar ']