Python基础知识汇总(字符串三)

目录

高级字符串内置函数

eval()函数

exec()函数

ascii()函数

compile()函数


高级字符串内置函数

eval()函数

用于执行一个字符串表达式,且返回表达式的值(计算结果)。

语法格式:

eval(expression[,globals[,locals]])
# expression表示字符串类型表达式;
# globals为可选参数,表示变量作用域,全局命名空间,若指定了globals参数,则参数必须是一个字典对象;
# locals为可选参数,表示变量作用域,局部命名空间,若指定了locals参数,则参数可以是任何映射对象。
print(eval('0+1+2+3+4+5'))

n = 6
print(eval("n + 100"))          # 加法
print(eval("n * 100"))           # 乘法
print(eval("pow(n,2)"))         # 幂

n = input("输入一个算数公式:")
print(eval(n))

运行结果:

a = 0
list = []                 # 定义空序列对象
while a < 10:        # 循环计算每一个数的3次方结果
    list.append(eval("pow(a,3)"))
    a += 1
print(list)

运行结果:

a = "[1,2,3,5,10]"          # 字符串
b = "(1,3,5,7)"             # 字符串
c = "20"                    # 字符串  
print(a,"转换前类型为:",type(a))        
print(a,"转换后类型为:",type(eval(a)))     # 列表
print(b,"转换前类型为:",type(b))
print(b,"转换后类型为:",type(eval(b)))     # 元组
print(c,"转换前类型为:",type(c))
print(c,"转换前类型为:",type(eval(c)))     # 整数

 运行结果:

exec()函数

用于执行存储在字符串或者文件中的python语句。可以执行更复杂的python代码。

语法格式:

exec(object[,globals[,locals]]
# object为必选参数,表示需要被指定的Python代码,必须是字符串或code对象。若为字符串则该字符串会先被解析为一组Python语句再执行(除非发生语法错误);若是code对象则被简单的执行。
# globals为可选参数,表示全局命名空间(存放全局变量),若指定该参数则对象必须为一个字典对象。
# locals为可选参数,表示当前局部命名空间(存放局部变量),若指定该参数则可以是任何映射对象;若忽略该参数则将取与globals相同值。
code = """
import random  # 导入随机数模块
a = 0
list = []
while a < 10:
    list.append(random.randint(0,10))    # 将随机数添加至列表中
    a += 1
print(list)
"""
exec(code)

 运行结果:

ascii()函数

用于返回对象的可打印字符串表现方式。

语法格式:

ascii(object)
# object表示对象。
# 返回值为一个表示对象的字符串。若为非ASCII字符,就会输出\x、\u或\U等字符。
print(ascii(20))
print(ascii('@'))
print(ascii("我爱学习"))     # 非ASCII字符
print(ascii("python"))
print(ascii("a\30"))

 运行结果:

compile()函数

用于将一个字符串编译为字节代码。

语法格式:

compile(source,filename,mode[,flags[,dont_inherit]])
# source表示字符串或者AST(Abstract Syntax Trees)对象。
# filename表示代码文件名称,若不是从文件读取代码则传递一些可辨认的值。
# mode指定编译代码的种类。可以指定为exec、eval、single。
# flags表示变量作用域,局部命名空间,若指定该参数则可以是任何映射对象。
# dont_inherit用来控制编译源码时的标志。
# 返回值为表达式执行的结果。
code = """
for a in range(0,15):
    if a % 5 == 0:
        print(a,end = '、')"""
byteExec = compile(code,' ','exec')
exec(byteExec)

 运行结果:

未完待续。。。。。

后续讲字符串如何转换字母大小写以及删除空格、特殊字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值