题图:Photo by Markus Spiske on Unsplashpython
Python给咱们内置了大量功能函数,官方文档上列出了69个,有些是咱们是平时开发中常常遇到的,也有一些函数不多被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法函数
print函数是你学Python接触到的第一个函数,它将对象输出到标准输出流,可将任意多个对象打印出来,函数的具体定义:学习
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
objects 是可变参数,因此你能够同时将任意多个对象打印出来编码
>>> print(1,2,3)1 2 3
默认使用空格分隔每一个对象,经过指定sep参数可使用逗号分隔spa
>>> print(1,2,3, sep=',') 1,2,3
对象默认输出的是标准输出流,你也能够将内容保存到文件中code
>>> print(1,2,3, sep=',', file=open("hello.txt", "w"))
能够用 isinstance
函数判断某个对象是否属于某个类的实例,函数的定义对象
isinstance(object, classinfo)
classinfo 既能够是单个类型对象,也能够是由多个类型对象组成的元组,只要object的类型是元组中任意一个就返回True,不然返回Falseblog
>>> isinstance(1, (int, str)) True >>> isinstance("", (int, str)) True >>> isinstance([], dict) False
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 python hello python hello 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(iterable, start=0)
例如:
>>> for index, value in enumerate("python"): ... print(index, value) ... 0 p 1 y 2 t 3 h 4 o 5 n
index 默认从0开始,若是显式指定参数start,下标索引就从start开始
>>> for index, value in enumerate("python", start=1): ... print(index, value) ... 1 p 2 y 3 t 4 h 5 o 6 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 p 1 y 2 t 3 h 4 o 5 n
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() 反转序列对象,你能够将字符串进行反转,将列表进行反转,将元组反转
>>> list(reversed([1,2,3]))
[3, 2, 1]
open 函数用于构造文件对象,构建后可对其进行内容的读写操做
open(file, mode='r', encoding=None)
读操做
#Python学习群592539176 # 从当前路径打开文件 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("!!!")
sroted 是对列表进行从新排序,固然其余可迭代对象都支持从新排放,返回一个新对象,原对象保持不变
>>> sorted([1,4,2,1,0])
[0, 1, 1, 2, 4]