一、内置函数

注意:内置函数id()可以返回一个对象的身份,返回值为整数。

这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准。

is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型

#更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii

二、内置函数详情

1、abs(x)

功能:取数的绝对值

1
2
>>> abs(-1)  #取-1的绝对值
1

2、all(iterable)

功能:如果这个可迭代的元素都为真,则返回真(非0的就为真,负数也是为真)

1
2
3
4
>>> all([0,9,-3])   #有0,说明为假
False
>>> all([-1,5,6])  #负数也是为真
True

3、any(iterable)

功能:可迭代的元素中,有一个为真,则返回真,没有真或空列表返回假。

1
2
3
4
>>> any([0,0,2])  #有一个为真,则为真
True
>>> any([])  #空列表为假
False

4、ascii(object)

功能:把内存对象变成一个可打印的字符串格式

>>> a = ascii([1,2,3,4])
>>> print(type(a),[a])

5、bin(x)

功能:把一个整数转换成二进制

1
2
3
4
>>> bin(300)  #把300转换成二进制
'0b100101100'
>>> bin(1)
'0b1'

6、bool([x])

功能:返回一个布尔值,空列表为假,不为空为真

1
2
3
4
5
6
>>> bool([])   #空列表
False
>>> bool([1,2])   #不为空列表
True
>>> bool([0])
True

7、bytearray[source[, encoding[, errors]]]

功能:字节数组,并且可以修改二进制的字节

1
2
3
4
5
6
>>> b = bytearray("abcd",encoding="utf-8")  #声明一个字节数组
>>> b[0]  #打印第一个元素的ascii值,也就是'a'对应的ascii值
97
>>> b[0= 100  #修改时,只能赋值对应字符的ascii值
>>> b
bytearray(b'dbcd')   #发现字节数组值被修改

8、bytes([source[, encoding[, errors]]])

功能:把字符串转换成字节

1
2
3
4
5
6
7
8
9
>>> b = bytes("abcd",encoding="utf-8")  #声明字节
>>> b
b'abcd'
>>> b[0]   #访问到'a'字符对应的ASCII值
97
>>> b[0]=100    #不可以修改里面的值,不然会报错
Traceback (most recent call last):
  File "<input>", line 1in <module>
TypeError: 'bytes' object does not support item assignment

9、callable(object)

功能:判断一个对象是否可以被调用,只有在后面有括号的,表示可以调用,比如:函数,类。

1
2
3
4
5
>>> callable([])  #列表后面不加括号
False
>>> def sayhi():pass  #定义一个函数
>>> callable(sayhi)  #函数调用,后面需要加括号
True

10、chr(i)

功能:通过ascii的值(必须是数字),找到对应的字符

1
2
>>> chr(97)
'a'

11、ord(c)

功能:根据字符(必须ascii的字符),找到对应的ascii值

1
2
>>> ord('a')
97

12、complex([real[, imag]])

功能:返回一个复数,我们几乎用不到。

1
2
>>> complex('1+2j')
(1+2j)

13、dict(**kwarg)、dict(mapping**kwarg)、dict(iterable**kwarg)

功能:返回一个字典

1
2
3
4
5
6
7
8
>>> dict()  #定义一个字典
{}
>>> dict(name='qianduoduo',age=18)   #传入非固定关键字参数
{'name''qianduoduo''age'18}
>>> dict([('name','qianduoduo'),('age',18)])   #传入一个列表
{'name''zhangqigao''age'18}
>>> dict([['name','qianduoduo'],['age',18]])    #传入一个列表
{'name''qianduoduo''age'18}

14、dir([object])

功能:看一个对象有哪些方法

1
2
3
4
5
6
7
8
>>> name = []
>>> dir(name)  #显示name下的所有的方法
['__add__''__class__''__contains__''__delattr__''__delitem__''__dir__''__doc__',
'__eq__''__format__''__ge__''__getattribute__''__getitem__''__gt__''__hash__',
'__iadd__''__imul__''__init__''__iter__''__le__''__len__''__lt__''__mul__''__ne__',
'__new__''__reduce__''__reduce_ex__''__repr__''__reversed__''__rmul__',
'__setattr__''__setitem__''__sizeof__''__str__''__subclasshook__''append''clear',
'copy''count''extend''index''insert''pop''remove''reverse''sort']

15、divmod(a,b)

功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。

1
2
>>> divmod(5,2)
(21)    #2是商,1是余数

16、enumerate(iterable,start=0)  购物车的列表用到了,

功能:遍历一个可迭代对象,获取索引和对应的元素的

1
2
3
4
5
>>> seasons = ['Spring''Summer''Fall''Winter']
>>> list(enumerate(seasons))
[(0'Spring'), (1'Summer'), (2'Fall'), (3'Winter')]
>>> list(enumerate(seasons, start=1))
[(1'Spring'), (2'Summer'), (3'Fall'), (4'Winter')]

17、eval(expressionglobals=Nonelocals=None)

功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。

1
2
3
4
>>> eval('1')  #字符类型转换成int类型
1
>>> eval("1+3/2*6")   #字符串转换为表达式
10.0

18、filter(functioniterable)

功能:通过function过滤条件,去获取iterable中你想要的数据。

1
2
3
4
5
6
7
8
9
>>> res = filter(lambda n:n>5,range(10)) 
>>> res     #得到一个迭代器
<filter object at 0x0000000003093BE0>
>>> for in res:
    print(i)
6
7
8
9

19、map(functioniterable)

功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。

1
2
3
4
5
6
7
8
9
10
>>> res = map(lambda n:n*2,range(5))  #n*2是处理方式
>>> res
<map object at 0x00000000031B4BE0>
>>> for in res:
    print(i)
0
2
4
6
8

20、reduce(function,iterable)

功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。

1
2
3
4
5
6
7
>>> from functools import reduce
>>> res = reduce(lambda x,y:x+y,range(10))  #x+y的值赋给x,rang(10)中的每个元素赋给y
>>> res
45
>>> res = reduce(lambda x,y:x*y,range(1,10)) #x*y的值赋给x,rang(10)中的每个元素赋给y
>>> res
362880

21、float([x])

功能:把一个浮点类型的字符串转换为浮点类型的数据。

1
2
3
4
5
6
7
8
9
10
>>> float('+1.23')
1.23
>>> float('   -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf

22、format(value[, format_spec])

功能:格式话字符串,前面字符串拼接讲过

23、frozenset([iterable])

功能:把集合变成一个不可变的集合

1
2
3
4
5
6
7
8
9
10
>>> res = frozenset([1,2,3,4,3])
>>> res
frozenset({1234})   #去重的,不可变的集合
>>> dir(res)   #没有可变的方法
['__and__''__class__''__contains__''__delattr__''__dir__''__doc__''__eq__',
'__format__''__ge__''__getattribute__''__gt__''__hash__''__init__''__iter__''__le__',
 '__len__''__lt__''__ne__''__new__''__or__''__rand__''__reduce__''__reduce_ex__',
'__repr__''__ror__''__rsub__''__rxor__''__setattr__''__sizeof__''__str__''__sub__',
'__subclasshook__''__xor__''copy''difference''intersection''isdisjoint''issubset',
'issuperset''symmetric_difference''union']

注:set()是可变的

24、globals()

功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value

1
2
3
4
5
6
7
print(globals())
 
#输出
{'__spec__'None'__name__''__main__''__file__': 'D:/PycharmProjects/pyhomework
/day4/内置函数/内置函数.py', '__doc__': None, '__package__': None, '__loader__':
<_frozen_importlib_external.SourceFileLoader object at 0x0000000000695B00>,
'__cached__'None'__builtins__': <module 'built

注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量

25、help([object])

功能:显示对象的帮助信息

1
2
3
4
5
6
7
8
9
10
11
>>> res = []  #定义一个列表
>>> help(res)   #打印帮助信息
Help on list object:
 
class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable's items
 
 |  Methods defined here:
 
 .....

26、hex(x)

功能:把一个数字转成16进制

1
2
3
4
>>> hex(255)
'0xff'
>>> hex(10)
'0xa'

27、id(object)

功能:返回对象的内存地址

1
2
>>> id('zhangqigao')
50993136   #'zhangqigao'这个字符串的内存地址

28、input([prompt])

功能:输入字符串

1
2
3
4
>>> s = input('--> '
--> Monty Python's Flying Circus  #输入的内容
>>> s 
"Monty Python's Flying Circus"

29、int(x)

功能:把其他数据类型强制转换成int类型

1
2
>>> int('10')
10

30、iter(object[, sentinel])

功能:把一个普通序列转成迭代器

1
2
3
with open('mydata.txt') as fp:
    for line in iter(fp.readline, ''):
        process_line(line)

31、len(s)

功能:计算序列或者字符串的长度

1
2
3
4
>>> len("zhangqigao")  #字符串的长度
10
>>> len([1,2,3,4,5])  #列表的长度
5

32、list([iterable])

功能:把其他序列转换成一个列表

1
2
>>> list((1,2,3,4,5))   #把一个元组转换为一个列表
[12345]

33、locals()

功能:打印局部变量

1
2
3
4
5
6
7
8
9
10
11
def test():
    locals_var = 333
    print(locals())   #只打印局部变量
 
test()
print(globals().get("locals_var"))  #只能打印全局变量
 
#输出
 
{'locals_var'333}
None

34、max(iterable*[, keydefault])

功能:返回列表重点额最大值

1
2
>>> max([1,2,3,4,5])
5

35、min(iterable*[, keydefault])

功能:返回列表中的最小值

1
2
>>> min([1,2,3,4,5])
1

36、next(iterator[, default])

功能:返回迭代器的下一个值,相当于__next__()方法,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常

1
2
3
4
5
6
7
8
9
>>> a = iter([1,2])
>>> next(a)
1
>>> next(a)
2
>>> next(a)
Traceback (most recent call last):
  File "<input>", line 1in <module>
StopIteration

37、object

功能:python中一切皆对象,每一个对象都有它的属性和方法

38、oct(x)

功能:把一个数转成8进制

>>> oct(7)
'0o7'
>>> oct(8)
'0o10'
>>> oct(15)
'0o17'
>>> oct(16)
'0o20'

39、open(filemode='r'buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

功能:文件操作,详细介绍:http://www.cnblogs.com/ManyQian/p/8075983.html

40、pow(xy[, z])

功能:返回多少次幂

1
2
>>> pow(2,3)  #相当于2**3
8

41、print(*objectssep=' 'end='\n'file=sys.stdoutflush=False)

功能:打印

1
2
>>> print("zhangqigao")
zhangqigao

42、range(stop)、range(startstop[, step])

功能:生成一个迭代器

1
2
3
4
5
6
>>> range(5)
range(05)
>>> range(1,5)
range(15)
>>> range(1,5,2)
range(152)

43、reversed(seq)

功能:反转一个序列,跟列表中的reversed方法是一样的

1
2
3
4
5
6
7
8
9
10
>>> reversed([1,2,3,4,5])
<list_reverseiterator object at 0x00000000030A2588>  #变成一个迭代器
>>> for in  reversed([1,2,3,4,5]):
...     print(i)
...    
5
4
3
2
1

44、round(number[, ndigits])

功能:四舍五入

45、set([iterable])

功能:集合

46、slice(stop),slice(startstop[, step])

功能:序列的切片,方便多次反复切

1
2
3
4
5
>>> a = [1,2,3,4,5,6]
>>> a[slice(1,3)]
[23]
>>> a[1:3]
[23]

47、sorted(iterable[, key][, reverse])

功能:对一个序列进行排序

1
2
3
4
5
6
7
8
9
>>> sorted([5,3,2,6,8])
[23568]
>>> a = {1:5,6:8,3:6}
>>> sorted(a)  #默认是按key排序
[136]
>>> sorted(a.items())  #按key排序
[(15), (36), (68)]
>>> sorted(a.items(),key = lambda x:x[1])  #按value排序
[(15), (36), (68)]

48、 str(object)

功能:把其他数据类型转换为字符串

1
2
>>> str(1)
'1'

49、sum(iterable[, start])

功能:求一个列表的和,元组,集合,前提都是数字类型

1
2
>>> sum([1,2,3,4,5,6])
21

50、tuple([iterable])

功能:把其他序列转换为一个元组

1
2
>>> tuple([1,2,3,4,5])
(12345)

51、type(object) 、type(namebasesdict)

功能:查看一个对象的数据类型

1
2
3
>>> a = 'qianduoduo'
>>> type(a)
<class 'str'>

注:一切数据类型都是有type()方法产生,它是一切数据类型的根。

52、zip(*iterables)

功能:zip中文意思是拉链的意思,把两个序列一一对应起来。

1
2
3
4
5
6
7
8
9
>>> a = [1,2,3,4]
>>> b=['a','b','c','d']
>>> for in zip(a,b):
...     print(i)
...    
(1'a')
(2'b')
(3'c')
(4'd')

注:如果a的元素比b的多,则按照元素最少的那个来

PS:有些没有列出来,不是实在用不着,就是后面类的重点,后面还有单独的博客!

python全栈开发-Day13 内置函数的更多相关文章

  1. python全栈开发-前方高能-内置函数2

    python_day_15 一.今日主要内容 1. lambda 匿名函数 语法: lambda 参数:返回值 不能完成复杂的操作 2. sorted() 函数 排序. 1. 可迭代对象 2. key ...

  2. Python全栈之路4--内置函数--文件操作

    上节重点回顾: 判断对象是否属于某个类,例如: 列表中有个数字,但是循环列表判断长度,用len会报错;因为int不支持len,所以要先判断属于某个类,然后再进行if判断. # isinstance(对 ...

  3. python-全栈开发-前方高能-内置函数

    python_day_14 13. 前方高能-内置函数 ⼀. 本节主要内容: 1. 内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. ...

  4. 巨蟒python全栈开发-第10天 函数进阶

    一.今日主要内容总览(重点) 1.动态传参(重点) *,** *: 形参:聚合 位置参数*=>元组 关键字**=>字典 实参:打散 列表,字符串,元组=>* 字典=>** 形参 ...

  5. python全栈开发_day11_作用域,函数嵌套和闭包

    一:作用域 1)什么是作用域 作用域是规定一个变量可以作用的范围,运行和销毁的范围 2)作用域的分类 1.内置作用域built_in:随着解释器的运行而产生,解释器运行的终止而销毁. 2.全局作用域g ...

  6. python全栈开发学习_内容目录及链接

    python全栈开发学习_day1_计算机五大组成部分及操作系统 python全栈开发学习_day2_语言种类及变量 python全栈开发_day3_数据类型,输入输出及运算符 python全栈开发_ ...

  7. python全栈开发 生成器 :生成器函数,推导式及生成器表达式

    python 全栈开发 1.生成器函数 2.推导式 3.生成器表达式 一.生成器函数 1.生成器: 生成器的本质就是迭代器 (1)生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(), ...

  8. python全栈开发之匿名函数和递归函数

    python 匿名函数和递归函数 python全栈开发,匿名函数,递归函数 匿名函数 lambda函数也叫匿名函数,即函数没有具体的名称.是为了解决一些功能很简单需求而设计的一句话函数.如下: #这段 ...

  9. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

随机推荐

  1. php 命令行插件 - phpsh

    phpsh 是php的一个命令行插件,个人觉得很不错,在此简单介绍下: 1.安装 readline sudo easy_install readline 2.到 https://github.com/ ...

  2. ImageButton 图像按钮

    ImageButton 类主要成员有: setINMask 属性: 数据类型:Bool, {get ,set}. 用于确定是否接受用户输入操作,它的值是传给一个指针.这个指针指向的当前图像按钮所在的窗 ...

  3. node,cnpm安装和配置

    作为一个前端人员,node已经是必备. 1.下载 下载地址:https://nodejs.org/zh-cn/download/ 选择相应的版本下载 2.解压缩 将文件解压到要安装的位置,并新建两个目 ...

  4. 为 Debian 8 或 Debian 9(64 位)安装 .NET Core

    在 Debian 8 或 Debian 9(64 位)上安装 .NET Core 的具体步骤: 备注:必须有用户控制目录,才能通过 tar.gz 在 Linux 系统上进行安装. 1.准备一台刚安装的 ...

  5. 【前端单元测试入门02】react的单元测试之Enzyme

    React项目的单元测试 React的组件结构和JSX语法,对上一章的内容来讲进行测试显得很勉强. React官方已经提供了一个测试工具库:react-dom/test-utils 只是用起来不够方便 ...

  6. syskey——让你的电脑更加安全

    我之前介绍过一个绕过系统登录密码的工具kon-boot,今天介绍的就是可以防止这个工具的方法,也能让你的电脑更加的安全. 这个方法也是我在Youtube上看见的一个方法,还是不错. 方法: win+R ...

  7. 学习python之路_入门篇A

    偶尔经同事的介绍进入了金角大王的博客里,看到大王编写的文章都是关于python编程的,由于自己一直也是做软件测试方面的工作,也一直想往自动化测试方面发展,了解到利用python可以进行自动化测试操作, ...

  8. 《SQL必知必会》读书笔记

    个人博客文章地址:https://feiffy.cc/%E3%80%8ASQL%E5%BF%85%E7%9F%A5%E5%BF%85%E4%BC%9A%E3%80%8B 很适合入门的一本SQL书,虽相 ...

  9. 2017总结&2018展望

    2017已逝2018已来,是时候放下包袱来好好回顾下2017做了什么,有什么收获,遗憾之处的原因是什么.2018应该怎么做才能让自己满意,才能少一些遗憾. 2017 工作 工作中所参与的项目是一个直播 ...

  10. 元组tuple基本操作

    创建一个元组 tuple1=(1,2,3,4,5,6,7,8) tuple的标志仿佛是(),但是,有()不一定是元组,没有()不一定不是元组 tuple2=(1)#tuple2是一个整型 tuple3 ...