内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等。
普陀网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下
本文将这68个内置函数综合整理为12大类,正在学习Python基础的读者一定不要错过,建议收藏学习!
(1)列表和元组
(2)相关内置函数
(3)字符串
frozenset 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
语法:sorted(Iterable, key=函数(排序规则), reverse=False)
语法:fiter(function. Iterable)
function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留留此项数据 , Iterable: 可迭代对象
搜索公众号顶级架构师后台回复“面试”,送你一份惊喜礼包。
语法 : map(function, iterable)
可以对可迭代对象中的每一个元素进行映射. 分别去执行 function
hash : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
'os.mkdir():创建一个新目录。
'os.makedirs():创建一个新目录,如果该目录的父目录不存在,则也会一并创建。
下面是一些示例代码,展示了如何使用这两个函数来创建目录:
# 导入 os 模块
import os
# 使用 os.mkdir() 创建一个新目录
os.mkdir("newdir")
# 使用 os.makedirs() 创建一个新目录,如果该目录的父目录不存在,则也会一并创建
os.makedirs("path/to/newdir")
在上面的代码中,第二行导入了 'os模块。然后,第四行使用os.mkdir()函数创建了一个名为newdir的新目录。第六行使用os.makedirs()函数创建了一个新目录,并指定了其完整路径。
注意,如果在执行这段代码时,当前工作目录下已经存在一个名为 'newdir或path/to/newdir的目录,则创建目录操作将会失败,会抛出一个FileExistsError异常。因此,在实际应用中,需要先判断该目录是否已经存在,然后再决定是否执行创建目录的操作
例如,可以使用 'os.path.exists()函数
参考:
Python中对OS模块的定位是:提供了使用操作系统的工具接口。
如果你想读写文件,可以参考open();
如果你想操作文件路径,参考os.path模块;
如果你想在命令行读取所有文件的所有行,参考fileinput模块;
如果你想创建临时文件或目录,参考tempfile模块;
如果你想更高级的文件和路径处理,参考shutil模块;
内置的OSError异常类型,比如在使用os模块中的函数接口时,在参数中提供了无效的文件或路径,就回报错os.error。
该变量返回当前操作系统的类型,当前只注册了3个值:分别是posix , nt , java, 对应linux/windows/java虚拟机。
在Python中,文件名,命令行参数和环境变量都是用字符串类型来表示。
接下来的这些函数和数据提供了当前进程和用户的信息状态和操作接口。
返回进程控制终端的文件名,适用于Unix系统。
返回字符串到环境变量的映射。
改变当前工作目录到指定的路径,path为要切换到的新路径。
通过文件描述符改变当前工作目录。
文件描述符是内核为了高效管理已经被打开的文件所创建的索引,
进程通过文件描述符来访问文件。 在程序刚启动的时候默认有3个文件描述符:0(标准输入),1(标准输出),2(标准错误),系统默认提供了 0~2的文件描述符,之后的 当我们进行 open,create等操作的时候 自动添加进表
所以int creat(const char * ,mode_t)返回的文件int 就是你所进行操作的文件的唯一身份标示,
然后你只要拿着这个ID 然后告诉系统给我找xx, write(int fd,char *buf,int lenght) 通过fd得到准确文件 然后写入。
当我们新建creat,打开open 之后,得到的fd 是从3开始的 因为前面的三个被系统占了在OS X系统下测试 文件描述符表 自增,当释放close之后,fd变成-1,如果再继续新建 则填补之前的空缺。
返回当前工作目录。
把字符串类型的文件名翻译成bytes类型的文件名;os.fsdecode()实现相反的功能。
返回路径的文件系统表示。
如果环境变量中存在key,返回环境变量key的值,否则返回default的值。
设置环境变量key的值为value。
使用当前uid/gid检测对路径path是否有访问权限。其中,path为要检测是否有权限的路径,mode为权限类别,值可以为os.F_OK、os.R_OK、os.W_OK、os.X_OK中的一个或多个;
切换当前的工作路径为path指定的路径。
设置路径path的标记为flags,flags为数字标记,多个flags可以使用or组合。flags可以为以下值或以下值的组合:
更改文件或目录的权限。
path -- 文件名路径或目录路径
mode -- 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, 写权限表示可以获取文件并且可以修改内容,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id-组id-其它顺序检验,最先匹配的允许或禁止权限被应用。
更改路径的拥有者和group id为uid和gid。如果不修改可以设置为-1,并且需要超级用户权限来执行权限修改操作。
path -- 设置权限的文件路径
uid -- 所属用户ID
gid -- 所属用户组ID
更改当前进程的根目录为path。
返回当前工作目录。
返回path目录路径下的文件列表,列表没有固定的顺序。
创建目录path。如果目录已经存在,会抛出异常FileExistsError。
递归的目录创建,递归的意思是创建所有到达叶子目录的中间目录。
从原始设备号(通常是stat中的st_dev或st_rdev)中提取设备major号码。
从原始设备号(通常是stat中的st_dev或st_rdev)中提取设备minor号码。
根据设备的major号码和minor号码组成原始设备号。
删除文件路径path。如果path指向的是目录路径,会抛出异常IsADirectoryError。如果要删除目录,使用rmdir。
递归的删除目录。与rmdir功能相似,不同的是,如果叶子目录被删除之后,removedirs会连续的删除每一层上级目录,直到抛出异常(异常会被忽略,因为异常通常意味着上层目录为非空目录)。
重命名文件或路径src为dst,如果dst已经存在,会抛出异常。
递归的重命名文件或目录。功能与rename类似,不同在于,renames首先创建new路径(即重命名之后的路径)的中间路径,然后创建完整new路径,最后,会使用removedirs删除掉old路径(实际上删除的是old路径与new路径不重合的部分)。
重命名文件或路径src为dst。如果dst是目录,抛出异常OSError。如果dst是文件且已经存在,且用户具有权限,dst会被替换掉。
删除path目录。如果path不存在,或者path非空,会抛出异常FileNotFoundError或OSError。如果要删除整个目录树,可以使用shutil.rmtree()。
返回path的绝对路径,效果等同于使用normpath:normpath(join(os.getcwd(), path))。
返回路径path的文件名,也就是对path调用os.path.split函数返回的元组的第二个元素。
paths为一个序列类型,其中每个元素表示一个路径,函数返回结果为每个元素所表示的路径的最长公共子路径。如果paths为空,或者paths同时包含绝对路径和相对路径,或者paths同时包含不同驱动类型的路径(比如Linux系统的路径和Windows系统的路径),则抛出异常ValueError。
list中的每个元素表示一个路径,函数返回每个路径的最长的共有路径前缀,因为计算方式为逐个字符进行比较,所以可能返回的结果并非有效的路径,如果要返回有效路径,可以使用commonpath。
返回path路径的目录部分,也就是对path调用os.path.split函数返回的元组的第一个元素。
如果path指向的路径已存在,则返回True,否则返回False。
在Unix和Windows系统中,返回path路径中的~被替换成用户的home目录之后的结果。
path路径中的 {name}被环境变量中对应名称的值替代。
返回最后一次访问path的时间,返回值的格式为一个float类型的数值,表示距离epoch基准时间1970-01-01 00:00:00的秒数。如果path表示的路径不存在或者没有权限,抛出异常OSError。
返回最后一次修改path的时间,返回值的格式为一个float类型的数值,表示距离epoch基准时间1970-01-01 00:00:00的秒数。如果path表示的路径不存在或者没有权限,抛出异常OSError。
返回path表示的文件或路径的大小,以byte字节为单位。如果path表示的路径不存在或者没有权限,抛出异常OSError。
如果path是绝对路径,返回True,否则返回False。
如果path表示的是已存在的文件路径,返回True。
如果path表示的是已存在的目录,返回True。
如果path表示的是链接,返回True。
判断path是否为挂载点。
连接一个或多个路径,path和多个*paths的连接会使用路径分隔符。
对path的字母大小写进行normalize。在Windows系统中,path中的所有字母都转成小写,并且把正斜杠转成反斜杠。在其他操作系统中,返回path本身。
对path进行normalize,删除多余的路径分隔符。
split the path into a pair (head, tail),其中tail是path中最后的部分,并且永远不会含有斜杠,head是除了tail之外的部分。如果path以斜杠结尾,tail为空;如果path中不包含斜杠,head为空;如果path为空,head和tail都是空。
(1)Lambda函数
用于创建匿名函数,即没有名称的函数。它只是一个表达式,函数体比def简单很多。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了。
Lamdba的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
利用Lamdba函数,往往可以将代码简化许多。
(2)Map函数
会将一个函数映射到一个输入列表的所有元素上,比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素。
我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简。
(3)Reduce函数
当需要对一个列表进行一些计算并返回结果时,reduce()是个非常有用的函数。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现。
它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数,而map接收一个参数。
(4)enumerate函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号。
(5)Zip函数
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。