Python中的56个内置函数详解(四)
25、format()
描述:Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。使用format()来格式化字符串时,使用在字符串中使用{}作为占位符,占位符的内容将引用format()中的参数进行替换。可以是位置参数、命名参数或者兼而有之。
format 函数可以接受不限个参数,位置可以不按顺序。
语法:format(value, format_spec)
参数:
案例:
# 位置参数'{}:您{}购买的{}到了!请下楼取快递。' .format('快递小哥','淘宝','快递')'快递小哥:您淘宝购买的快递到了!请下楼取快递。' #给批量客户发短息n_list=['马云','马化腾','麻子','小红','李彦宏','二狗子'] for name in n_list: print('{0}:您淘宝购买的快递到了!请下楼取快递!' .format(name))马云:您淘宝购买的快递到了!请下楼取快递! 马化腾:您淘宝购买的快递到了!请下楼取快递! 麻子:您淘宝购买的快递到了!请下楼取快递! 小红:您淘宝购买的快递到了!请下楼取快递! 李彦宏:您淘宝购买的快递到了!请下楼取快递! 二狗子:您淘宝购买的快递到了!请下楼取快递! #名字进行填充 for n in n_list: print('{0}:您淘宝购买的快递到了!请下楼取快递!'.format(n.center(3,'*'))) *马云:您淘宝购买的快递到了!请下楼取快递!马化腾:您淘宝购买的快递到了!请下楼取快递! *麻子:您淘宝购买的快递到了!请下楼取快递! *小红:您淘宝购买的快递到了!请下楼取快递! 李彦宏:您淘宝购买的快递到了!请下楼取快递! 二狗子:您淘宝购买的快递到了!请下楼取快递! '{0}, {1} and {2}'.format('gao','fu','shuai')'gao, fu and shuai'x=3y=5'{0}+{1}={2}'.format(x,y,x+y) # 命名参数'{name1}, {name2} and {name3}'.format(name1='gao', name2='fu', name3='shuai')'gao, fu and shuai' # 混合位置参数、命名参数'{name1}, {0} and {name3}'.format("shuai", name1='fu', name3='gao')'fu, shuai and gao' #for循环进行批量处理["vec_{0}".format(i) for i in range(0,5)]['vec_0', 'vec_1', 'vec_2', 'vec_3', 'vec_4']['f_{}' .format(r) for r in list('abcde')]['f_a', 'f_b', 'f_c', 'f_d',
26、frozenset()
描述:frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
语法:class frozenset([iterable])
参数:iterable — 可迭代的对象,比如列表、字典、元组等等。
案例:
创建一个不可修改的集合。frozenset([1,1,3,2,3])frozenset({1, 2, 3})
27、getattr()
描述:获取对象的属性
语法:getattr(object, name[, default])
参数:
object — 对象。
name — 字符串,对象属性。
default — 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
案例:
class Age(object): age = 1 my_a = Age()getattr(my_a, 'age') # 获取属性 bar 值 1getattr(my_a, 'age1')'Age' object has no attribute 'age1'
28、gobals()
描述: 函数会以字典类型返回当前位置的全部全局变量。
语法:globals()
参数:无
案例:
a='runoob'print(globals()) # globals 函数返回一个全局变量的字典,包括所有导入的变量
29、hasattr()
描述:函数用于判断对象是否包含对应的属性。
语法:hasattr(object, name)
参数:
object — 对象。
name — 字符串,属性名。
案例:
class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print(hasattr(point1, 'x')) Trueprint(hasattr(point1, 'y')) Trueprint(hasattr(point1, 'z')) Trueprint(hasattr(point1, 'no')) # 没有该属性False
30、hash()
描述:返回对象的哈希值
语法:hash(object)
参数:object — 对象;
案例:
hash() 函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary 在 hash() 对对象使用时,所得的结果不仅和对象的内容有关,还和对象的 id(),也就是内存地址有关。 class Test: def __init__(self, i): self.i = ifor i in range(10): t = Test(1) print(hash(t), id(t)) hash(point1)16294976hash('返回对象的哈希值')4919828709165481160hash() 函数的用途hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的, 也用于校验程序在传输过程中是否被第三方(木马)修改, 如果程序(字符)在传输过程中被修改hash值即发生变化, 如果没有被修改,则 hash 值和原始的 hash 值吻合, 只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。 name1='正常程序代码'name2='正常程序代码带病毒' print(hash(name1)) # -3048480827538126659print(hash(name2)) # -9065726187242961328
31、help()
描述:返回对象的帮助文档
语法:help([object])
参数:object — 对象
案例:
help('sys') # 查看 sys 模块的帮助help('str') # 查看 str 数据类型的帮助a = [1,2,3]help(a) # 查看列表 list 帮助信息 help(a.append) # 显示list的append方法的帮助
32、id()
描述:id() 函数返回对象的唯一标识符,标识符是一个整数。CPython 中 id() 函数用于获取对象的内存地址。
语法:id([object])
参数:object — 对象。
案例:
返回对象的内存地址a = 'runoob'id(a)260316720
Python中的56个内置函数详解(一)
Python中的56个内置函数详解(二)
Python中的56个内置函数详解(三)
Python中的56个内置函数详解(五)
Python中的56个内置函数详解(六)
Python中的56个内置函数详解(七)
来源:PY学习网:原文地址:https://www.py.cn/article.html