Python——内置函数(待完善)
内置函数(68个),分为六大类
思维导图:
1. 迭代器/生成器相关(3个)
(1)range
for i in range(10): #0-9
print(i)
for i in range(1,11): #1-10
print(i)
for i in range(1,11,2): #1,3,5,7,9
print(i)
(2)next
(3)iter
2. 基础数据类型相关(38个)
(1)和数字相关(14个)
<1>数据类型(4个)
bool
int
float
小数:有限循环小数,无限循环小数,无限不循环小数
浮点数:有限循环小数,无限循环小数
complex
<2>进制转换(3个)
bin
oct
hex
<3>数学运算(7个)
abs
# 绝对值
print(abs(5)) #
print(abs(-5)) #
divmod
#除余运算
print(divmod(7,2)) #(3,1)
print(divmod(9,2)) #(4,1)
round
# 精确值
print(round(3.14159,2)) #3.14
pow
# 幂运算
print(pow(2,3))
print(pow(3,2))
# 幂运算之后取余
print(pow(2,3,3))
print(pow(3,2,1))
sum
#求和
ret = sum([1,2,3,6,4,5])
print(ret) #
ret = sum([1,2,3,6,4,5],10)
print(ret) #
min
#最小值
print(min([1,2,3,4])) #
print(min(1,2,3,4)) #
print(min(-1,2,3,-4)) #-4
print(min(1,-2,3,-4,key = abs)) #
max
# 最大值
print(max([1,2,3,4])) #
print(max(1,2,3,4)) #
print(max(-1,2,3,-4)) #
print(max(1,-2,3,-4,key = abs)) #-4
(2)和数据结构相关(24个)
<1>序列(13个)
a. 列表和元祖
list
tuple
b. 相关内置函数
reversed
# reversed() 保留原列表,返回一个反向的迭代器
l = [1,2,3,4,5]
l2 = reversed(l)
print(l2) #<list_reverseiterator object at 0x00000212B09287F0>
slice
c. 字符串
str
format
bytes
# bytes() 转换成bytes类型
# gbk-->utf-8:先对gbk进行解码decode('gbk')成unicode,再编码encode('utf-8')成utf-8
print(bytes('你好',encoding='GBK')) #b'\xc4\xe3\xba\xc3' #Unicode转换成GBK的bytes
print(bytes('你好',encoding='GBK').decode('GBK')) #你好
print(bytes('你好',encoding='utf-8')) #b'\xe4\xbd\xa0\xe5\xa5\xbd' #Unicode转换成utf-8的bytes # 网络编程只能传二进制
# 文件存取、照片和视频以二进制存储
# html网页爬取到的也是编码
bytearray
memoryview
ord
chr
ascii
repr
# repr 让变量原封不动输出
name = 'egg'
print('你好%s'%name) #你好egg : %s_str
print('你好%r'%name) #你好'egg' :%r_repr
<2>数据集合(3个)
a. 字典
dic
b. 集合
set
frozenset
<3>相关内置函数(8个)
len
enumerate
all
any
zip
# zip() 拉链方法
l = [1,2,3]
l2 = ['a','b','c','d']
l3 = ('*','**',[1,2,3])
d = {'k1':1,'k2':2}
print(zip(l,l2)) #<zip object at 0x000001708A005F48>
for i in zip(l,l2):
print(i) #(1, 'a') (2, 'b') (3, 'c')
for i in zip(l,l2,l3):
print(i) #(1, 'a', '*') (2, 'b', '**')
for i in zip(l,l2,l3,d):
print(i) #(3, 'c', [1, 2, 3]) (1, 'a', '*', 'k1') (2, 'b', '**', 'k2')
filter
判断奇偶
# filter() 过滤器 def is_odd(x):
return x % 2 == 1
ret = filter(is_odd,[1,4,6,7,9,12,17])
print(ret)
for i in ret:
print(i) #1 7 9 17
# 下面的效果同上
ret2 = [i for i in [1,4,6,7,9,12,17] if i % 2 == 1]
print(ret2) #[1, 7, 9, 17]
过滤字符串
def is_str(s):
if type(s) == str:
return True
ret = filter(is_str,[1,'hello','xc',6,5,'cx'])
print(ret) #<filter object at 0x00000274A0F440F0>
for i in ret:
print(i) #hello xc cx
删除列表中的空元素 filter使用
def is_not_empty(s):
return s and str(s).strip()
ret = filter(is_not_empty,[1,'',[],'hello','xc',None,6,5,'cx'])
print(ret)
for i in ret:
print(i)
过滤出1-100中平方根是整数的数
from math import sqrt
# print(sqrt(64)) # 8.0
def pfg(x):
res = sqrt(x)
return res%1 ==0
ret = filter(pfg,range(1,101))
print(ret)
for i in ret:
print(i)
map
# filter 执行之后的结果集合 <= 执行之前的个数 —— 只筛选不改变值
# map 执行之后的结果集合 <= 执行之前的个数 —— 值可能发生变化 # map()
ret = map(abs,[1,+4,6,-8])
for i in ret:
print(i) #1 4 6 8
sorted
# sorted()——不改变原列表,生成新的列表,占用内存
l = [1,-4,6,-10]
l.sort(key=abs) #sort在原列表的基础上排序
print(l) #[1, -4, 6, -10] l1 = [1,-4,6,-10]
print(sorted(l)) #[-10, -4, 1, 6]
print(l1) #[1, -4, 6, -10]
print(sorted(l1,reverse = False)) #[-10, -4, 1, 6]
print(sorted(l1,key = abs,reverse = True)) #[-10, 6, -4, 1]
print(l1) #[1, -4, 6, -10]
列表按照每一个元素的len排序
l = [' ',[1,2],'cv','hello world']
r = sorted(l,key = len)
print(r) #[[1, 2], 'cv', ' ', 'hello world']
3. 作用域相关(12个)
4. 面向对象相关(9个)
5. 反射相关(4个)
6. 其他(12个)
(1)字符串类型代码的执行(3个)
<1> eval
<2> exec
# exec和eval都可以执行字符串类型的代码
# 区别:
# eval:有返回值
# 只能用在明确知道要执行的代码是什么
# 适合处理有结果的简单计算
# exec:无返回值
# 适合处理简单的流程控制(如下打印***)
code = '''for i in range(10):
print(i*'*')
'''
exec(code) exec('print(123)') #
eval('print(123)') #
print(exec('1+2+3+4')) #None,没有返回值
print(eval('1+2+3+4')) #10,有返回值
<3> compile
(2)输入输出(2个)
<1> input
ret = input('请输入:')
print(ret)
<2> print
print('我们的祖国是花园',end='') #默认end='\n'
print('我们的祖国是花园',end='') #我们的祖国是花园我们的祖国是花园
print(1,2,3,4,5,sep=' * ') #1 * 2 * 3 * 4 * 5——sep='多个值中间的分隔符'
f = open('file','w')
print('aaaa',file=f) #不打印到屏幕,写入文件
f.close
(3)内存相关(2个)
<1> hash
# 对于相同可以哈希的数据的hash值,在一次执行过程中总是不变的
# 字典查询速度快:key:value-------->通过hash(key)-->找到value
print(hash(12345)) #
print(hash('gsgvsbsu')) #-8492621632380807
print(hash(('','aaa'))) #
print(hash([])) #unhashable
<2> id
(4)文件操作相关(1个)
open
f = open('1.txt') #打开文件
print(f.writable()) #False——是否可写
print(f.readable()) #True——是否可读
(5)模块相关(1个)
import
import time
print(time.time()) #1538054908.6478863 time = __import__('time')
print(time.time()) #1538054908.6478863
(6)帮助(1个)
help
(7)调用相关(1个)
callable
(8)查看内置属性(1个)
dir
# dir——查看一个变量拥有的方法
print(dir([]))
print(dir(1))
运行结果:
Python——内置函数(待完善)的更多相关文章
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- Python基础篇【第2篇】: Python内置函数(一)
Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- Python内置函数进制转换的用法
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Python内置函数(12)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- Python内置函数(61)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- 那些年,很多人没看懂的Python内置函数
Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...
- Python 内置函数笔记
其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...
- 【转】实习小记-python 内置函数__eq__函数引发的探索
[转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...
随机推荐
- linux查看tftp服务是否启动
netstat -a |grep tftp 若输出以下信息说明tftp服务已启动: udp 0 0 *:tftp *:*
- POJ 3422 Kaka's Matrix Travels(拆点+最大费用流)题解
题意:小A从左上角走到右下角,每个格子都有一个价值,经过这个格子就把价值拿走,每次只能往下或往右走,问你走k次最多能拿多少价值的东西. 思路:这里有一个限制条件就是经过之后要把东西拿走,也就是每一格的 ...
- Today's harvest !!!
今天将Mybatis的视频看到了第60集,其之前讲解了自表的主外键查询.例如一个新闻表中,有一级栏目,二级栏目,三级栏目,其中二级栏目的pid为一级栏目的id,如此种种. 而今天做的小项目中使用了 e ...
- 更换Ubuntu14.04主题
闲暇之余,想玩一玩Ubuntu的主题,想把原来的主题换成Numix主题,说干就干. sudo add-apt-repository ppa:numix/ppa sudo apt-get update ...
- Nginx 多进程连接请求/事件分发流程分析
Nginx使用多进程的方法进行任务处理,每个worker进程只有一个线程,单线程循环处理全部监听的事件.本文重点分析一下多进程间的负载均衡问题以及Nginx多进程事件处理流程,方便大家自己写程序的时候 ...
- Looper.loop() android线程中的消息循环
Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Loope ...
- Java Spring-注解进行属性注入
2017-11-06 21:19:43 一.Spring的注解装配BeanSpring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean Spring的框架中提供 ...
- 最短路径求解(Dijkstra)
Dijkstra算法分析 题目分析参照<数据结构>(严蔚敏)7-6节 最短路径问题描述 参照日常生活中的公交查询系统.我们有选项: 少换乘/最少站数 价格最少/时间最短.... (ps:下 ...
- python语言的优缺点
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Py ...
- poj 2029 Get Many Persimmon Trees 各种解法都有,其实就是瞎搞不算吧是dp
连接:http://poj.org/problem?id=2029 题意:给你一个map,然后在上面种树,问你h*w的矩形上最多有几棵树~这题直接搜就可以.不能算是DP 用树状数组也可作. #incl ...