python eval、chr、ord、format、join、strip和split函数的使用

目录

1. eval 函数

2. chr函数

3. ord函数

4. format函数

5. join函数

6. 进制转换

7. strip函数

8. split函数


1. eval 函数

        格式:eval(表达式,globals参数,locals参数)

        作用:将字符串当成有效的表达式来求值并且返回结果

  • 表达式:该位置放置字符串表达式
  • globals参数:该部分一定是字典,否则会出错,表达式中的参数值会被限定在globals参数中
  • locals参数:该参数控制局部的命名空间,必须是字典,当glogals参数和locals参数冲突时,优先选择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))

2. chr函数

        格式:chr(数值表达式)

        作用:返回当前整数的ASCII字符,数值范围在0-1114111

示例:

# chr() 使用
a = chr(97)  # 把97对应的字符返回
print(a)  # 输出a

3. ord函数

        格式:ord("字符串")

        作用:把对应的字符转换为对应的十进制整数,只能传一个字符

示例:

# ord() 用法
a = ord("a")  # 把 a 对应的十进制整数返回
print(a)  # 输出97

4. format函数

        格式:字符串.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))  # 居中对齐

5. join函数

        格式:字符串.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/

6. 进制转换

  • 转换成二进制函数:bin(数字)
  • 转换成八进制函数:oct(数字)
  • 转换成十六进制函数:hex(数字)

注意:各进制数转换出来返回的结果是字符串

        示例:

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)  # 十六进制转十进制

7. strip函数

        格式:字符串.strip(字符)

        作用:移除开头结尾指定的字符

        示例:

# strip 用于移除头尾指定的字符
str = '//haklg/fig/gj,jaig\i/g|ioar  '
print(str.strip('/ '))  # 输出 haklg/fig/gj,jaig\i/g|ioar

8. split函数

        格式:字符串.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  ']

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱笑的蛐蛐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值