8个最常用的Python内置函数,小白必备!
题图:Photo by Markus Spiske on Unsplash
Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法
print()
print函数是你学Python接触到的第一个函数,它将对象输出到标准输出流,可将任意多个对象打印出来,函数的具体定义:
print(*objects, sep=' ', end='\n', 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 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()
用于枚举可迭代对象,同时还可以得到每次元素的下表索引值,函数定义:
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 函数
>>> 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)
读操作
#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("!!!")
sorted()
sroted 是对列表进行重新排序,当然其他可迭代对象都支持重新排放,返回一个新对象,原对象保持不变
>>> sorted([1,4,2,1,0])
[0, 1, 1, 2, 4]
8个最常用的Python内置函数,小白必备!的更多相关文章
- 人生苦短之我用Python篇(深浅拷贝、常用模块、内置函数)
深浅拷贝 有时候,尤其是当你在处理可变对象时,你可能想要复制一个对象,然后对其做出一些改变而不希望影响原来的对象.这就是Python的copy所发挥作用的地方. 定义了当对你的类的实例调用copy.c ...
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- python内置函数大全(分类)
python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...
- Python学习:6.python内置函数
Python内置函数 python内置函数,是随着python解释器运行而创建的函数,不需要重新定义,可以直接调用,那python的内置函数有哪些呢,接下来我们就了解一下python的内置函数,这些内 ...
- 【Python】Python内置函数dir详解
1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...
- Python补充--Python内置函数清单
Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print(&quo ...
- Python入门之 Python内置函数
Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...
- python之Python内置函数一览表
Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块. 如果你熟悉 Shell 编程,了解什么是 Shell 内置命令,那么你也很容易理解什么是 Python 内置函数 ...
随机推荐
- spring boot 中 Cache 的使用
参考:https://blog.csdn.net/qq_38974634/article/details/80650810 一.JSR107 Java Caching 定义5个核心的接口,分别是Cac ...
- Servlet 设置字符编码filter
filter package common; import javax.servlet.*; import java.io.IOException; public class EncodingFilt ...
- [转载]android 显示多选列表对话框setMultiChoiceItems
public class MultiChoiceItemsTest extends Activity implements OnClickListener { private String[] pro ...
- Android游戏开发学习(5)--实现Button悬浮于与SurfaceView之上
原文:http://daikainan.iteye.com/blog/1407355 实现Button悬浮于与SurfaceView之上实现 先看效果: 注意:你实现的SurfaceView和andr ...
- ORACLE varchar2类型的字段更改为clob
将varchar2类型字段改成clob类型 --增加临时新字段 alter table base_temp add temp clob; --将需要改成大字段的项内容copy到大字段中updat ...
- redhat 7.6 find 命令
1.按名字查找 find ./ -name filename //精确查找 ,./ 代表当前目录 -name 查询名称 filename具体文件名称 find ./ -na ...
- Codeforces1301C. Ayoub's function
本题的收获是,要学会反向思维,正向找包含1的太多,我们就反向找,全排列-只有0的不满足题意的就是答案,一共有n-m个0,m个1,插空法,一共有m+1个地方可以插入0序列,总排列数为(n+1)*n/2, ...
- Scrapy 使用 LinkExtractor 提取链接和使用 Exporter 导出数据
在爬取一个网站时,想要爬取的数据通常分布到多个页面中,每个页面包含一部分数据以及其他页面的链接,提取链接有使用 Selector 和使用 Linkextractor 两种方法. 1.使用Selecto ...
- Qt中QListWidget的verticalScrollMode选项设置为ScrollPerPixel无效果的原因
设置为ScrollPerPixel无效果,根据Qt手册的描述,需要在设置一次setSingleStep()的值,才会生效
- _CrtIsValidHeapPointer(pUserData)
程序遇到如题的运行时报错,参考下面这段文字,采取将自定义类的对象定义改为new方式生成后问题解决. !!Expression: _CrtIsValidHeapPointer(pUserData) vo ...