python学习笔记,视频day16 17-内置函数

内置函数

 abs绝对值  print(abs(-1))===》1

all 所有的布尔值都是True为True,If the iterable is empty, return True.

  print(all([1,2,-1,""]))===》False,print(all([0,""]))===》False

any 任一布尔值为True则为True

bytearray

bytes 字符串转换成字节

# 定义一个变量,字符串保存到内存上unicode,硬盘上自己选择编码,编码最终结果是二进制
#中文utf-8对应3个字节
#编码
name="你好"
print(bytes(name,encoding="utf-8"))####b'xe4xbdxa0xe5xa5xbd'
#解码,用什么编码就用什么解码,默认解码是utf-8
# ascii不能编中文
print(bytes(name,encoding="utf-8").decode("utf-8"))####你好
chr  print(chr(97))####a
all  打印对象下有哪些方法,打印名字print(dir(all))####
divmod  
  #商和余数,eg:分页,一页有3条记录,还剩1条在单独一页
  print(divmod(10,3))####(3, 1)
eval
  #eval()将字符串中数据结果提取出来
  express="1+2*(3/3-1)-2"
  print(eval(express))###-1.0

hash 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变类型
    hash是一种算法,得出哈希值,1.不管字符串长度多少,得出的哈希值长度是固定的;2.不能根据得到的哈希值反推;3.变量不变,hash值不变
    判断软件被篡改过程。网上下载一款软件,连同软件哈希值提供给对方,下载到本地用hash算法对软件进行hash校验,若hash值是一样,则意味着未被修改,安全
    print(hash("32444333333333333344444"))####-2091919439
help  print(help(all))#打印具体方法
bin、hex、oct
print(bin(10))#10进制->2进制###0b1010
print(hex(10))#10进制->16进制###0xa
print(oct(10))#10进制->8进制###0o12
isinstance  print(isinstance(1,int))##True,判断是不是这个类型
globals打印全局变量
name="近段时间发货单"
print(globals())####打印全局变量
#{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0074D250>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/pujialou/PycharmProjects/python_day10_1/day1-/16.py', '__cached__': None, 'name': '近段时间发货单'}
name="近段时间发货单"
def test():
    name="颜值高"
    # print(globals())
    print(locals())
test()
#结果
#{'name': '颜值高'}

zip 拉链方法,传值为序列(列表、元组、字符串)

#位置从前往后,若没有对应值则不输出
print(list(zip(("a","b","c"),(1,2,3))))####[('a', 1), ('b', 2), ('c', 3)]
p={"name":"alex","age":18,"gender":"none"}
print(list(zip(p.keys(),p.values())))
####[('name', 'alex'), ('age', 18), ('gender', 'none')]
print(list(zip(["a","b"],"124546")))####[('a', '1'), ('b', '2')]

max和min

  1.只要可以迭代就可以使用;2.每个元素从左往右进行比较;print(max("a11","b3","c2")),输出结果是c2;3.不同类型不可进行比较,eg:max("a11","b3",10)会报错

li={"age1":10,"age2":50,"age3":60,"age4":20}
print(max(li.values()))####60
print(max(li))####age4
#取值最大年龄及年龄值
li={"age1":10,"age2":50,"age3":60,"age4":20}
print(max(zip(li.values(),li.keys())))
#(60, 'age3')
li=[(5,"a"),(1,"b"),(3,"u"),(4,"d")]
print(list(max(li)))####[5, 'a']

整理:

#1、简单使用
l=[1,2,-100,33]
print(max(l))####33

 

#字典
dic={"age1":18,"age2":10}
#比较keys
print(max(dic))####age2
#,比较values,但是不知道是哪个keys
print(max(dic.values()))####18
#有keys,values
print(max(zip(dic.values(),dic.keys())))####(18, 'age1')
#max可以传处理方法,people进行for循环,取出每一个元素给lambda取处理,lambda给出返回值让max去比较
#max(people)表示比较每一个字典,会报错;目前要比较的是age对应的值,故把每个字典取出来,取age对应的values
#max(people,key=lambda p:people["age"])
print(max(people,key=lambda dic:dic["age"]))
#相当于
# ret=[]
# for item in people:
#     ret.append(item["age"])
#结果
# {'name': 'alex', 'age': 100}
print(pow(2,3))#相当于2**3=8
print(2**3)
print(pow(2,5,3))##相当于2**5%3=2
print(2**5%3)
l=[1,2,3,4]
#反转
print(list(reversed(l)))#[4, 3, 2, 1]
#四舍五入
print(round(3.5))#4
#字典
print(set("get1"))#{'t', 'e', '1', 'g'}
l="hello"
s1=slice(3,5)
s2=slice(1,4,2)
print(s2.start)
print(s2.step)
print(s2.stop)
##1
# 2
# 4
# 排序,本质就是在比较大小,在同类型间比较;max是取最大值
l=[1,2,4,3,6]
print(sorted(l))#[1, 2, 3, 4, 6]
#根据年龄排序
people=[
    {"name":"alex","age":18},
    {"name": "alex1", "age": 60},
    {"name": "alex4", "age": 43},
    {"name": "alex2", "age": 50},
]
#for循环people,依次返回值放在sorted位置
print(sorted(people,key=lambda dic:dic["age"]))
name={
    "alex":200,
    "yangzi":300,
    "jinmi":100
}
#默认按照keys排序
print(sorted(name))
#['alex', 'jinmi', 'yangzi']
print(sorted(name.values()))
#[100, 200, 300]
# for循环name,
# print(sorted(name,key=lambda key:name[key]))
print(sorted(zip(name.values(),name.keys())))
# [(100, 'jinmi'), (200, 'alex'), (300, 'yangzi')]
#转换成字符串
print(str("1"))#1
print(type(str({'a':1})))#<class 'str'>
#转换成字典
dic_str=str({'a':1})
print(type(eval(dic_str)))#<class 'dict'>
l=[1,2,3,4]
print(sum(l))
print(sum(range(5)))

type使用

# type的应用
msg='123'
if type(msg) is str:
    msg=int(msg)
    res=msg+1
    print(res)

# 124

vars

# vars()没有参数与locals相同,有参数时,查看某一个对象下所有的方法都写成字典模式
def test():
    msg="香蜜沉沉烬如霜"
    print(locals())
    print(vars())
test()
# {'msg': '香蜜沉沉烬如霜'}
# {'msg': '香蜜沉沉烬如霜'}
print(vars(int))

import的使用

#新建test.py文件,输入以下代码:
def say_hi():
    print("锦觅")
#新建testo.py文件,输入以下代码,调用test.py
# import 导入一个模块,一个py文件就是一个模块
import test
test.say_hi()
#锦觅
#__import__,针对文件名是字符串格式,使用import报错,import不能调用字符串;import在运行时去调用操作系统,操作系统协助去找到__import__
module_name="test"
m=__import__(module_name)
m.say_hi()
# 锦觅







 


原文地址:https://www.cnblogs.com/ppll/p/11588470.html