栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python3 函数学习笔记04——内置函数(二)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python3 函数学习笔记04——内置函数(二)

abs()—绝对值函数
print(abs(-1))		# 1
print(abs(100))		# 100
round()—四舍五入
print(round(3.87))		# 4
print(round(9.21))		# 9
print(round(2.5))		# 2	奇进偶不进 n.5的情况特定发生。
print(round(3.5))		# 4	奇进偶不进 n.5的情况特定发生。
max()、min() 的高阶函数的使用方式
# 几种编程语言及其产生时间
lst = [('Python', 1991), ('C', 1972), ('Java', 1995), ('C#', 2001), ('Go', 2009)]
def fn(n):
    return n[1]
# 列表中产生时间最早的编程语言
#   key值为函数名
print(min(lst, key=fn))  # ('C', 1972)
# 列表中产生时间最晚的编程语言
#   key值为函数名
print(max(lst, key=lambda x: x[1]))  # ('Go', 2009)


# 由角色与其年龄组成的字典
dic = {'汤姆': 20, '杰瑞': 18, '狗狗斯派克': 23, '狗狗泰克': 3, '老鼠泰菲': 2}
def func(n):
    return dic[n]
# 年龄最大的角色
#   key值为函数名
print(max(dic, key=func))	# 狗狗斯派克
# 年龄最小的角色
#   key值为匿名函数
print(min(dic, key=lambda x: dic[x]))	# 老鼠泰菲
range()—产生指定范围数据的可迭代对象
# 一个参数
for i in range(3): # 0 1 2
	print(i)
	
# 二个参数
for i in range(3, 8): # 3 4 5 6 7 
	print(i)

# 三个参数
# 正向操作
for i in range(1,9,5): # 1 6 => 留头舍尾
	print(i)
	
# 逆向操作
for i in range(9,1,-3): # 9 6 3 
	print(i)
globals()、locals()—分别获取全局变量、局部变量的变量字典
def main():
    a = 1
    b = 2
    print('main函数局部作用域中的locls:', locals())
main()
c = 3
print('*' * 30)
print('全局作用域再的locls:', locals())
print('*' * 30)
print('全局作用域再的globals:', globals())

运行结果(在全局作用域下,globals()、locals()生成的自动是相同的):

main函数局部作用域中的locls: {'a': 1, 'b': 2}
******************************
全局作用域再的locls: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000017A250AF340>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'E:/Python/Study/py_20210522_爬虫/py_20220613_基础/py_20220616_globals与locals.py', '__cached__': None, 'main': , 'c': 3}
******************************
全局作用域再的globals: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000017A250AF340>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'E:/Python/Study/py_20210522_爬虫/py_20220613_基础/py_20220616_globals与locals.py', '__cached__': None, 'main': , 'c': 3}

另类创建变量的方式:

dic = globals()
dic['s'] = '创建一个全局变量'
print(s)
eval()、exec()—将字符串当作python代码执行
# eval   
strvar = "print(123)"
strvar = "int(15)"
print(strvar)
res = eval(strvar)
print(res,type(res))

# strvar = "a=3" error eval的局限性 不能创建变量
# eval(strvar)

# exec的功能更强大
strvar = "a=3" 
exec(strvar)	# 可以创建变量
print(a)

strvar = """
for i in range(10):
	print(i)
"""
exec(strvar)	# 运行for循环
repr()—将转义字符直接当做字符串输出
path = 'D:nPythontProject'
print(type(repr(path)))	# 
print(repr(path))	# 'D:nPythontProject'
# 相当于
print(r'D:nPythontProject')	# D:nPythontProject
hash()—生成哈希值
# 文件校验
with open("test01.py", mode="r", encoding="utf-8") as fp1, 
        open("test02.py", mode="r", encoding="utf-8") as fp2:
    res1 = hash(fp1.read())
    res2 = hash(fp2.read())
    if res1 == res2:
        print("文件校验成功")
    else:
        print("文件校验失败")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977399.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号