Python学习之Part21.python中的内置函数_02

1.其他的一些内置函数

汇总如下:
在这里插入图片描述

  1. dir & help :help 是比 dir 更详细的帮助
    dir 用来获取一个数据类型所拥有的全部方法,help打印一个关键字或函数的用法,没有返回值;
print(dir(int))
help(str)
  1. callable(): 判断一个变量是否可以被调用 (可以用来判断一个变量到底是一个函数还是一个值,返回True & False;
    例如:
print(callable(print))
a = 1
print(callable(a))

输出为:
在这里插入图片描述

  1. print() 函数:输出,
    举例说明end, sep, file参数的作用:
print('test\n', end='')
print('test', end='')   # end关键字指定每条print语句的结束符,默认以换行结束
print(1,2,3, sep='-')     # sep关键字用来指定每个输出字符的连接方式
# file参数用来将内容输出到指定的文件中
f=open('file', 'w')
print('test',file=f)
f.close()

输出如下:
在这里插入图片描述
flush 参数说明:

f = open('file','w',encoding='utf-8')
print('123456',file=f)
# f.close()

1.在进行写文件操作时,一般情况下会将需要写入文件的字符先写入缓存,
 等到确定不再写入字符时,再将缓存中的字符写入文件,
 而当flush=True时,是直接将字符立即写入文件,不做缓存
2. flush参数主要是刷新, 默认flush = False,不刷新;
 如上面例子,print到f中的内容先存到内存中,当文件对象关闭时才把内容输出到 file 中;
 而当flush = True时它会立即把内容刷新存到 file 中。

  1. exec & eval 函数:执行字符串形式的python语句
# 相同:都可以执行字符串形式的python语句
exec('print(123)')
eval('print(123)')
# 不同:eval有返回值,返回值是执行的python语句的结果;exec没有返回值
print(exec('1+2+3'))
print(type(eval("'abc'+'ef'")))

在这里插入图片描述
5. compile() 函数:将字符串形式的代码编译,使其能通过exec语句来执行或eval进行求值。
 说明:注意:compile()将编译后的语句执行,会提高代码的执行速度,只有在同一代码多次执行的时候,这种速度才会体现

几个例子:

1.流程控制
code1 = 'for i in range(10): print(i)'
# compile如不是从文件中读取代码,则第二个参数需要传递一个可辨认的字符;
#        若是从文件中读取代码,则第二个参数传递文件名
compile1 = compile(code1, '', 'exec')
exec(compile1)

# 2.简单计算
code2 = '1+2+3'
compile2 = compile(code2, '', 'eval')
print(eval(compile2))

# 3.所执行语句中含有交互语句: 使用 single 参数
code3 = 'name = input("Please input your name:")'
# 若所执行语句中含有交互语句,则传参时使用 single 参数
compile3 = compile(code3, '', 'single')
# print(name)   # 执行前name不存在
exec(compile3)  # 执行时显示交互命令,提示输入
# print(name)   # 执行后name有值
"""
在执行前 name 没有接受到用户输入,因此name不存在,所以在执行前输出name时报错;
在执行后 name 实际上已经存在与内存中了,所以可以正常输出不报错;
虽然编辑器提示语法错误,但是实际上是可以正确执行的。
"""

2.迭代器/生成器相关的函数

汇总如下:

在这里插入图片描述
1.range() 函数:
 说明:range()的结果是一个可迭代对象而不是一个迭代器;
2.next(迭代器) == 迭代器.next()
 返回迭代器中的一个值;
3.iter(可迭代对象) == 可迭代对象.iter()
  返回一个迭代器;

3.作用域相关函数

汇总如下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值