python课堂整理16---内置函数
1. abs :求绝对值
print(abs(-1))
2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False
print(all([12,'asds',345]))
print(all('')) #特例 若参数为空也返回True
print(all((0,)))
print(all([]))

3. any () 和all()相反,只要有一个为真就返回Ture
print(any([1231, 0]))
print(any([0]))

4. 进制转换
print(bin(3)) # 10进制转化为二进制
print(hex(15)) # 10进制转化为16进制
print(oct(15)) # 10 进制转化为8进制
5. bool() 判断布尔值,除了下面三个,其他都返回True
print(bool(0))
print(bool('')) #可以是空列表空元组
print(bool(None))
6. 编码:bytes:把字符串转换为字节,需要手动指明编码格式
name = '大白'
print(bytes(name, encoding = 'utf - 8')) # utf-8 一个中文 = 3 个字节

解码:用什么格式编码就用什么格式解码,gbk 用2个字节表示中文,ASCII码不能表示中文,python3 默认utf - 8 解码
name = '大白'
print(bytes(name, encoding = 'utf - 8').decode('utf-8'))

7. chr() 求一定范围内某个数字对应的ascii 码
print(chr(1223))

8. dir() 打印某一对象下面有哪些方法
print(dir(dict))

9. divmod() 用来作分页功能,第一个参数是内容总数,第二个参数是一页要显示的内容数,可求得要分几页,若有余数,自行加一
print(divmod(10, 3)) 10/3 商3余1

10. eval
①把字符串中的数据结构给提取出来
dic_str1 = "{'name': 'alex'}"
print((eval(dic_str1)))
print(type(eval(dic_str1)))
print(type(dic_str1))

②把字符串的表达式进行运算
express = '1 + 1'
print(eval(express))

11. hash() 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型
特征:①得到的hash值不会随着传入内容的增长而变长(固定长度)
②不能根据hash值反推出原来内容
③若原参数发生变化,得到的hash值也跟着变化,可用来检测数据是否被篡改
print(hash('shfduqwhfkwsajdfh9237498231'))
print(hash('5211314'))
print(hash('5211314safhciwsafhwiofhdajskdhjioas;fhdasiodcjasodfacxasd'))
name = 'jinling'
print(hash(name))
print(hash(name))
name = 'dabai'
print(hash(name))

12. isinstance() 判断类型(学完面向对象再作修改)
print(isinstance(1, int))
print(isinstance('abc', str))
print(isinstance([], list))
print(isinstance([], tuple))

13. globals() 和locals() 查看全局变量和局部变量
name = '天青色等烟雨而我在等你'
print(globals())
def test():
age = '18'
print(locals())
test()


14. max 和min 最大值和最小值,max()里面传入的是可迭代类型
age_dic = {'alex3': 18, 'liu1': 17, 'jinling2': 16}
print(max(age_dic.values())) #指定比较values
print(max(age_dic)) #默认比较的是key, 一位一位的比较

从前往后循环比较,第一位最大就不比了,不同类型之间不能进行比较
l1 = [
(5, 'e'),
(1, 'l'),
(3, 'o'),
(2, 'v')
]
print(max(l1))

15. zip函数,里面传入两个参数(序列),形成一一对应关系(拉链效果)
print(list(zip(['l', 'o', 'v', 'e'], [1, 2, 3, 4])))

p = {'name': 'alex', 'age': 18, 'gender': 'none'}
print(list(zip(p.keys(), p.values())))

16. max的高级用法,结合zip(min不在赘述,和max使用方法相同)
dic = {'age': 18, 'age2': 10}
print(max(dic)) #默认比较的是key
print(max(dic.values())) #比较的是key,但不知道是哪个key的
print(max(zip(dic.values(), dic.keys())))

people = [
{'name': 'dabai', 'age': 21},
{'name': 'jinling', 'age': 19},
{'name': 'liu', 'age': 20},
{'name': 'sb', 'age': 100}
]
print(max(people, key=lambda dic: dic['age'])) #自己写函数规则

自己结合max函数写了个排序(嘻嘻)
li = [3, 5, 9, 7]
l2 = []
while len(li) > 1:
a = min(li)
l2.append(a)
li.remove(a)
l2.append(li[0])
print(l2)

17. ord ,和chr功能相反,ascill码的对应值
print(chr(97))
print(ord('a'))

18. pow 幂运算
print(pow(2, 2)) #2**3
print(pow(2, 2, 3)) #2**3 % 3

19. reversed() 翻转
l1 = [1, 2, 3, 4, 5]
print(list(reversed(l1)))

20. round() 四舍五入
print(round(4.6))

21. set() 把参数转换为集合类型
print(set('jinling'))

22. since 切片,可以指定步长
l = 'jinling'
s1 = slice(3, 5)
print(l[s1])
s2 = slice(2, 5, 2)
print(l[s2])
print(s2.start)
print(s2.stop)
print(s2.step)

23.sorted 排序,不同类型不能排
l = [3, 2, 15, 7]
print(sorted(l))

高级用法
people = [
{'name': 'dabai', 'age': 21},
{'name': 'jinling', 'age': 19},
{'name': 'liu', 'age': 20},
{'name': 'sb', 'age': 100}
]
print(sorted(people, key = lambda dic: dic['age']))

name_dic = {
'liuwenhao': 10000,
'jinling': 9999,
'dabai': 9998
}
print(sorted(name_dic)) #默认比较key值
print(sorted(name_dic, key = lambda key: name_dic[key]))
print(sorted(zip(name_dic.keys(), name_dic.values())))

24. sum求和
l1 = [1, 2, 4, 5, 6]
print(sum(l1))

25. type 查看数据类型
print(type('love'))
26. vars
def test():
msg = '月下门筒喟叹昨夜太平长安'
print(locals())
print(vars()) #没有参数时,效果和locals一样
test()
print(vars(int)) #把int下所有方法存成字典的形式

27. __import__
假如要导入的模块是字符串
module_name = 'test'
m = __import__(module_name)
m.say_hai() #使用test中的方法
python课堂整理16---内置函数的更多相关文章
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
- python字符串——"奇葩“的内置函数
一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引 ...
- python 类(object)的内置函数
python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...
- python: 基本数据类型 与 内置函数 知识整理
列表 list.append(val) #末尾追加,直接改变无返回 list.inert(2,val) #插入到指定位置 list.extend(mylist1) #list会被改变 list2=li ...
- Python学习笔记-Day3-python内置函数
python内置函数 1.abs 求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...
- Python装饰器、内置函数之金兰契友
装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种.所以也可以理解装饰器是一种特殊的函数.因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展, ...
- PYTHON语言之常用内置函数
一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...
- 万恶之源 - Python装饰器及内置函数
装饰器 听名字应该知道这是一个装饰的东西,我们今天就来讲解一下装饰器,有的铁子们应该听说,有的没有听说过.没有关系我告诉你们这是一个很神奇的东西 这个有多神奇呢? 我们先来复习一下闭包 def fun ...
- Python之生成器及内置函数篇4
一.可迭代对象 #1.什么是迭代?:迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 #2.可迭代的对象:在python中,但凡内置有__iter__方法的对象,都是可迭代的对象 #3.迭代 ...
随机推荐
- kafka笔记4
应用程序使用KafkaConsumer向Kafka订阅主题,并从订阅的主题上接收消息.Kafka消费者从属于消费者群组,一个群组里的消费者订阅的是同一个主题,每个消费者接收主题的一部分分区的消息. 一 ...
- SpringCloud Sleuth入门介绍
案例代码:https://github.com/q279583842q/springcloud-e-book 一.Sleuth介绍 为什么要使用微服务跟踪?它解决了什么问题? 1.微服务的现状? ...
- Programming In Lua 第十章
1,lua中的数据结构都是表来实现的.数组就是索引为数值的表. 2,矩阵就是二维数组,三角矩阵就是矩阵的一半. 3,稀疏矩阵问题: 4, 5, 6,
- 跟着大彬读源码 - Redis 2 - 服务器如何响应客户端请求?(上)
上次我们通过问题"启动服务器,程序都干了什么?",跟着源码,深入了解了 Redis 服务器的启动过程. 既然启动了 Redis 服务器,那我们就要连上 Redis 服务干些事情.这 ...
- HDU 4462:Scaring the Birds(暴力枚举+状态压缩)
http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:有一个n*n的地图,有k个空地可以放稻草人,给出每个空地可以放的稻草人属性,属性中有个R代表这个位置 ...
- iOS组件化开发一远端私有库建立(二)
公共库业务,基础层划分! 一.构建私有云,本文推荐为码云 1.构建名称为LuckTimeSpec,选择私有建立: 2.Copy地址的https 链接: 二.打开终端 输入: cd /Users/zha ...
- 简书全站爬取 mysql异步保存
# 简书网 # 数据保存在mysql中; 将selenium+chromedriver集成到scrapy; 整个网站数据爬取 # 抓取ajax数据 #爬虫文件 # -*- coding: utf-8 ...
- C# 中奇妙的函数–6. 五个序列聚合运算(Sum, Average, Min, Max,Aggregate)
今天,我们将着眼于五个用于序列的聚合运算.很多时候当我们在对序列进行操作时,我们想要做基于这些序列执行某种汇总然后,计算结果. Enumerable 静态类的LINQ扩展方法可以做到这一点 .就像之前 ...
- .Net Core 防止跨站点请求伪造
一.在From 表单中生成 antiforgery 令牌 1. ASP.NET Core MVC 和 Razor 页模板中的窗体的所有生成 antiforgery 令牌,唯一且不可预测.服务器先发送到 ...
- Android Native 内存泄漏系统化解决方案
导读:C++内存泄漏问题的分析.定位一直是Android平台上困扰开发人员的难题.因为地图渲染.导航等核心功能对性能要求很高,高德地图APP中存在大量的C++代码.解决这个问题对于产品质量尤为重要和关 ...