python学习之最常用的内置函数

Python 内置函数总共有70余个(通常把内置类也统称为内置函数),覆盖面广,功能强大。不过,对于初学者在初级阶段,掌握下面几个函数是当务之急。

(1) 控制台输出函数 print()

print() 应该是每一个初学者首先接触到的函数,也一定用得非常熟练。我们知道,print() 函数一次可以打印多个对象,打印对象可以是任意类型。此外,print() 函数还有4个默认参数,灵活运用,方能得心应手。

print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

  • objects – 零个或多个输出对象。输出多个对象时,需要用半角逗号分隔
  • sep – 用来间隔多个对象,默认值是一个空格
  • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串
  • file – 要写入的文件对象
  • flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新

(2) 控制台输入函数 input()

input() 函数常用于程序执行过程中接收用户输入的参数,用户敲击回车键,函数即返回用户输入的字符串,但不包括回车符。因input() 函数本身具备IO阻塞的功能,所以也可用于作为程序调试断点来使用。input() 函数没有默认参数,但接受一个字符串作为输入提示信息。

>>> nums = input('请输入3个整数,中间以空格分割,回车结束输入:')
请输入3个整数,中间以空格分割,回车结束输入:3 4 5 6
>>> print(nums) # 请注意,nums是一个字符串,不是整数
3 4 5 6
>>> [int(item) for item in nums.split()] # 这样才可以把输入的字符串变成3个整数
[3, 4, 5, 6]

(3) 可迭代对象长度函数 len()

len() 函数也是初学者接触最早、最容易记住的函数之一,len 是 length 简写,该函数用于返回列表、元祖、字典、字符串等可迭代对象的长度(或称为元素数量)。至于什么是可迭代对象,暂时可以不用深究,随着学习的深入,会逐步理解的。

(4) 序列生成器函数 range()

通常我们是在学习 for 循环的时候,认识的 range() 函数。最初(py2时代),range() 函数返回的是一个列表,因为太耗内存,所以进入新时代(py3时代)之后,range() 函数不再返回列表,而是range类了。

(5) 格式化输出函数 format()

虽然这里提到的是 format() 函数,但大多数情况下,我更喜欢用%去做格式化输出。读者可以通过下面的例子体会一下两种格式化方法的差异。
下面给出用%去做格式化输出的常用符号速查表。

符号 功能
%d,%i 转换为带符号的十进制形式的整数
%o 转换为带符号的八进制形式的整数
%x,%X 转换为带符号的十六进制形式的整数
%e 转化为科学计数法表示的浮点数(e 小写)
%E 转化为科学计数法表示的浮点数(E 大写)
%f,%F 转化为十进制形式的浮点数
%g 智能选择使用 %f 或 %e 格式
%G 智能选择使用 %F 或 %E 格式
%c 格式化字符及其 ASCII 码
%r 使用 repr() 将变量或表达式转换为字符串
%s 使用 str() 将变量或表达式转换为字符串

(6) 排序函数 sorted()

排序是比较常见的需求。排序函数 sorted() 不会改变原有的数据结构,而是返回一个新的排序结果。这一点,和列表类的 sort() 方法不同。列表类的 sort() 方法改变了列表自身,且无返回值。

>>> sorted([3,2,7,1,5]) # 一维列表排序
[1, 2, 3, 5, 7]
>>> sorted([3,2,7,1,5], reverse=True) # 一维列表排序,逆序输出
[7, 5, 3, 2, 1]

(7) 文件操作函数 open()

文件读写是程序员最基本的技能之一,必须熟练掌握。好在Python的文件操作非常简单,很容易上手。通常文件读写时,不管正常还是非正常结束,一定要关闭文件——这需要捕获异常并进行处理。为了简化代码,使之更加优雅,我习惯使用 with - as 来操作文件。

打开文件有多种模式,详见下表:

mode参数 参数概述 参数功能
r / rt 只读模式(默认) 只能获取文本内容,不能写入
rb 二进制只读模式 使用二进制获取文本内容, 通常用于获取图片视频等非文本
r+ 读写追加 用于读写,文件指针放在内容开头
rb+ 二进制读写追加 用于二进制读写,文件指针放在内容开头
w / wt 只写模式 用于写入内容,会将原本的内容覆盖
w+ 只写追加 用于写入内容,会在原本的内容之后续写
wb 二进制只写模式 用于写入二进制内容,会将原本的内容覆盖 通常用于写入图片视频等非文本
wb+ 二进制只写追加 用于写入二进制内容,会在原本的内容之后续写 通常用于写入图片视频等非文本
a / at 读写追加 用于读取或写入内容,写入会在原本的内容之后续写 没有文本则创建文本
ab 二进制读写追加 用于读取或写入二进制内容,写入会在原本内容之后续写 没有文本则创建文本
a+ 读写追加 用于读取或写入内容,写入会在原本的内容之后续写 没有文本则创建文本
ab+ 二进制读写追加 用于读取或写入二进制内容,写入会在原本内容之后续写 没有文本则创建文本

下面的例子,演示了如何将数据写入到csv文件,又如何读出csv文件中的数据。

>>> with open(r'd:\csv_data.csv', 'w') as fp: # 写csv文件for line in [[0.468,0.975,0.446],[0.718,0.826,0.359]]:ok = fp.write('%s\n'%','.join([str(item) for item in line]))>>> with open(r'd:\csv_data.csv', 'r') as fp:print(fp.read())0.468,0.975,0.446
0.468,0.975,0.446>>> with open(r'd:\csv_data.csv', 'r') as fp: # 读csv文件for line in fp.readlines():print('%s - %s - %s'%tuple(line.strip().split(',')))0.468 - 0.975 - 0.446
0.468 - 0.975 - 0.446
12345678910111213141516

(8) 类型相关函数 type()/isinstance()

对于初学者来说,运行代码时出了问题是最头疼的事儿:根本不知道发生了什么,又该从何处入手。如果不是缩进错误,或者找不到模块一类的初级错误,那么,查看变量的类型,也许是最值得一试的调试方法。type() 就是用于查看对象类型的函数。

>>> type(5)
<class 'int'>
>>> type('ssdf')
<class 'str'>
>>> type([])
<class 'list'>
>>> type(print)
<class 'builtin_function_or_method'>
>>> type(range(5))
<class 'range'>
12345678910

但是,有很多同学了解了 type() 之后,喜欢用它来做类型判断,这是不正确的。用于类型判断的函数是isinstance(),请看:

>>> a = [3,4,5]
>>> b = ('x', 'y')
>>> c = dict()
>>> d = 'python'
>>> isinstance(a, list)
True
>>> isinstance(b, list)
False
>>> isinstance(c, (dict,str))
True
>>> isinstance(d, (dict,str))
True
>>> isinstance(b, (dict,str))
False
1234567891011121314

(9) 特殊功能函数 enumerate()/zip()/map()/chr()/ord()

遍历列表、字符串等可迭代对象的时候,如果我们想同时得到元素的索引序号,enumerate() 函数就可以派上用场了。enumerate() 返回可迭代对象的索引和元素组成的元组的迭代对象,所以,不用担心该函数的效率和资源消耗情况,放心使用好了。

>>> for index, item in enumerate([True, False, None]):print(index, item, sep='->')0->True
1->False
2->None
>>> for index, item in enumerate('xyz'):print(index, item, sep='->')0->x
1->y
2->z
123456789101112

zip() 函数也有一个经典的应用场景:同时遍历多个列表。

>>> a = ['x','y','z']
>>> b = [3,4,5]
>>> for k, v in zip(a,b):print(k, v, sep='->')x->3
y->4
z->5
12345678

map() 函数可以理解为对列表中的每一个元素做一次计算,这个计算由函数参数指定。这个作为参数的函数,可以是普通的函数,也可以是 lambda 匿名函数。我们以对列表中各元素开三次方为例,演示一下man() 函数的用法。

>>> def extract(x): # 开3次方return pow(x, 1/3)>>> result = map(extract, [7,8,9]) # 使用函数extract()对列表元素逐一开3次方,返回一个迭代对象
>>> list(result) # 将迭代对象转为list
[1.912931182772389, 2.0, 2.080083823051904]
>>> list(map(lambda x:pow(x, 1/3), [7,8,9])) # 使用lambda函数,更简洁
[1.912931182772389, 2.0, 2.080083823051904]
12345678

chr() 函数返回 ascii 编码值对应的字符,ord() 函数返回字符的 ascii 编码值, 二者是互逆的操作。

>>> chr(65)
'A'
>>> ord('Z')
90
>>> for i in range(26):print(chr(65+i), sep='', end='')ABCDEFGHIJKLMNOPQRSTUVWXYZ
12345678

(10) 数学函数 sum()/max()/min()/abs()/pow()/divmod()/round()

Python 内置的数学计算与统计函数不多,但基本够用。不过,如果你需要对数函数和三角函数的话,你恐怕得导入 manth 模块(标准模块)或者其他模块了(比如 numpy 等)。需要提醒大家的是,很多教科书说,做开方运算就得导入 manth 模块,其实,内置函数 pow() 是既可以乘方,也可以开方的。

python学习之最常用的内置函数相关推荐

  1. python常用内置函数总结-Python学习教程之常用的内置函数大全

    前言 内置函数,一般都是因为使用比较频繁或是元操作,所以通过内置函数的形式提供出来.在Python中,python给我们提供了很多已经定义好的函数,这里列出常用的内置函数,分享出来供大家参考学习,下面 ...

  2. Python中10个常用的内置函数

    大家好,我是小张 在 3.8 版本中,Python 解释器共有近 69 个内置函数可供使用,有了它们能极大地提高编码效率, 数量虽然不少,但在日常搬砖中只用到其中一部分,根据使用频率和用法,列出来几个 ...

  3. python常用函数-Python小白必备的8个最常用的内置函数(推荐)

    Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法 print() prin ...

  4. python 常用内置函数_Python小白必备的8个最常用的内置函数(推荐)

    Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法 print() prin ...

  5. python 内置函数 builtins_python学习笔记(七)——内置函数

    builtins.py模块,是python的内建模块,在运行时会自动导入该模块.在该模块中定义了很多我们常用的内置函数,比如print,input 等. 在 builtins.py 模块中给出如下注释 ...

  6. python必背代码-Python小白必备的8个最常用的内置函数(推荐)

    Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及他们的详细用法 print() prin ...

  7. python笔记——常用的内置函数

    官方说明文档:https://docs.python.org/3/library/functions.html 内置函数 abs() 函数返回(数字)的绝对值 all() 如果()里的所有元素不为0. ...

  8. python常用内置函数乘法_每个 Python 高手都应该知道的内置函数

    每个 Python 高手都应该知道的内置函数 Python 将纳入高中教材,大学 VB 将被 Python 取代, 现在你还对 Python 一无所知吗?去年就被国外一机构预测, 2017 年 pyt ...

  9. Python培训教程:Python有哪些比较重要的内置函数?

    学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...

最新文章

  1. mongo java mapreduce_MongoDB中MapReduce介绍与使用
  2. idea springboot jrebel hotreloaded
  3. 【面向对象】类的特殊成员方法
  4. VTK:Points之PowercrustExtractSurface
  5. 2000字详解 当Pandas遇上超大规模的数据集该如何处理呢?
  6. 【idea中debug的使用】
  7. pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型
  8. 前端学习(494):在XHTML中得用法
  9. iphone储存空间系统怎么清理_iPhone储存空间里其他占了几十GB,怎样彻底删除它?...
  10. 熊猫直播宣布正式关站 至今已运行1286天
  11. python3.x中pip升级报错
  12. VS2010解决闪退的方法
  13. 音响白噪音测试软件,如何获取白噪音_音箱_音频新闻-中关村在线
  14. IDEA的插件和一些主题推荐
  15. DB2数据库错误代码大全
  16. VLAN 与 WLAN 的区别
  17. 解决ffmpeg报错Non-monotonous DTS in output stream 0:0;
  18. 潘金莲改变了历史吗 - PostgreSQL舆情事件分析应用
  19. NODEJS day_04(5.24)Express-2
  20. 用python进行简单的excel表格分析

热门文章

  1. Angular v6 正式发布
  2. 用好href的target, base href
  3. Struts2 ActionWildcard(通配符配置)约定优于配置
  4. puppet语法学习
  5. 多年以后重发:多线程安全的变量模板
  6. java hashmap 的api_JAVA基础--JAVA API集合框架(ArrayList、HashSet、HashMap使用)
  7. mybatis循环map的一些技巧
  8. Apache2.2与Tomcat7集成方案详解
  9. java 判断是否是list_JAVA从头开始一基础梳理(4-3)
  10. matlab求傅里叶级数展开式_傅里叶级数:从向量的角度看函数