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

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Python中的56个内置函数详解(四)