内置函数就是Python预先定义的函数,这些内置函数使用方便,无需导入,直接调用,大大提高使用者的工作效率,也更便于程序的阅读。截止到Python版本3.9.1,Python一共提供了69个内置函数。

如果你还没入门,或刚刚入门Python,那么,这篇文章非常适合你。为了方便记忆,木木老师会将这些内置函数分类介绍给大家。数学运算(7个)类型转换(24个)序列操作(8个)对象操作(9个)反射操作(8个)变量操作(2个)交互操作(2个)文件操作(1个)编译执行(5个)装饰器(3个)

数学运算(7个)

abs:求数值的绝对值

print(

abs(-

2))

# 绝对值:2

divmod:返回两个数值的商和余数print(divmod(20,3))

# 求商和余数:(6,2)

max:返回可迭代对象中的元素中的最大值或者所有参数的最大值

print(max(7,3,15,9,4,13))

#求最大值:15

min:返回可迭代对象中的元素中的最小值或者所有参数的最小值print(min(5,3,9,12,7,2))

#求最小值:2

pow:返回两个数值的幂运算值或其与指定整数的模值

print(pow(10,2,3))

# 如果给了第三个参数. 表示最后取余:1

round:对浮点数进行四舍五入求值print(round(2.675, 2))

# 五舍六入:2.67

sum:对元素类型是数值的可迭代对象中的每个元素求和

print(sum([1,2,3,4,5,6,7,8,9,10]))

# 求和:55

类型转换(24个)

bool:根据传入的参数的逻辑值创建一个新的布尔值print(bool(0))

# 数值0、空序列等值为:False

int:根据传入的参数创建一个新的整数

print(

int(

3.6))

# 整数:3

float:根据传入的参数创建一个新的浮点数print(

float (3))

# 浮点数:3.0

complex:根据传入参数创建一个新的复数

print(complex (1,2))

# 复数:1+2j

str:将数据转化为字符串print(str(123)+

"456")

#123456

bytearray:根据传入的参数创建一个新的字节数组

ret = bytearray(

"alex" ,encoding =

"utf-8")

print(ret[

0]) #

97

print(ret) #bytearray(b

"alex")ret[

0] =

65 #把

65的位置A赋值给ret[

0]

print(str(ret)) #bytearray(b

"Alex")

bytes:根据传入的参数创建一个新的不可变字节数组bs = bytes(

"今天吃饭了吗", encoding=

"utf-8")print(bs)

#b"\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x90\x83\xe9\xa5\xad\xe4\xba\x86\xe5\x90\x97"

memoryview:根据传入的参数创建一个新的内存查看对象

v = memoryview(b

"abcefg")print(v[

1])

# 98

ord:返回Unicode字符对应的整数print(

ord(

"中"))

# "中"字在编码表中的位置:20013

chr:返回整数所对应的Unicode字符

print(

chr(

65))

# 已知码位求字符:A

bin:将整数转换成2进制字符串print(bin(10))

# 二进制:0b1010

oct:将整数转化成8进制数字符串

print(

oct(

10))

# 八进制:0o12

hex:将整数转换成16进制字符串print(

hex(

10))

# 十六进制:0xa

tuple:根据传入的参数创建一个新的元组

print(tuple([1,2,3,4,5,6]))

# (1, 2, 3, 4, 5, 6)

list:根据传入的参数创建一个新的列表print(

list((

1,

2,

3,

4,

5,

6)))

# [1, 2, 3, 4, 5, 6]

dict:根据传入的参数创建一个新的字典

print(dict(a

=

1

,b

=

2

))

# 创建字典: {"b": 2, "a": 1}

range:根据传入的参数创建一个新的range对象for i

in range(15,-1,-5):

print(i)

# 15# 10# 5# 0

set:根据传入的参数创建一个新的集合

a =

set(range(10))

print(a)

# 创建集合:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

frozenset:根据传入的参数创建一个新的不可变集合a = frozenset(range(

10))print(a)

#frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})

enumerate:根据可迭代对象创建枚举对象

lst = [

"one",

"two",

"three",

"four",

"five"]for index, el in enumerate(lst,

1):

# 把索引和元素一起获取,索引默认从0开始. 可以更改print(index)print(el)# 1# one# 2# two# 3# three# 4# four# 5# five

iter:根据传入的参数创建一个新的可迭代对象lst

=

[1,

2

,

3

]for

i

in

iter(lst):print(i)#

1

# 2# 3

slice:根据传入的参数创建一个新的切片对象

lst =

"你好啊"it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则

print(list(it)) #[

"啊",

"好",

"你"]lst = [

1,

2,

3,

4,

5,

6,

7]

print(lst[

1:

3:

1]) #[

2,

3]s = slice(

1,

3,

1) # 切片用的

print(lst[s]) #[

2,

3]

super:根据传入的参数创建一个新的子类和父类关系的代理对象class

A:

def

add

(self, x):y = x+

1

print(y)

class

B

(A):

def

add

(self, x):super().add(x)b = B()b.add(

2)

# 3

object:创建一个新的object对象

class

A:

passprint(issubclass(A,

object)) #默认继承

object类 # Trueprint(dir(

object))# [

"__class__",

"__delattr__",

"__dir__",

"__doc__",

"__eq__",

"__format__",

"__ge__",

"__getattribute__",

"__gt__",

"__hash__",

"__init__",

"__init_subclass__",

"__le__",

"__lt__",

"__ne__",

"__new__",

"__reduce__",

"__reduce_ex__",

"__repr__",

"__setattr__",

"__sizeof__",

"__str__",

"__subclasshook__"]

序列操作(8个)

all:判断可迭代对象的每个元素是否都为True值print(all([

1,

"hello",

True,

9]))

#True

any:判断可迭代对象的元素是否有为True值的元素

print(any([

0,

0,

0,

False,

1,

"good"]))

#True

filter:使用指定方法过滤可迭代对象的元素def

is_odd(n):return

n

%

2

==

1newlist

=

filter(is_odd,

[1,

2

,

3

,

4

,

5

,

6

,

7

,

8

,

9

,

10

])print(newlist)

# [1, 3, 5, 7, 9]

map:使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象

def

f

(i):

return ilst = [

1,

2,

3,

4,

5,

6,

7,]it = map(f, lst)

# 把可迭代对象中的每一个元素传递给前面的函数进行处理. 处理的结果会返回成迭代器print(list(it)) #[1, 2, 3, 4, 5, 6, 7]

next:返回可迭代对象中的下一个元素值it

=

iter([1,

2

,

3

,

4

,

5

])while

True

:try:x

=

next(it)print(x)except

StopIteration:break#

1

# 2# 3# 4# 5

reversed:反转序列生成新的可迭代对象

print(

list(reversed([

1,

2,

3,

4,

5])))

# [5, 4, 3, 2, 1]

sorted:对可迭代对象进行排序,返回一个新的列表a = [

5,

3,

4,

2,

1]print(sorted(a,reverse=

True))

# [5, 4, 3, 2, 1]

zip:聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器

my_list = [

11,

12,

13]my_tuple = (

21,

22,

23)print(list(zip(my_list,my_tuple)))

# [(11, 21), (12, 22), (13, 23)]

对象操作(9个)

help:返回对象的帮助信息print(

help(str))

#查看字符串的用途

dir:返回对象或者当前作用域内的属性列表

print(dir(tuple))

#查看元组的方法

id:返回对象的唯一标识符s =

"alex"print(id(s))

# 139783780730608

hash:获取对象的哈希值

s =

"alex"

print(

hash(s))

#-168324845050430382lst = [1, 2, 3, 4, 5]print(hash(lst)) #报错,列表是不可哈希的

type:返回对象的类型,或者根据传入的参数创建一个新的类型dict = {

"Name":

"Zara",

"Age":

7}

print(

"Variable Type : %s" %

type (dict)) # Variable Type : <

type

"dict">

len:返回对象的长度

mylist = [

"apple",

"orange",

"cherry"]x = len(mylist)print(x)

# 3

ascii:返回对象的可打印表字符串表现方式s =

5

print(ascii(s)) #

5

format:格式化显示值s =

"hello world!"

print(

format(s,

"^20")) #居中

print(

format(s,

"<20")) #左对齐

print(

format(s,

">20")) #右对齐# hello world!# hello world!# hello world!

vars:返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表

class Person:name =

"John"age =

36country =

"norway"x = vars(Person)

print(x)# {

"__module__":

"__main__",

"name":

"Bill",

"age":

63,

"country":

"USA",

"__dict__":

"__dict__" of

"Person" objects>,

"__weakref__":

"__weakref__" of

"Person" objects>,

"__doc__": None}

反射操作(8个)

__import__:动态导入模块import osname = input(

"请输入你要导入的模块:")__import__(name)

# 可以动态导入模块

isinstance:判断对象是否是类或者类型元组中任意类元素的实例

arg=

123print(isinstance(arg, int))

# 输出True

issubclass:判断类是否是另外一个类或者类型元组中任意类元素的子类class

A:

passclass B(A):passprint(issubclass(B,A)) # 返回 True

hasattr:检查对象是否含有属性

class

Coordinate:x =

10y =

-5z =

0point1 = Coordinate()print(hasattr(point1,

"x"))print(hasattr(point1,

"y"))print(hasattr(point1,

"z"))print(hasattr(point1,

"no"))

# 没有该属性# True# True# True# False

getattr:获取对象的属性值class

Person

():age =

14Tom = Person()print(getattr(Tom,

"age"))

# 14

setattr:设置对象的属性值

class

A

():name =

"吊车尾"a = A()setattr(a,

"age",

24)print(a.age)

# 24

delattr:删除对象的属性class

Person:

def __init__(self, name, age):self.name = nameself.age = agetom = Person(

"Tom",

35)print(dir(tom)) # [

"__doc__",

"__init__",

"__module__",

"age",

"name"]delattr(tom,

"age")print(dir(tom)) # [

"__doc__",

"__init__",

"__module__",

"name"]s

callable:检测对象是否可被调用

a =

10print(callable(a))

#False 变量a不能被调用

变量操作(2个)

globals:返回当前作用域内的全局变量和其值组成的字典x =

"hello

"a =

8888888print(globals()) #返回一个全局变量的字典,包括所有导入的变量x,a# {

"__name__":

"__main__",

"__doc__":

None,

"__package__":

None,

"__loader__": <_frozen_importlib_external.sourcefileloader object at>

0x000000000212C2B0>,

"__spec__":

None,

"__annotations__": {},

"__builtins__":

"builtins" (built-

in)>,

"__file__":

"D:/Pythonproject/

111/global.py",

"__cached__":

None,

"x":

"hello",

"a":

8888888}

locals:返回当前作用域内的局部变量和其值组成的字典

print(locals())# {

"__name__":

"__main__",

"__doc__":

None,

"__package__":

None,

"__loader__": <_frozen_importlib_external.sourcefileloader object at>

0x10ab79358>,

"__spec__":

None,

"__annotations__": {},

"__builtins__":

"builtins" (built-

in)>,

"__file__": "/Users/pankaj/Documents/github/journaldev/Python-

3/basic_examples/python_locals_example.py",

"__cached__":

None}

交互操作(2个)

print:向标准输出对象打印输出print(1,2,3)

# 1 2 3

input:读取用户输入值

a = input(

"请输入你的姓名")

#输入:张三print(a) # 张三

文件操作(1个)

open:使用指定的模式和编码打开文件,返回文件读写对象f =

open(

"file",mode=

"r",encoding=

"utf-8")f.

read()f.

close()

编译执行(5个)

compile:将字符串编译为代码或者AST对象,使之能够通过exec语句来执行或者eval进行求值

code =

"for i in range(3): print(i)"com = compile(code,

"", mode=

"exec")exec(com)

# 0# 1# 2

eval:执行动态表达式求值code =

"5+6+7"com = compile(code,

"", mode=

"eval")

print(

eval(com))

# 18

exec:执行动态语句块

s =

"for i in range(5): print(i)"a = exec(s)

# 0# 1# 2# 3# 4

repr:返回一个对象的字符串表现形式(给解释器)class

test:

def

__init__

(self,name,age):self.age = ageself.name = namedef __repr__(self):

return

"Class_Test[name="+self.name+

",age="+str(self.age)+

"]"t = test(

"Zhou",

30)print(t)

# Class_Test[name=Zhou,age=30]

breakpoint:暂停脚本的执行,允许在程序的内部手动浏览

装饰器(3个)

property:标示属性的装饰器

class

C:

def

__init__

(self):self._name =

""@propertydef name(self):

"""i"m the "name" property."""

return self._name@name.setterdef name(self,value):

if value

is

None:

raise RuntimeError(

"name can not be None")

else:self._name = value

classmethod:标示方法为类方法的装饰器class

C:@classmethoddef f(cls,arg1):print(cls)print(arg1)

staticmethod:标示方法为静态方法的装饰器

class

Student

(object):

def

__init__

(self,name):self.name = name@staticmethoddef sayHello(lang):print(lang)

if lang ==

"en":print(

"Welcome!")

else:print(

"你好!")

收集不易,记得给木木一个小反馈哦~

PS:由于空格原因,这些代码直接复制运行不了哦~想学习的同学,可以私信回复【资料】获取原文档学习。

python内置函数程序_Python入门,一定要吃透这69个内置函数相关推荐

  1. python 2x可以打么_Python打基础一定要吃透这68个内置函数

    内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等. 截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下 abs() dict() h ...

  2. python中主函数循环_python入门(三):分支、循环、函数详解

    1.分支 if循环格式: if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_b ...

  3. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  4. python系统函数教程_Python入门基础教程之Python内置函数

    函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用C语言写的),而且是拿来即用,避免重复早轮 ...

  5. 【Python基础】Python初学者必须吃透这69个内置函数!

    所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如print,enumerate.format等.Python内置的这些函数非常精巧且强大的,对初学者来说,经常会忽略,但是偶尔会碰 ...

  6. 69讲入门python_Python入门,一定要吃透这69个内置函数

    内置函数就是Python预先定义的函数,这些内置函数使用方便,无需导入,直接调用,大大提高使用者的工作效率,也更便于程序的阅读.截止到Python版本3.9.1,Python一共提供了69个内置函数. ...

  7. python字符串函数运算_Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创...

    前面简单介绍了python基本运算,这里再来简单讲述一下Python字符串相关操作 1. 字符串表示方法 >>> "www.jb51.net" #字符串使用单引号 ...

  8. python输入城市找省份_Python入门教程(1)

    人生苦短,我用Python! Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于2020年12月09日底发明,第一个公开发行 ...

  9. python炫酷烟花表白程序_python炫酷烟花表白源代码

    天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀. python炫酷烟花表白源代码 这个有趣的小项目并不复 ...

  10. python为什么那么难学_Python入门很难吗? 为什么越来越多的人都学Python?

    Python都说是最容易学习的编程语言,但是为什么还是有很多的小白在学习的过程中学的云里雾里,一天到晚都是报错,异常,这也怪不得会有那么多人说,学Python是从入门到入土!其实一门编程语言不像语文那 ...

最新文章

  1. 互联网协议 — BGP 边界网关协议 — Overview
  2. mysqldump: command not found
  3. Cordova打包的Vue项目在IOS无法拉起支付宝和微信支付
  4. ssm整合,使用maven分模块
  5. arduinojson 转 string_安德胜工作室发来本周五嗨唱转起来第二季首秀的嘉宾剧透...
  6. HBase使用场景和成功案例 (转)
  7. linux 通配符 元字符 转义字符
  8. i9100美化android.policy.jar,摆脱越狱束缚 三星I9100安装应用更轻松
  9. String、Object、包装类的常用方法以及注意点
  10. android clipRect 用法说明
  11. 压缩壳的实现相关细节(强奸PE)
  12. roboto字体android,Android字体设置 Roboto字体使用
  13. class文件的加载过程
  14. 半导体物理学——(一)半导体中的电子状态
  15. android仿微信图片编辑库,Android仿微信朋友圈添加图片
  16. 有权图的单源最短路算法
  17. exls表格搜索快捷键_excel表格快捷键大全_如何在EXCEL表格中快速查找
  18. 在Word文档里如何快速返回目录页-Office学习
  19. 11083 旅游背包(优先做)
  20. 常见通信协议之UART、RS485

热门文章

  1. 【细胞分割】基于matlab分水岭算法细胞分割计数【含Matlab源码 639期】
  2. 【语音编码】基于matlab LPC编解码【含Matlab源码 554期】
  3. python惰性_如何创建惰性属性以提高Python的性能
  4. pandas的基本函数
  5. Zotero文献管理 | Zotero下载使用、Zotero+坚果云实现多设备文献同步
  6. 服务器为啥要搭建在2012系统,Windows Server2012R2怎么配置为DNS服务器
  7. mysql 并发锁_MySQL的并发控制与加锁分析
  8. 双11当天,淘宝搜索如何让CPU使用率降45%,GMV提1% | 论文
  9. GNU make manual 翻译(四十六)
  10. Android Paint中setTextSize