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中的方法

  

最新文章

  1. html5,单击文字自动获得焦点
  2. JavaScript 数组 length 属性获取数组长度或设置数组元素的数目
  3. Javascript 布尔操作符总结
  4. php使用位与运算符【&】或【|】实现权限管理
  5. 学员信息录入(StuInfoManager) 用分层实现(既MySchool后的一个案例)
  6. hdc cdc
  7. 【Todo】蒙特卡洛(蒙特卡罗)树 & 卷积网络
  8. MATLAB格式化输出控制
  9. git commit
  10. Flexslider图片轮播、文字图片相结合滑动切换效果
  11. 解决xshell连接不上Ubuntu
  12. BZOJ 3211: 花神游历各国【线段树区间开方问题】
  13. Ocelot中文文档-不支持
  14. BZOJ_1858_[Scoi2010]序列操作_线段树
  15. CI框架在模型中切换读写库和读写库
  16. 基于nginx的WebSocket反向代理
  17. angular--解决angular图片加载失败问题
  18. React Render Props 模式
  19. vs2015重新安装后,项目属性中的目标框架中没有framework4.6.1
  20. asp:Repeater控件使用

热门文章

  1. java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory 解决办法
  2. Java动态规划
  3. python基础(1)--input print if else elif while 用法说明
  4. jenkins获取GitLab的hook数据并处理
  5. 漫谈Redis分布式锁实现
  6. SQL Server温故系列(3):SQL 子查询 & 公用表表达式 CTE
  7. shell 循环打印某一天后的n天的日期
  8. HDU 4059:The Boss on Mars(数学公式+容斥原理)
  9. HDU 1533:Going Home(KM算法求二分图最小权匹配)
  10. fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件