Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间。目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很常见,这里主要介绍一些新手必备函数及其用法。

为了便于说明,我把这些内置函数粗略地分为六大类:

输入输出print() open() input()迭代相关enumerate() zip()序列属性sum() max() min() len()操作序列sorted() reversed() range()对象属性dir() id() isinstance() type()映射类型eval() map() slice()

输入输出

print 函数将对象输出至控制台

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

*objects 为可变参数,可以接受任意多个对象。sep 参数表示输出对象之

间的分隔符,默认为空格。

>>> print('Python', '高效编程')
Python 高效编程

分隔符为'*':

>>> print('Python', '高效编程', sep = '*')
Python*高效编程

格式化输出字符串的三种方式:

name = 'Python高效编程'
fmt1 = f'公众号:{name}'
fmt2 = '公众号:{}'.format(name)
fmt3 = '公众号:%s' %name
print(fmt1)
print(fmt2)
print(fmt3)
# 公众号:Python高效编程

open 函数打开文件并返回文件对象

open(file, mode='r', buffering=-1,
encoding=None, errors=None, newline=
None, closefd=True, opener=None)

file 为文件地址,mode 为打开文件的模式,默认为 'r',表示读取文件,常用的还有:'w' 表示写入文件、'b' 表示以二进制形式打开。

常用上下文管理器 with 打开文件,f.read( ) 读取全部内容,f.readline() 读取一行内容。

with open('test.txt', 'r') as f:text1 = f.read()with open('test.txt', 'r') as f:text2 = ''line = f.readline()while line:text2 += lineline = f.readline()assert text1 == text2
print(text1)###############
输出内容:
Python 高效编程
Python 高效编程
Python 高效编程
Python 高效编程
###############

有时候,我们读取文件还会遇到乱码问题,可以指定编码格式:

当文件中有中文的时候,使用 'utf-8' 编码会导致异常:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 7: invalid start byte

with open('test.txt', 'r', encoding='utf-8') as f:text1 = f.read()

这时候,我们可以尝试 'gb2312' 或者 'gbk' 编码来打开含有中文字符的文件。这时,便可以成功打开文件。

with open('test.txt', 'r', encoding='gb2312') as f:text1 = f.read()with open('test.txt', 'w', encoding='gbk') as f:f.write('Python高效编程')

input 函数获取控制台输入

input([prompt])

input 可接受字符串为参数,提示用户输入。

>>> s = input('请输入公众号名称:')
请输入公众号名称:Python高效编程
>>> s
'Python高效编程'

迭代相关

enumerate 函数返回元素的序号与对应值

enumerate(iterable, start=0)

iterable 参数表示可迭代对象,start 参数是元素序号的起点,默认为 0。

enumerate 函数的等价形式如下:

def enumerate(sequence, start=0):n = startfor elem in sequence:yield n, elemn += 1seq = ['P', 'y', 't', 'h', 'o', 'n']for i, elem in enumerate(seq):print(i, elem)

zip 函数用于同时迭代多个对象

zip(*iterables)

*iterable 可以接受任意多个可迭代对象

a = ["**", '**', '**']
b = ['微信公众号', '关注', 'Python高效编程']
c = a
print('#'*20)
for i, j, k in zip(a, b, c):print(i, j, k)
print('#'*20)####################
** 微信公众号 **
** 关注 **
** Python高效编程 **
####################

序列属性

序列最大值:max

序列最小值:min

序列的和: sum

序列长度: len

基本用法:向这四个函数中传入序列,可以得到对应属性。

import random
random.seed(21)
seq = [random.randint(0, 100) for i in range(10)]
print(seq)
# [21, 53, 88, 53, 81, 36, 61, 27, 60, 65]
print(max(seq))
# 88
print(min(seq))
# 21
print(sum(seq))
# 545
print(len(seq))
# 10

作为内置函数,可以直接传入生成器(不需要括号)作为参数:

import random
random.seed(21)
num = max(random.randint(0, 100) for i in range(10))
print(num)
# 88

可传入 key 参数,作为比较大小的依据,相当于把序列中每一个元素 item 先传入函数 key 中,将函数返回的数值作为判断对象大小的依据。

def foo(x):return 1. / x
max(seq, key = foo)
# 21

对于我们自定义的类型,必须实现特殊方法,才能进行 len 等操作。

__len__ 代表:len 操作,__eq__ 代表:= 操作,__lt__ 代表 < 操作。

class foo:def __init__(self, num, seq):self.num = numself.seq = seqdef __len__(self):return len(self.seq)def __eq__(self, other):return self.num == other.numdef __lt__(self, other):return self.num < other.num>>> f1 = foo(18, [1, 4, 6])
>>> f2 = foo(21, [1, 7, 9, 10])
>>> f1 < f2
True
>>> f1 > f2
False
>>> f1 == f2
False
>>> f3 = foo(18, [9, 9, 0, 7])
>>> f1 == f3
True
>>> len(f1)
3
>>> len(f2)
4

操作序列

range 函数生成序列

range(start, stop[, step])

  • start 可选参数,默认为 0 ,表示序列起点
  • stop 必选参数,表示序列终点,不包括终点
  • step 可选参数,序列的步长,默认为 1
>>> range(6)
range(0, 6)
>>> list(range(6))
[0, 1, 2, 3, 4, 5]
>>> list(range(0, 6, 2))
[0, 2, 4]

range 函数生成的对象可以迭代,和列表很类似,_ 表示废弃变量(为了避免污染变量环境):

for _ in range(3):print('Python高效编程')

reversed 函数可以将序列逆置

reversed 可以将序列逆置,包括元组、字符串、列表。对于列表和字符串的逆置,使用 list[::-1] 或者slice()更加方便。

import random
random.seed(21)
seq = [random.randint(0, 100) for i in range(10)]
print(seq)
# [21, 53, 88, 53, 81, 36, 61, 27, 60, 65]
reversed(seq)
print(list(reversed(seq)))
# [65, 60, 27, 61, 36, 81, 53, 88, 53, 21]

字符串逆置:

>>> a = 'Python高效编程'
>>> a[::-1]
'程编效高nohtyP'
>>> ''.join(reversed('Python高效编程'))
'程编效高nohtyP'

sorted 函数可以对序列进行排序

sorted(iterable, *, key=None, reverse=False)

sorted 不同于 list.sort 操作(原地排序),返回一个新的有序序列,原序列保持不变。* 表示仅限关键字参数(keyword-only),也就是说,key、reverse 参数只能通过关键字传参,而不能通过位置传参。reverve 参数表示逆置操作,key 与之前 len 中的 key 参数类似,是函数排序的依据。

>>> sorted([9, 6, 2, 3, 6])
[2, 3, 6, 6, 9]

对象属性

dir 函数返回属性列表

id 函数返回对象地址

isinstance 判断对象的类型

type 返回对象的类型

class foo:pass>>> dir(foo)
['__class__',
'__delattr__',
'__dict__',
'__dir__',
......
'__str__',
'__subclasshook__',
'__weakref__']
# 创建实例
>>> f = foo()
>>> type(foo)
__main__.foo
>>> isinstance(f, foo)
True
>>> id(f)
2135099584864

映射类型

eval 解除引号的束缚

map 应用函数于单个对象

slice 生成切片

eval 可以去除字符串的单引号,从而获取引号内部内容。下面的演示展示了,如何使用 eval 函数获取字符串中的字典:

>>> info = '{"name": "LiHua", "age": 12}'
>>> eval(info)
{'name': 'LiHua', 'age': 12}
>>> info_dict = eval(info)
>>> type(info_dict)
dict

map 将传进来的函数应用于序列中的每一个元素,并返回迭代器。

map(function, iterable, ...)

举例来说,map 就是对 seq 列表中的每一个元素 item 进行 int 操作(int(item))。匿名函数同理,就是对序列中的每一个元素进行加 2 的操作。

>>> seq = [1.5, 4.5, 9.1]
>>> list(map(int, seq))
[1, 4, 9]
>>> list(map(lambda x: x + 2, seq))
[3.5, 6.5, 11.1]

slice 函数为切片操作命名,使得切片操作更加清晰明了。

slice(start, stop[, step])

start 为起点,stop 为终点,step 为步长。使用该操作,使得截取有规律的文本内容变得很轻松。特别是长文本,使用 slice 函数更加清晰易懂。

>>> text = '微信公众号 Python高效编程'
>>> name = slice(0, 6)
>>> text[name]
微信公众号
>>> content = slice(6, 16)
>>> text[content]
Python高效编程

这篇文章到此结束了,大家可以趁热打铁,多多练习。

最后,小编整理了自学Python的教程资料和项目训练+PDF电子书籍、免费分享给大家!

老规矩,关注 并 私信小编 “ 学习 ”即可领取啦!

  • 设计模式及异常处理
  • 坦克大战
  • 核心编程
  • jquery动画特效
  • Ajax异步网络请求
  • Django-博客项目
  • Django-商城项目
  • 正则表达式
  • Python爬虫基础
  • Python爬虫Scrapy框架

第一阶段

Python开发基础和核心特性1.变量及运算符2.分支及循环3.循环及字符串4.列表及嵌套列表5.字典及项目练习6.函数的使用7.递归及文件处理8.文件9.面向对象10.设计模式及异常处理11.异常及模块的使用12.坦克大战13.核心编程14.高级特性15.内存管理

第二阶段

数据库和linux基础1.并发编程2.网络通信3.MySQL4.Linux5.正则表达式

第三阶段

web前端开发基础1.html基本标签2.css样式3.css浮动和定位4.js基础5.js对象和函数6.js定时器和DOM7.js事件响应8.使用jquery9.jquery动画特效10.Ajax异步网络请求

第四阶段

Python Web框架阶段1.Django-Git版本控制2.Django-博客项目3.Django-商城项目4.Django模型层5.Django入门6.Django模板层7.Django视图层8.Tornado框架

第五阶段

Python 爬虫实战开发1.Python爬虫基础2.Python爬虫Scrapy框架


以上这Python自学教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!

获取方式:关注 并 私信小编 “ 学习 ”,即可免费获取!

python len函数_Python 初学者必备的常用内置函数相关推荐

  1. inrange函数_Python 初学者必备的常用内置函数

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  2. python拟合三元函数_python基础教程之常用内置函数、三元运算、递归

    目录 常用内置函数 abs/round/sum eval/exec enumerate max/min sorted zip map filter 补充:reduce lambda 初识递归 再谈递归 ...

  3. class传参 python_Python 初学者必备的常用内置函数

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  4. python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

    python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...

  5. python lambda 逻辑_Python之lambda表达式和内置函数

    lambda表达式其实就是简化的函数表达式. 它只用于处理简单逻辑, 它会自动return数据 通常定义一个函数,按照以下形式:def func(arg): return arg +1 result ...

  6. python中的json函数_python中装饰器、内置函数、json的详解

    装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 先看简单例子: def run(): time.sleep(1 ...

  7. python基本语法总结-Python基本语法总结(三) 常用内置函数

    help()函数 help() 函数用于查看函数或模块用途的详细说明. >>> help([].append) #列表的append()函数用法 Help on built-in f ...

  8. python用psf函数_python学习之-类的内置函数

    内置方法:__str__(该方法必须返回字符串类型),在对像被打印时自动触发,然后将该方法的返回值当做打印结果输出) class People: def __init__(self,name,age) ...

  9. python中常见的内置函数_Python常用内置函数总结

    Python 常用内置函数总结 一.数学相关 1 .绝对值: abs(-1) 2 .最大最小值: max([1,2,3]) . min([1,2,3]) 3 .序列长度: len('abc') . l ...

最新文章

  1. DeepMind激起千层浪的这篇论文,并非无所不能
  2. RotateAnimation 实现表盘指针转动
  3. poj 1141(区间dp+打印路径)
  4. mysql批量加逗号_批量插入数据到数据库的方式
  5. 在WINDOWS SERVER 上或远程桌面中使用 MUTEX
  6. L1-062 幸运彩票 (15 分)-PAT 团体程序设计天梯赛 GPLT
  7. 俄罗斯方块控制台程序C++
  8. main方法中args_public static void main(String [] args)– Java main方法
  9. golang中字符串常用的命令
  10. linux ssh 双机互信
  11. 命令行方式登录PostgreSQL、创建用户和数据库并赋权
  12. php 不通过表单post,php – 简单表单不通过_POST发送数据
  13. eclipse优化记录
  14. 【DM7】JAVA操作达梦数据库7.0
  15. android wifi驱动详解,Android wifi驱动的移植 realtek 8188
  16. jsp综合开发实例——夏日九宫格日记网
  17. Spring AOP实现原理简介
  18. 2016微信数据报告 大数据展示微信生活
  19. 镜像站(整理各个镜像站资源)
  20. 尝试manjar20.03、fedora32、ubuntu20.04作为主力操作系统

热门文章

  1. python3 绝对值_Python的绝对值最大的数字,python
  2. html显示文件代码提示,代码提示和代码完成
  3. mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响
  4. python函数赋值给对象_【Python核心编程笔记】一、Python中一切皆对象
  5. java学生考勤代码免费,基于jsp的学生考勤管理-JavaEE实现学生考勤管理 - java项目源码...
  6. 高斯混合模型学习笔记
  7. OpenShift 4 - Fedora CoreOS (6) - 用rpm-ostree安装软件、升级回滚CoreOS
  8. 如何在ASP.NET Core中建立有效的分页
  9. Java EE 规范重命名为 Jakarta EE
  10. 准确率创新高,北大开源中文分词工具包 pkuseg