python 内置方法、数据序列化
abc(*args, **kwargs)
取绝对值
def add(a,b,f):
return f(a)+f(b)
res = add(3,-6,abs)
print(res)
all(*args, **kwargs)
如果可迭代对象里面所有的元素都为真(非0),返回True
可迭代对象为空,也返回True
print( all([1,-5,3]) )
print( all([0,-5,3]) )
print(all([]))
运行结果:
True
False
True
any(*args, **kwargs)
如果可迭代对象里面任意的元素都为真(非0),返回True
可迭代对象为空,也返回False
print( any([]) )
print( any([1,-5,3]) )
print( any([0,-5,3]) )
运行结果:
False
True
True
ascii(*args, **kwargs)
Return an ASCII-only representation of an object.
a= ascii([1,2,"开外挂开外挂"])
print(type(a),[a])
运行结果:
<class 'str'> ["[1, 2, '\\u5f00\\u5916\\u6302\\u5f00\\u5916\\u6302']"]
bin(*args, **kwargs)
Return the binary representation of an integer.
十进制转二进制
print(bin(1))
print(bin(3))
print(bin(8))
print(bin(255))
运行结果:
0b1
0b11
0b1000
0b11111111
bool(x)
判断真假
bytearray()
字节和字符串不可修改,要修改,创建一个新的,在原有修改会覆盖
bytearray()可修改的字节格式
a = bytes("abcde",encoding="utf-8")
b = bytearray("abcde",encoding="utf-8")
print(a.capitalize(),a)
print( b[1] )
b[1]= 50
print( b[1] )
print(b)
运行结果:
b'Abcde' b'abcde'
98
50
bytearray(b'a2cde')
callable()
是否可以调用
def sayhi():pass
print( callable(sayhi) )
print( callable([]) )
运行结果:
True
False
chr(*args, **kwargs)
返回ASCII码对应值
print(chr(98))
print(chr(87))
运行结果:
b
W
ord()
输入的是ASCII码,与chr() 相反
print(ord('?'))
print(ord('@'))
运行结果:
63
64
complie(),exec()
code = '''
def fib(max): #10
n, a, b = 0, 0, 1
while n < max: #n<10
#print(b)
yield b
a, b = b, a + b
#a = b a =1, b=2, a=b , a=2,
# b = a +b b = 2+2 = 4
n = n + 1
return '---done---'
g = fib(6)
for i in g:
print(i)
'''
py_obj = compile(code,"err.log","exec")
exec(py_obj)
exec(code)
dir()
看字典里有什么方法
>>> a= {}
>>> dir(a)
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get
attribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt
__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__'
, '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'valu
es']
divmod(x, y)
Return the tuple (x//y, x%y) ,(商,余数)
>>> divmod(1,4)
(0, 1)
eval(*args, **kwargs)
可以把字符变字典,字符里有控制语句的(如for),就得用exec
a= "{1:'sadas'}"
print(type(eval(a)),eval(a))
x=1
print(eval("x+1+3"))
运行结果:
<class 'dict'> {1: 'sadas'}
5
filter(function,iterable)
先学习一下 匿名函数
def sayhi(n):
print(n)
sayhi(5)
(lambda n:print(n))(5)
calc = lambda n:3 if n<4 else n
print(calc(2))
运行结果:
filter()一组数据中过滤出你想要的
res = filter(lambda n:n>5,range(10))
print(res) #变成一个迭代器
for i in res:
print(i)
运行结果:
<filter object at 0x0000018F692BB080>
map()
res = map(lambda n:n*2,range(10)) # [i * 2 for i in range(10)] , res = [ lambda i:i*2 for i in range(10)]
print(res)
for j in res:
print(j)
运行结果:
0
2
4
6
8
10
12
14
16
18
frozenset()
>>> set2 = frozenset(set1)
>>> set2
frozenset({3, 4, 5})
>>> set2.remove(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'remove'
不可变集合
a = frozenset([1,4,333,212,33,33,12,4])
globals(*args, **kwargs)
返回当前程序所有变量的key,value
Return the dictionary containing the current scope's global variables.
print(globals())
运行结果:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001E64F79B048>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/PycharmProjects/python_code_scq/04_week_code/内置方法.py', '__cached__': None, '__author__': 'sunchengquan', '__mail__': '1641562360@qq.com'}
hex()
转十六进制
>>> hex(2)
'0x2'
>>> hex(10)
'0xa'
>>> hex(15)
'0xf'
>>> hex(600)
'0x258'
id()
返回内存地址
locals(*args, **kwargs)
def test():
local_var =333
print(locals())
print(globals())
test()
print(globals())
print(globals().get('local_var'))
运行结果:
{'local_var': 333}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001E7C63BB048>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/PycharmProjects/python_code_scq/04_week_code/内置方法.py', '__cached__': None, '__author__': 'sunchengquan', '__mail__': '1641562360@qq.com', 'test': <function test at 0x000001E7C6013E18>}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001E7C63BB048>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/PycharmProjects/python_code_scq/04_week_code/内置方法.py', '__cached__': None, '__author__': 'sunchengquan', '__mail__': '1641562360@qq.com', 'test': <function test at 0x000001E7C6013E18>}
None
oct()
转八进制
>>> oct(7)
'0o7'
>>> oct(8)
'0o10'
>>> oct(9)
'0o11'
pow()
Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
>>> pow(3,3)
27
>>> pow(2,3)
8
>>> pow(2,8)
256
sorted(*args, **kwargs)
a = {6:2,8:0,1:4,-5:6,99:11,4:22}
print(sorted(a))
print(sorted(a.items())) #按key排序
print(sorted(a.items(),key=lambda x:x[1]))# 按value 排序
运行结果:
[-5, 1, 4, 6, 8, 99]
[(-5, 6), (1, 4), (4, 22), (6, 2), (8, 0), (99, 11)]
[(8, 0), (6, 2), (1, 4), (-5, 6), (99, 11), (4, 22)]
zip()
a = [1,2,3,4,5,6]
b = ['a','b','c','d']
for i in zip(a,b):
print(i)
运行结果:
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
import()
__import__('decorator')
Json & pickle 数据序列化
序列化1:
a={'a':'a1','b':'b1'}
b=open('ceshi.txt','w')
b.write(str(a)) {'a': 'a1', 'b': 'b1'}
反序列化:
b=open('ceshi.txt','r')
a=b.read()
print a >>{'a': 'a1', 'b': 'b1'}
或
b=open('ceshi.txt','r')
print eval(b.read()) {'a': 'a1', 'b': 'b1'}
序列化2:
import json
a={'a':'a1','b':'b1'}
b=open('ceshi.txt','w')
b.write(json.dumps(a)) {"a": "a1", "b": "b1"}
反序列化:
import json
b=open('ceshi.txt','r')
print json.loads(b.read()) {u'a': u'a1', u'b': u'b1'}
python 内置方法、数据序列化的更多相关文章
- python-day4装饰器、生成器、迭代器、内置方法、序列化、软件目录
@生成器generator a=(i*2 for i in range(10)) a.__next__()#等同于next(a),基本都不用,多用for循环a.send(m)#将m传为yield的值 ...
- 匿名函数 python内置方法(max/min/filter/map/sorted/reduce)面向过程编程
目录 函数进阶三 1. 匿名函数 1. 什么是匿名函数 2. 匿名函数的语法 3. 能和匿名函数联用的一些方法 2. python解释器内置方法 3. 异常处理 面向过程编程 函数进阶三 1. 匿名函 ...
- Python内置方法详解
1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名. 可以查看所有的字符串的内置方法,如: 1> count ...
- python内置方法
1. 简介 本指南归纳于我的几个月的博客,主题是 魔法方法 . 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法"的特殊方法. 它们经常是 ...
- 基于python内置方法进行代码混淆
0x00 动态加载模块 在python脚本中,直接使用import os.import subprocess或from os import system这种方法很容易被规则检测,即使使用其它执行命令的 ...
- Python内置方法的时间复杂度(转)
原文:http://www.orangecube.net/python-time-complexity 本文翻译自Python Wiki本文基于GPL v2协议,转载请保留此协议. 本页面涵盖了Pyt ...
- Python内置方法的时间复杂度
转载自:http://www.orangecube.NET/Python-time-complexity 本页面涵盖了Python中若干方法的时间复杂度(或者叫"大欧"," ...
- Python 内置方法
1. abs() 取绝对值函数 #!/usr/bin/env python # _*_ coding: UTF-8 _*_ # Author:taoke i = 100 print(abs(i)) i ...
- Python内置方法/函数
abs() 返回数字的绝对值. abs(x) all() 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False. 元素除了是 0.空. ...
随机推荐
- 关于luoguU67856 数列一题
本题采用累加法 首先这个式子\[a_n = ka_{n-1}+b\]的通项不用我说了吧 然后就是累加法 \[S_n = \sum_{i=1}^{n} a_i = \sum_{i=1}^{n} ka_{ ...
- Java文字识别软件-调用百度ocr实现文字识别
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
- 0x10 - PostgreSQL 安装之 CentOS7 + Patroni
PostgreSQL + CentOS7 + Patroni 背景 PostgreSQL 的高可用环境 环境 CentOS 7 pg01 (192.168.1.120) pg02 (192.168.1 ...
- Codeforces Round #600 (Div. 2)E F
题:https://codeforces.com/contest/1253/problem/E 题意:给定n个信号源,俩个参数x和s,x代表这个信号源的位置,s代表这个信号源的波及长度,即这个信号源可 ...
- java gc 总结
垃圾查找 1.基于计数器 对象有引用计数,计数为0的,可以被收集 2.基于有向图 从gc root(栈.静态变量.JNI 变量)遍历,能访问的对象,不用被收集,其他的,可以被收集 因为计数器不能解决 ...
- Opencv笔记(五)——把鼠标当画笔
学习目标: 学习使用 OpenCV 处理鼠标事件 学会使用函数cv2.setMouseCallback() 简单演示: 首先我们来创建一个鼠标事件回调函数,但鼠标事件发生是他就会被执 ...
- iOS 自定义只有年月的DatePikerView
头文件: @interface YearMonthPikerView : UIView @property (nonatomic,copy) void(^cancelBlock)(); @proper ...
- html中table的px与百分比格式设置
PX是Pixel的缩写,也就是说像素是指基本原色素及其灰度的基本编码,由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的 Html设置table格式时面临着百分比还是px的 ...
- oracle时间处理tochar的黑幕坑
建议改成 在用别人黑不隆东,各种商业套路洗脑下的产品时,能简约弱智就被给自己留坑 做技术没踩过h2这类开源数据库的源码设计,即使砸了一堆时间看了<数据库系统基础教程>,<数据库系统实 ...
- 04-Java 对象和类
Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例 ...