环境小硕的转化之路-17-内置函数拾遗

前言

之前写过内置函数的博文,但觉得这个老师讲的更详细一点,分类也更清楚一点。 将一些常用的内置函数po出来。

内部储存函数相关

lst = [1,2,3]
#id(obj)
print(id(lst))#打印id
#hash(obj)
print(hash(lst))#目的是为了存储,计算之后是一个数字.hash值尽量不要重复(某些特定环境下会重复),
是一种另类的加密.所以hash值往往很大。字典就是用hash法进行存储数据的。
#打个比方
dict = {‘jay‘:‘周董‘,‘jj‘:‘林俊杰‘}#字典的key必须是hashable(不可变)
#字典存储原理‘jay‘算完的存储hash值假设是6,将‘周董‘存到6的下属的内存空间里。查找的时候dict[‘jay‘]
#去找6下属的内存空间取出‘周董‘。如果不这么存的话要遍历内存去找,浪费时间。但字典比较浪费空间,一般用于拿空间换时间。
#__import__(‘module‘)
__import__(‘os‘)#用于动态加载模块,例如用户输入某个值,可以加载模块的时候用

进制转换相关

#二进制转换
print(bin(5))#0b101 0b表示这个数为二进制
#银行放款高级架构流程
#注册 实名认证 银行卡绑定 风险评估
# 1     1         1        1  #全部通过,可以放款
# 1     1         0        1  #没绑定银行卡不能放款
#八进制转换
print(oct(10))#0o12 0o代表八进制
#十六进制转换
print(hex(20))#0x14 0x代表十六进制 0123456789abcdef为十六进制的‘个位数‘。做单片机的人用的比较多。

数学运算相关

#abs(num)求绝对值
print(abs(-8))#8
#divmod(num,num)->输出(商,余数)(前面除以后面)
print(divmod(10,3))#(3,1)
#round (float)四舍五入
print(round(3.5))#4
#pow(x,y,z) 求次幂 x为底数,y为幂数,如果有z,输出为结果对z取余。
print(pow(2,4))#16
print(pow(2,4,3))#1
#sum sum(Iterable,初始值) 可迭代对象里的数字+初始值qiu,
print(sum([1,2,3,4,5],1))#16
#min(iterable)
print(min([5,6,7,8,9,10,11]))#iterable中数字的最小值
#max(iterable)
print(max([5,6,7,8,9,10,11]))#iterable中数字的最大值

可迭代对象相关

#reversed(iterable)将可迭代对象翻转
lst = [1,2,3,4,5,6,7,8,9,10]
print(list(reversed(lst)))#返回一个新的迭代器
#slice(num(初始),num(结尾),num(步长))
s = slice(1,9,2)#切片
print(lst[s])#相当于lst[1:9:2]
#enumerate(iterable)枚举
for i,v in enumerate(lst):
  print(‘索引值{0},列表值{1}‘.format(i,v))
#all(iterable) 相当于and,iterable里面全对输出True
print(all([1,1,1,1,1,1]))
#any(iterable) 相当于or,iterable里面只要有一个对输出True
print(any([0,0,0,0,0,0,0,1]))

内存相关

#bytes(str)将数据变成字节
print(bytes(‘negu‘,encoding=‘utf-8‘))
#menoryview(obj)内存展示
s = ‘哈哈哈哈哈哈哈哈哈啊哈哈哈‘
print(memoryview(s.encode(encoding=‘utf-8‘)))#不如id
#ord(str)输入字符找到字符的编码位置
print(ord(‘a‘))#97
#chr(num) ord的反函数
print(chr(97))#a
#ascii(obj) 若是ascii码里面就返回ascii值,若不是就返回/u。。。。。(unicode里面的东西)
print(ascii(‘林‘))#‘\u6797‘

转义相关

#repr(str)
#打印:我:‘哈哈哈哈哈哈哈哈哈‘
print("我:‘哈哈哈哈哈哈哈哈哈‘")#方案1
print("我:\"哈哈哈哈哈哈哈哈哈\"")#方案2,\转义不让"作为字符串的开头或者结尾。
print(repr(‘我:\‘哈哈哈哈哈哈哈哈哈\‘‘))#方案3 repr作用:原样输出字符串,\t在里面没用。
print(r‘你好啊\t 我不好 \n 他很哈皮‘)#r后面任何东西都不会转义
#c:在字符串是转义字符的意思,例如\n是换行,\t,\\为\,\",\r. \\\\为\print(repr(‘我\我‘))#按c语言写法应该有两个\,所以repr还原了了两个\.
print("我是negu")#对用户是友好的,非正式的字符串.
print(repr(‘我是negu‘))#还原字符串最官方,最正版的一种方法.正式、官方的字符串.
#上面没有引号,下面单独地加了引号.程序中内部存储的内容,这个是给程序员看的.但是二者是一样的,类似穿休闲装和工作装的人.
#所以
print(repr(‘\我是\"negu‘))#只显示一个双引号,两个
#原样输出,前面加r.
print(‘我叫%r‘%‘negu‘)#%r实际上调用的是repr()

输出格式化相关

#format(str,‘sth‘) 格式化不单单字符串,还有数字.对财务软件极其关键.
#居中某个东西
s = ‘抽烟‘
print(s.center(20))#拉长到了20,源字符串居中
print(format(s,‘^20‘))#同上
print(format(s,‘>20‘))#拉长到20,右对齐
print(format(s,‘<20‘))#拉长到20,左对齐
#对数字进行format(以下的字符串都是置于‘sth‘位置才能生效)
#‘b‘:转换成二进制
#‘c‘:转换成unicode字符
#‘d‘:十进制
#‘o‘:八进制
#‘x‘:十六进制
#‘n‘:同d
#默认:同d

#对浮点数进行format
#‘e‘:科学计数法,默认保留6位小数
#‘0.2e‘:科学计数法,保留2位小数
#‘f‘:浮点计数法,保留6位小数.
#‘0.2f‘:浮点计数法,保留2位小数
#‘0.10f‘:浮点计数法,保留10位小数
print(format(1.2345678e+10000,‘f‘))#inf表示无穷大,数值太大不做计算了.
#frozenset(set)#将一个集合转化成不可变的。
s = {‘爱情公寓‘,‘爵迹‘,‘妖猫传‘,‘煎饼侠‘,‘郭德纲的电影‘}
s.add(‘空天猎‘)
print(s)#‘空天猎‘进去了,可变,unhashable.
fs = frozenset(s)
hash(fs)#没报错,hashable

打包和编译

#zip(若干iterable)
lst1 = [‘beyond heaven‘,‘highCs‘,‘Game of throne medly‘]
lst2 = [‘Silver screen‘,‘thomas Bergersen‘,‘2CELLOS‘]
lst3 = [‘1‘,‘2‘,‘3‘]
a = zip(lst1,lst2,lst3)#生成一个iterator,按照位置进行合并,若是多出来会给过掉.
print(list(a))
#eval(str)
s = ‘5+6‘
print(eval(s))#动态执行一个代码片段,侧重点在返回上.可能前端会发送一些字符串数据给后端,这些字符床数据就要这样执行
a = "{‘name‘:‘negu‘,‘age‘:‘18‘,‘wife‘:‘none‘}"#前台往后台发的数据为json,里面全部都为字符串.可还原为字符串、列表等。
print(eval(a)[‘name‘])#输出negu
#exec(str) 全称‘execute‘,和eval一样,执行复杂的字符串代码,不返回东西.一般用于测试别人的代码.
exec(‘a = 10‘)
print(a)#输出10,pycharm报错信息不一定是对的(动态执行信息无法判断)
#compile(resource,file name,model) 将代码编译成中间码,需要的时候再执行.
#resource:动态代码片段
#filename:存放代码的文件名
#model:执行模式,1.exec:一般放些流程语句的时候,2.eval:resource只放一个求值表达式,3.resource存放的代码有交互的时候
ma = ‘for i in range(10): print(i)‘
ma1 = ‘content = input(\‘请输入名字\‘)‘
ma1bian = compile(ma1,‘‘,‘single‘)
mabian = compile(ma,‘‘,mode = ‘exec‘)
exec(mabian)
exec(ma1bian)
print(content)

原文地址:https://www.cnblogs.com/negu/p/11510971.html

时间: 2024-10-10 00:27:59

环境小硕的转化之路-17-内置函数拾遗的相关文章

Python之路Python内置函数、zip()、max()、min()

Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回true 例子 print(all([1,2,'1',''])) 输出结果 False 例子2 print(all('')) 输出结果 True any() 把序列中每一个元素做布尔运算,如果有一个为true就返回true, 但

python之路---13 内置函数

三十一.内置函数 思维导图 1.作用域相关 locals()     返回当前作用域中的名字 globals()  返回全局作用域中的名字 2.迭代器相关 range()     生成数据 next()      迭代器向下执行一次   等价于  .__next__() iter()        获取迭代器      等价于   .__iter__() 3.字符串类型代码的执行 ①eval    执行字符串类型的代码,并返回最终结果 可还原 字典  列表  元组 ②exec    执行字符串类

python学习之路-4 内置函数和装饰器

本篇涉及内容 内置函数 装饰器 内置函数 callable()   判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callable(num))   # num不能够被调用,返回False    def f1():     print("name")    print(callable(f1))     # f1可以被调用,返回True    # 输出 False True ?chr()   将十进制整数转换为asc

环境小硕的转行之路-12-序列化和反序列化、模块的引用

利用json和pickle模块序列化代码 序列化定义:把内存的数据对象变成字符串了 序列化 def sayhi(name): print('hello',name) info = { 'name':'negu', 'age':22 # 'func':sayhi() } '''法1''' f = open('test.text','w') f.write(str(info)) f.close() '''法2''' import json#只能处理简单的数据类型:str.list.dict.所以函数

环境小硕的转行之路-23-异常处理

异常处理 常见的变量代称 1.NameError 变量错误2.IndexError 列表index错误3.KeyError 字典的key不存在4.EOFError iteration到末端5.FileNotFoundError6.8ModuleNotFoundError*7.ValueError 值的类型不匹配以下的应该在写代码的时候就规避掉8.SyntaxError 语法错误9.NameError 变量错误 需要报错的情景以及报错的常见情况 #什么时候最容易出异常:有用户参与的时候,有外界数据

环境小硕的转行之路-25-模块的导入与管理

模块的一些基本概念 什么是模块? ->别人已经写好的一组功能的集合.别人写好的函数,变量,方法放在一个文件里. (这个文件可以被我们直接使用)这个文件就是模块. import os,re,sys,random#alt点进去可以看到都是py文件但也有dll文件(c语言代码编译成的py代码).所以直接写py文件即可. 如何自己写一个模块?->创建py文件,自己写一个名字,符合变量名命名规则+汉字的文件名,这个名字就是模块名了. 本文中my_module中的代码 #__all__ = ['name'

《Python运维开发之路》 内置函数&amp;数据结构(六)

一.Python内置函数详解 Python内置函数图解    您也可以访问(里面有各种例子):https://docs.python.org/3/library/functions.html#next 以下分别举例子演示各种函数的使用  大后天更新,撸起袖子加油干!!! 一.Python常用数据结构 目录: 普通的列表结构 将列表当作堆栈使用 将列表当作队列使用 列表推导式 嵌套列表解析 del语句的使用 元组和序列 集合 字典 一些遍历技巧  大后天更新,撸起袖子加油干!!! 参考文献:htt

文成小盆友python-num3 集合,函数,-- 部分内置函数

本接主要内容: set -- 集合数据类型 函数 自定义函数 部分内置函数 一.set 集合数据类型 set集合,是一个无序且不重复的元素集合 集合基本特性 无序 不重复 创建集合 #!/bin/env python s1 = {"1","2","3","4"} ##或者 s2 = set() set 提供的功能 1 class set(object): 2 """ 3 set() -> n

文成小盆友python-num4 内置函数

一 .python 内置函数补充 chr()  -- 返回所给参数对应的 ASCII 对应的字符,与ord()相反 # -*- coding:utf-8 -*- # Author:wencheng.zhao a = chr(65) print(a) b = chr(66) print(b) ##输出如下: A B Process finished with exit code 0 ord --返回所给的值在ASCII中对应的数字,与chr()作用相反 # -*- coding:utf-8 -*-