【菜鸟零基础学习笔记】Day17-内置函数(包括zip、max、min等函数)

注意:本篇包含day16的最后一个视频(内置函数part1)和day17的全部内容

【abs() 绝对值】

print(abs(-1))

 

【all() 布尔运算-->全部元素为真才返回True】

print(all([1,2,'1',None]))   #False

 

【any() 布尔运算-->只要有一个元素是真就返回真】

print(any([1,0,'']))   #True

 

【bin() 把十进制转换成二进制】

print(bin(3))   #0b11

 

【bool() 布尔值】

空、None、0的布尔值为Flase,其他都为True

 

【bytes() 转码和解码】

name = '你好'
print(bytes(name,'gbk'))
print(bytes(name,'gbk').decode('gbk'))

输出:
b'\xc4\xe3\xba\xc3'
你好

 

【chr()】

print(chr(46))   #找到和已知ASCII码对应的符号

输出是一个点.

 

【dir()】

print(dir(dict))  #列出dict类的所有方法

 

【divmod()】

python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

print(divmod(10,3))   #用来做分页

输出:
(3, 1)

 

【eval()】

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法:

eval(expression[, globals[, locals]])

举例:

--------------将字符串中的字典提取出来--------------

dic = {'name':'alex'}
dic_str = str(dic)
print(dic_str)                 #{'name': 'alex'}
print(eval(dic_str))           #{'name': 'alex'}
print(type(dic_str))           #<class 'str'>
print(type(eval(dic_str)))     #<class 'dict'>

--------------将字符串中的数学运算做出来--------------

express = '1+2*(3/3-1)-2'
print(eval(express))   #-1.0

 

【hash()】

可hash的数据类型即不可变数据类型;不可hash的数据类型即可变数据类型

特点:

1、不管输入的值有多长,输出的hash值长度都相等

2、不能根据得出的hash值反推出输入的值

3、同一个输入值得到的hash值相同

应用:检验软件是否被人为修改过(或有木马程序)

 

【help()】

print(help(all))   #打印方法的解释

注意help和dir的区别:dir只打印了方法的名字,help打印的是方法的解释

 

【bin() 十进制改二进制】

 

【hex() 十进制改十六进制】

 

【oct() 十进制改八进制】

 

【isinstance() 判断某对象是否是某数据类型的一个实例】

print(isinstance(1,int))   #True
print(isinstance('abc',str))   #True

 

【globals() 打印全局变量(包括自建的和系统提供的全局变量)】

 

【locals() 打印本地变量】

 

【max()和min()】

example1:

l = [1,3,100,-1]
print(max(l))
print(min(l))

example2:

dic ={'age1':18,'age2':10}
print(max(dic))   #比较的是key

输出:
age2

example3:既想得到key值又想得到value值

dic ={'age1':18,'age2':10}
print(max(dic.values()))   #18
print(max(zip(dic.values(),dic.keys())))   #(18, 'age1')

example4:

people = [
    {'name':'alex','age':1000},
    {'name':'wupeiqi','age':10000},
    {'name':'yuanhao','age':9000},
    {'name':'linhaifeng','age':18}
]
print(max(people,key = lambda dic:dic['age']))


#{'name': 'wupeiqi', 'age': 10000}

注意:不同类型数据不能进行比较

 

【zip()】

注意:zip()函数传入两个参数,这两个参数都是序列类型(列表、元组、字符串)

example1:

print(list(zip(('a','b','c'),(1,2,3))))   #[('a', 1), ('b', 2), ('c', 3)]

example2:

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

example3:

print(list(zip('hello','12345')))   #[('h', '1'), ('e', '2'), ('l', '3'), ('l', '4'), ('o', '5')]

 

【ord()】

print(ord('a'))   #97

 

【pow()】

print(pow(2,3))   #8(相当于2**3)
print(pow(2,3,5))   #3(相当于2**3%5)

 

【repr()】

面向对象里面会使用

 

【reversed()】

l = [1,2,3,4]
print(reversed(l))   #<list_reverseiterator object at 0x00000273F7D356D8>
list(reversed(l))   #[4, 3, 2, 1]

 

【round()】

print(round(3.5))  #4(四舍五入)

 

【set()】

print(set('hello'))   #{'l', 'h', 'e', 'o'}

 

【slice()】

l = 'hello'
s1 = slice(3,5)
s2 = slice(1,4,2)
print(l[s1])   #lo
print(l[s2])   #el
print(s2,start)   #1
print(s2,stop)    #4
print(s2,step)    #2

 

【sorted()】

example1:

l = [3,2,1,5,7]
print(sorted(l))   #[1, 2, 3, 5, 7]

注意:不同类型不能排序(排序的本质就是在比较大小)

example2:

people = [
    {'name':'alex','age':1000},
    {'name':'wupeiqi','age':10000},
    {'name':'yuanhao','age':9000},
    {'name':'linhaifeng','age':18}
]
print(sorted(people,key = lambda dic:dic['age']))

#[{'name': 'linhaifeng', 'age': 18}, {'name': 'alex', 'age': 1000}, {'name': 'yuanhao', 'age': 9000}, {'name': 'wupeiqi', 'age': 10000}]

example3:

people = {
    'yuanhao':900,
    'alex':200,
    'wupeiqi':100
}

#(按照key的大小排序)
print(sorted(people))   #['alex', 'wupeiqi', 'yuanhao']

#(按照value的大小排序,但是返回的结果是keys的值)
print(sorted(people,key=lambda key:people[key]))   #['wupeiqi', 'alex', 'yuanhao']

#(用zip同时提取keys和values的值)
print(sorted(zip(people.values(),people.keys())))   #[(100, 'wupeiqi'), (200, 'alex'), (900, 'yuanhao')]

 

【str()】

可以把任意类型转换成字符串类型

print(str('1'))   #1
print(str({'a':1}))   #{'a': 1}

注意:用eval可以将字符串转换成为原来的类型,比如:

dic_str = str({'a':1})
print(eval(dic_str))   #{'a': 1}

 

【vars()】

注释:

"""
vars([object]) -> dictionary

Without arguments, equivalent to locals().
With an argument, equivalent to object.__dict__.
"""

example:

print(vars(int))   #输出int下所有的方法并存入一个字典

 

【import】

导入一个模块(一个py文件)

example1:

import test   #test不能是字符串类型

example2:当py文件名是一个字符串时

module_name = 'test'
m = _import_(module_name)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值