python内置函数简单归纳
做python小项目的时候发现熟练运用python内置函数,可以节省很多的时间,在这里整理一下,便于以后学习或者工作的时候查看.函数的参数可以在pycharm中ctrl+p查看。
1.abs(x):返回数字的绝对值
- print ("abs(-40) : ", abs(-40))
- print ("abs(100.10) : ", abs(100.10))
- """
- 结果:
- abs(-40) : 40
- abs(100.10) : 100.1
- """
2.dict():创建一个字典
- >>>dict() # 创建空字典
- {}
- >>> dict(a='a', b='b', t='t') # 传入关键字
- {'a': 'a', 'b': 'b', 't': 't'}
- >>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
- {'three': 3, 'two': 2, 'one': 1}
- >>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
- {'three': 3, 'two': 2, 'one': 1}
- >>>
3.min():返回给定参数的最小值,参数可以为序列
- print ("min(80, 100, 1000) : ", min(80, 100, 1000))
- print ("min(-20, 100, 400) : ", min(-20, 100, 400))
- print ("min(-80, -20, -10) : ", min(-80, -20, -10))
- print ("min(0, 100, -400) : ", min(0, 100, -400))
- """
- 结果:
- min(80, 100, 1000) : 80
- min(-20, 100, 400) : -20
- min(-80, -20, -10) : -80
- min(0, 100, -400) : -400
- """
4.setattr():对应函数getattr,用于设置属性值,该属性不一定存在
- >>>class A(object):
- ... bar = 1
- ...
- >>> a = A()
- >>> getattr(a, 'bar') # 获取属性 bar 值
- 1
- >>> setattr(a, 'bar', 5) # 设置属性 bar 值
- >>> a.bar
- 5
- #属性不存在的时候会创建一个新的对象属性,并对属性赋值
- >>>class A():
- ... name = "runoob"
- ...
- >>> a = A()
- >>> setattr(a, "age", 28)
- >>> print(a.age)
- 28
- >>>
5.all(): 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。
- >>> all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
- True
- >>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
- False
- >>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素
- False
- >>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
- True
- >>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
- False
- >>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
- False
- >>> all([]) # 空列表
- True
- >>> all(()) # 空元组
- True
6.dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
- >>>dir() # 获得当前模块的属性列表
- ['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
- >>> dir([ ]) # 查看列表的方法
- ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- >>>
7.hex():将一个指定数字转化为16进制数
- >>>hex(255)
- '0xff'
- >>> hex(-42)
- '-0x2a'
- >>> hex(12)
- '0xc'
- >>> type(hex(12))
- <class 'str'> # 字符串
8.next():返回迭代器的下一个项目
- # 首先获得Iterator对象:
- it = iter([1, 2, 3, 4, 5])
- # 循环:
- while True:
- try:
- # 获得下一个值:
- x = next(it)
- print(x)
- except StopIteration:
- # 遇到StopIteration就退出循环
- break
9.slice():实现切片对象,主要用在切片操作函数里的参数传递
- >>>myslice = slice(5) # 设置截取5个元素的切片
- >>> myslice
- slice(None, 5, None)
- >>> arr = range(10)
- >>> arr
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- >>> arr[myslice] # 截取 5 个元素
- [0, 1, 2, 3, 4]
- >>>
10.any():
用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。
- >>>any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
- True
- >>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
- True
- >>> any([0, '', False]) # 列表list,元素全为0,'',false
- False
- >>> any(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
- True
- >>> any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
- True
- >>> any((0, '', False)) # 元组tuple,元素全为0,'',false
- False
- >>> any([]) # 空列表
- False
- >>> any(()) # 空元组
- False
11.divmod():接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。
- >>> divmod(7, 2)
- (3, 1)
- >>> divmod(8, 2)
- (4, 0)
- >>> divmod(8, -2)
- (-4, 0)
- >>> divmod(3, 1.3)
- (2.0, 0.3999999999999999)
12.id():用于获取对象的内存地址
- >>>a = 'runoob'
- >>> id(a)
- 4531887632
- >>> b = 1
- >>> id(b)
- 140588731085608
13.sorted():对所有可迭代对象进行排序操作,sort只用于列表
- >>>sorted([5, 2, 3, 1, 4])
- [1, 2, 3, 4, 5] # 默认为升序
- >>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
- [1, 2, 3, 4, 5]
- #倒序
- >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
- >>> result_list = sorted(example_list, key=lambda x: x*-1)
- >>> print(result_list)
- [7, 6, 5, 4, 3, 2, 1, 0]
- >>>
- >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
- >>> sorted(example_list, reverse=True)
- [7, 6, 5, 4, 3, 2, 1, 0]
14.ascii():类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。
- >>> ascii('runoob')
- "'runoob'"
15.enumerate():用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
- >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
- >>>list(enumerate(seasons))
- [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
- >>>list(enumerate(seasons, start=1)) # 小标从 1 开始
- [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')
- #for循环使用
- >>>seq = ['one', 'two', 'three']
- >>>for i, element in enumerate(seq):
- ... print(i, seq[i])
- ...
- 0 one
- 1 two
- 2 three
- >>>
16.oct():将一个整数转化为8进制字符串
- >>>oct(10)
- ''
- >>> oct(20)
- ''
- >>> oct(15)
- ''
- >>>
17.bin():返回一个整数int或者长整数long int的二进制表示
- >>>bin(10)
- '0b1010'
- >>> bin(20)
- '0b10100'
18.eval():执行一个字符串表达式,并返回表达式的值
- >>>x = 7
- >>> eval( '3 * x' )
- 21
- >>> eval('pow(2,2)')
- 4
- >>> eval('2 + 2')
- 4
- >>> n=81
- >>> eval("n + 4")
- 85
19.执行储存在字符串或文件中的python语句,相比eval,exec可以执行更复杂的python代码
- 实例1:
- >>>exec('print("Hello World")')
- Hello World
- # 单行语句字符串
- >>> exec("print ('runoob.com')")
- runoob.com
- # 多行语句字符串
- >>> exec ("""for i in range(5):
- ... print ("iter time: %d" % i)
- ... """)
- iter time: 0
- iter time: 1
- iter time: 2
- iter time: 3
- iter time: 4
- 实例2:
- x = 10
- expr = """
- z = 30
- sum = x + y + z
- print(sum)
- """
- def func():
- y = 20
- exec(expr)
- exec(expr, {'x': 1, 'y': 2})
- exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
- func()
- #结果
- 60
- 33
- 34
20.isinstance():判断一个对象是否是一个已知的类型,考虑继承
- >>>a = 2
- >>> isinstance (a,int)
- True
- >>> isinstance (a,str)
- False
- >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
- True
- #type()和isinstance()的区别
- class A:
- pass
- class B(A):
- pass
- isinstance(A(), A) # returns True
- type(A()) == A # returns True
- isinstance(B(), A) # returns True
- type(B()) == A # returns False
21.ord():是chr()函数的配对函数,它以一个字符串(Unicode字符)作为参数,返回对应的ASCII数值,或者Unicode数值
- >>>ord('a')
- 97
- >>> ord('€')
- 8364
- >>>
22.filter():用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
- #过滤所有奇数
- def is_odd(n):
- return n % 2 == 1
- tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
- newlist = list(tmplist)
- print(newlist)
- #过滤1-100中平方根是整数的数
- import math
- def is_sqr(x):
- return math.sqrt(x) % 1 == 0
- tmplist = filter(is_sqr, range(1, 101))
- newlist = list(tmplist)
- print(newlist)
python内置函数简单归纳的更多相关文章
- 【转】python 内置函数总结(大部分)
[转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...
- python 内置函数总结(大部分)
python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...
- Python基础篇【第2篇】: Python内置函数(一)
Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...
- 那些年,很多人没看懂的Python内置函数
Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...
- python内置函数,匿名函数
一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...
- Python 内置函数sorted()在高级用法
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...
- Python内置函数之匿名(lambda)函数
Python内置函数之匿名(lambda)函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数 #!/usr/bin/env python #_*_coding:utf ...
- python内置函数和魔法函数
内置方法:Python中声明每一个类系统都会加上一些默认内置方法,提供给系统调用该类的对象时使用.比如需要实例化一个对象时,需要调用该类的init方法:使用print去打印一个类时,其实调用的是str ...
- lambda 表达式+python内置函数
#函数 def f1(a,b): retrun a+b #lambda方式,形参(a,b):返回值(a+b) f2=lambda a,b : a+b 在一些比较简单的过程计算就可以用lambda p ...
随机推荐
- TCP输入 之 tcp_rcv_established
概述 tcp_rcv_established用于处理已连接状态下的输入,处理过程根据首部预测字段分为快速路径和慢速路径: 1. 在快路中,对是有有数据负荷进行不同处理: (1) 若无数据,则处理输入a ...
- linux mmap 内存映射
mmap() vs read()/write()/lseek() 通过strace统计系统调用的时候,经常可以看到mmap()与mmap2().系统调用mmap()可以将某文件映射至内存(进程空间), ...
- 微服务一键启动脚本shell没有环境变量的
#!/bin/bash#######################################################export JAVA_HOME=/root/data/app/jd ...
- python 装饰器 (test = submit(test))
两层的装饰器,这里对于register不需要进行输入 usename, passwd = 'alex', 'abc123' def register(func): def wrapper(*args, ...
- 设置placeholder 颜色
::-webkit-input-placeholder { /* WebKit browsers */ color: rgb(100, 193, 173); } :-moz-placeholder { ...
- .NET GC简单理解
内存分配 计算对象大小. 添加对象指针和同步索引块. 从内存指针处开始,分配对象内存. 问题:内存不能无限制增长. 垃圾回收 从应用程序实例出发,标记所有的引用对象. 将标记对象移动到低地址端,修正实 ...
- 由STL map调用clear后,内存不返还给操作系统的问题出发,探讨glibc malloc/free行为(转)
1. 问题 我们的程序有几十个线程,每个线程拥有一个std::map,每个线程都要向自己的std::map中插入大量的数据,但每个数据只有几十字节:当使用完std::map,调用map.clear() ...
- [Python]机器学习:PageRank原理与实现
前言 PageRank是TextRank的前身.顾名思义,TextRank用于文本重要性计算(语句排名)和文本摘要等NLP应用,而Page最初是因搜索引擎需要对网页的重要性计算和排名而诞生.本着追本溯 ...
- subprocess.call 使用
1.subprocess.call 里面的命令分开写,实例如下: subprocess.call 是不能作为赋值的,需要用到 subprocess.check_output 函数,而且如果要引用赋值就 ...
- 【转】Apache HBase 问题排查思路
[From]https://www.itcodemonkey.com/article/9426.html HBCK - HBCK检查什么? (1)HBase Region一致性 集群中所有region ...