专栏首页程序员的知识天地Python小白必备的8个最常用的内置函数

Python小白必备的8个最常用的内置函数

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

print()

print函数是你学Python接触到的第一个函数,它将对象输出到标准输出流,可将任意多个对象打印出来,函数的具体定义:

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

objects 是可变参数,所以你可以同时将任意多个对象打印出来

1.  >>> print(1,2,3)  
2.  1 2 3 

默认使用空格分隔每个对象,通过指定sep参数可以使用逗号分隔

1.  >>> print(1,2,3, sep=',')  
2.  1,2,3 

对象默认输出的是标准输出流,你也可以将内容保存到文件中

1.  >>> print(1,2,3, sep=',', file=open("hello.txt", "w")) 

isinstance()

可以用 isinstance 函数判断某个对象是否属于某个类的实例,函数的定义

1.  isinstance(object, classinfo) 

classinfo 既可以是单个类型对象,也可以是由多个类型对象组成的元组,只要object的类型是元组中任意一个就返回True,否则返回False

1.  >>> isinstance(1, (int, str))  
2.  True  
3.  >>> isinstance("", (int, str))  
4.  True  
5.  >>> isinstance([], dict)  
6.  False 

range()

range函数是个工厂方法,用于构造一个从[start, stop) (不包含stop)之间的连续的不可变的整数序列对象,这个序列功能上和列表非常类似,函数定义:

1.  range([start,] stop [, step]) -> range object 
  • start 可选参数,序列的起点,默认是0
  • stop 必选参数,序列的终点(不包含)
  • step 可选参数,序列的步长,默认是1,生成的元素规律是 r[i] = start + step*i

生成0~5的列表

1.  >>>   
2.  >>> range(5)  
3.  range(0, 5)  
4.  >>>   
5.  >>> list(range(5))  
6.  [0, 1, 2, 3, 4]  
7.  >>> 

默认从0开始,生成0到4之间的5个整数,不包含5,step 默认是1,每次都是在前一次加1

如果你想将某个操作重复执行n遍,就可以使用for循环配置range函数实现

1.  >>> for i in range(3):  
2.  ...     print("hello python")  
3.  ...  
4.  hello python  
5.  hello python  
6.  hello python 

步长为2

1.  >>> range(1, 10, 2)  
2.  range(1, 10, 2)  
3.  >>> list(range(1, 10, 2))  
4.  [1, 3, 5, 7, 9] 

起点从1开始,终点10,步长为2,每次都在前一个元素的基础上加2,构成1到10之间的奇数。

enumerate()

用于枚举可迭代对象,同时还可以得到每次元素的下表索引值,函数定义:

1.  enumerate(iterable, start=0) 

例如:

1.  >>> for index, value in enumerate("python"):  
2.  ...     print(index, value)  
3.  ...  
4.  0 p  
5.  1 y  
6.  2 t  
7.  3 h  
8.  4 o  
9.  5 n 

index 默认从0开始,如果显式指定参数start,下标索引就从start开始

1.  >>> for index, value in enumerate("python", start=1):  
2.  ...     print(index, value)  
3.  ...  
4.  1 p  
5.  2 y  
6.  3 t  
7.  4 h  
8.  5 o  
9.  6 n 

如果不使用enumerate函数,要获取元素的下标索引,则需要更多的代码:

1.  def my_enumerate(sequence, start=0):  
2.  n = start  
3.  for e in sequence:  
4.  yield n, e  
5.  n += 1  
1.  >>> for index, value in my_enumerate("python"):  
2.  print(index, value)  
3.  0 p  
4.  1 y  
5.  2 t  
6.  3 h  
7.  4 o  
8.  5 n 

len

len 用于获取容器对象中的元素个数,例如判断列表是否为空可以用 len 函数

1.  >>> len([1,2,3])  
2.  3  
3.  >>> len("python")  
4.  6  
5.  >>> if len([]) == 0:  
6.  pass 

并不是所有对象都支持len操作的,例如:

1.  >>> len(True)  
2.  Traceback (most recent call last):  
3.  File "<stdin>", line 1, in <module>  
4.  TypeError: object of type 'bool' has no len() 

除了序列对象和集合对象,自定义类必须实现了 len 方法能作用在len函数上

reversed()

reversed() 反转序列对象,你可以将字符串进行反转,将列表进行反转,将元组反转

1.  >>> list(reversed([1,2,3]))  
2.  [3, 2, 1] 

open()

open 函数用于构造文件对象,构建后可对其进行内容的读写操作

1.  open(file, mode='r', encoding=None) 

读操作

1.  # 从当前路径打开文件 test.txt, 默认以读的方式  
2.  >>>f = open("test.txt")  
3.  >>>f.read()  
4.  ... 

有时还需要指定编码格式,否则会遇到乱码

1.  f = open("test.txt", encoding='utf8') 

写操作

1.  >>>f = open("hello.text", 'w', encoding='utf8')  
2.  >>>f.write("hello python")) 

文件中存在内容时原来的内容将别覆盖,如果不想被覆盖,直接将新的内容追加到文件末尾,可以使用 a 模式

1.  f = open("hello.text", 'a', encoding='utf8')  
2.  f.write("!!!") 

sorted()

sroted 是对列表进行重新排序,当然其他可迭代对象都支持重新排放,返回一个新对象,原对象保持不变

1.  >>> sorted([1,4,2,1,0])  
2.  [0, 1, 1, 2, 4] 

sorted 还有很多更高级的用法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 国人嘲讽中国互联网公司的996模式, 网友:就算997也有人干!

    互联网的996模式,相信有些网友还比较陌生。996是对工作时间的概括,第一个9代表早上的工作时间,第二个9代表晚上下班的时间,而最后一个6则表示每周工作的天数,...

    一墨编程学习
  • Python语言十分钟快速入门

    Python(蟒蛇)是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用...

    一墨编程学习
  • 11道面试中不常见却一定会问到Python题解析

    我们知道网上有非常多面试题的解析,但是其中往往是前几年的老题了。 为了帮助小伙伴们能够在Python工作面试中脱颖而出,再此特别奉上2019年11道最新Pyth...

    一墨编程学习
  • tensorflow:embedding_lookup

    embedding_lookup import tensorflow as tf embedding = tf.get_variable("embedding...

    ke1th
  • 用机器学习的方法鉴别红楼梦作者

    在学界一般认为,《红楼梦》后 40 回并非曹雪芹所著。本文尝试应用机器学习的方法来分析原著文本中作者的用词习惯,从技术角度去说明《红楼梦》前 80 回和后 40...

    CDA数据分析师
  • 无监督︱异常、离群点检测 一分类——OneClassSVM

    OneClassSVM两个功能:异常值检测、解决极度不平衡数据 因为之前一直在做非平衡样本分类的问题,其中如果有一类比例严重失调,就可以直接用这个方式来做:On...

    素质
  • 几种交叉验证(cross validation)方式的比较

    模型评价的目的:通过模型评价,我们知道当前训练模型的好坏,泛化能力如何?从而知道是否可以应用在解决问题上,如果不行,那又是哪里出了问题? train_te...

    用户1631856
  • Pytorch之认识Variable

    Tensor是Pytorch的一个完美组件,但是要构建神经网络还是远远不够的,我们需要能够计算图的Tensor,那就是Variable。Variable是对Te...

    于小勇
  • 烧脑:谷歌微软等巨头107道数据科学面试题,你能答出多少?

    来自 Glassdoor 的最新数据可以告诉我们各大科技公司最近在招聘面试时最喜欢向候选人提什么问题。首先有一个令人惋惜的结论:根据统计,几乎所有的公司都有着自...

    华章科技
  • Python带你做个愉快的"动森"玩家! (超简单代码)

    最近Switch上的《动物森友会》可谓是炙手可热,它几乎算是任天堂版的《模拟人生》了,它的最新游戏《集合啦!动物森友会》(以下称“动森”)在发售后,取得了不错的...

    用户7466307

扫码关注云+社区

领取腾讯云代金券