Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法
print()
print函数是你学Python接触到的第一个函数,它将对象输出到标准输出流,可将任意多个对象打印出来,函数的具体定义:
print(*objects, sep=' ', end='', file=sys.stdout, flush=False)
objects 是可变参数,所以你可以同时将任意多个对象打印出来
> print(1,2,3)1 2 3
默认使用空格分隔每个对象,通过指定sep参数可以使用逗号分隔
> print(1,2,3, sep=',')1,2,3
对象默认输出的是标准输出流,你也可以将内容保存到文件中
> print(1,2,3, sep=',', file=open("hello.txt", "w"))
isinstance()
可以用 isinstance 函数判断某个对象是否属于某个类的实例,函数的定义
isinstance(object, classinfo)
classinfo 既可以是单个类型对象,也可以是由多个类型对象组成的元组,只要object的类型是元组中任意一个就返回True,否则返回False
> isinstance(1, (int, str))True> isinstance("", (int, str))True> isinstance([], dict)False
range()
range函数是个工厂方法,用于构造一个从[start, stop) (不包含stop)之间的连续的不可变的整数序列对象,这个序列功能上和列表非常类似,函数定义:
range([start,] stop [, step]) -> range object
start 可选参数,序列的起点,默认是0
stop 必选参数,序列的终点(不包含)
step 可选参数,序列的步长,默认是1,生成的元素规律是 r[i] = start + step*i
生成0~5的列表
> > range(5)range(0, 5)> > list(range(5))[0, 1, 2, 3, 4]>
默认从0开始,生成0到4之间的5个整数,不包含5,step 默认是1,每次都是在前一次加1
如果你想将某个操作重复执行n遍,就可以使用for循环配置range函数实现
> for i in range(3):... print("hello python")...hello pythonhello pythonhello python
步长为2
> range(1, 10, 2)range(1, 10, 2)> list(range(1, 10, 2))[1, 3, 5, 7, 9]
起点从1开始,终点10,步长为2,每次都在前一个元素的基础上加2,构成1到10之间的奇数。
enumerate()
用于枚举可迭代对象,同时还可以得到每次元素的下表索引值,函数定义:
enumerate(iterable, start=0)
例如:
> for index, value in enumerate("python"):... print(index, value)...0 p1 y2 t3 h4 o5 n
index 默认从0开始,如果显式指定参数start,下标索引就从start开始
> for index, value in enumerate("python", start=1):... print(index, value)...1 p2 y3 t4 h5 o6 n
如果不使用enumerate函数,要获取元素的下标索引,则需要更多的代码:
def my_enumerate(sequence, start=0): n = start for e in sequence: yield n, e n += 1 > for index, value in my_enumerate("python"): print(index, value)0 p1 y2 t3 h4 o5 n
len
len 用于获取容器对象中的元素个数,例如判断列表是否为空可以用 len 函数
> len([1,2,3])3> len("python")6> if len([]) == 0: pass
并不是所有对象都支持len操作的,例如:
> len(True)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: object of type 'bool' has no len()
除了序列对象和集合对象,自定义类必须实现了 __len__ 方法能作用在len函数上
reversed()
reversed() 反转序列对象,你可以将字符串进行反转,将列表进行反转,将元组反转
> list(reversed([1,2,3]))[3, 2, 1]
open()
open 函数用于构造文件对象,构建后可对其进行内容的读写操作
open(file, mode='r', encoding=None)
读操作
# 从当前路径打开文件 test.txt, 默认以读的方式
>f = open("test.txt")>f.read()...
有时还需要指定编码格式,否则会遇到乱码
f = open("test.txt", encoding='utf8')
写操作
>f = open("hello.text", 'w', encoding='utf8')>f.write("hello python"))
文件中存在内容时原来的内容将别覆盖,如果不想被覆盖,直接将新的内容追加到文件末尾,可以使用 a 模式
f = open("hello.text", 'a', encoding='utf8')f.write("!!!")
sorted()
sroted 是对列表进行重新排序,当然其他可迭代对象都支持重新排放,返回一个新对象,原对象保持不变
> sorted([1,4,2,1,0])[0, 1, 1, 2, 4]
以上所述是小编给大家介绍的Python常用的内置函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】