module 的导入
import module_name as alias # 自己编写的py or 库
form module_name import variable
运算符 关键字 标量类型
a == b # 判断a与b的值
a is b # 判断a与b是否指向同一对象 (检查一个变量是否为None a is None)
id(a) # (CPython uses the object's memory address. 内存地址) ; Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects.
type(a) # type(object) -> the object's type
isinstance(a,b) # (判断是子类or父类) Return whether an object is an instance of a class or of a subclass thereof.
In [1]: a= [1]
In [2]: b=[1]
In [3]: print(id(a)," " ,id(b))
2967452754632 2967452741832
In [4]: a==b
Out[4]: True
In [5]: a is b
Out[5]: False
In [6]: a= None
In [7]: a == None
Out[7]: True
In [8]: a is None
Out[8]: True
In [9]: id(a)
Out[9]: 140737101376736
In [10]: b=None
In [11]: id(b)
Out[11]: 140737101376736
In [12]: id(None) # 类比Java (具体区间遗忘-128~127 待查证);小的的整形常量存在于常量池中
Out[12]: 140737101376736
Python标准库中内建类型集合 元素 – 单值 —> 标量类型
类型 | 描述 |
---|---|
None | Python的null 仅存在一个实例 |
str | 字符串类型,包含Unicode字符串 |
bytes | 原生ascii字节(或者Unicode字节) |
float | 双精度浮点值 无单精度 python - 接近完美的单精度浮点数转换代码 |
bool | True False |
int | 任意精度无符号整数数 – Python3 整型是没有限制大小的 |
int 任意精度 Reason:okay 之前java手动编写的大数原理
如何存储任意大小的整数?
一种方案是把整数表示为数字的链表。为了提高效率,我们需要把十进制的数字转换为230进制数值系统,这样每个元素代表0到230-1范围内的一个值。根据不同的平台, Python使用包含30位数值的32位无符号整数链表或者15位数值的16位无符号整数链表。使用这种方法也带了了额外的需求,我们无法使用整数的所有位。上例结构体中ob_digit的值负责这些链表。
为了减少不必要的开销,CPyhton在处理-230到230范围内的整数有一个“捷径”。这些数字以只有一个元素的列表的形式存储,只要这个数字能被表示为32位定长的数字。
值得注意的是,不像经典的方法,一个整数的标志被单独存储在ob_size的值中。这个值存储了ob_digit链表的大小。所以如果你想要修改长度为2的链表标志,需要将ob_digit设置为-2。 摘自探索CPython源码:任意精度整数的实现
日期datetime
from datetime import datetime , date , time
dt = datetime(2021,04,06,11,11,53)
dt.strftime("%Y%m%d %H:%M") # 格式化输出日期 20210406 11:11
dt=datetime.strptime('20210406',"%Y%m%d") # 字符串-->时间
dt.replace(minute=10) # 修改时间
DateTime格式化
类型 | 描述 |
---|---|
%Y | 四位年份 |
%y | l两位年份 |
%m | 两位月份 01 |
%d | 两位天 01 |
%H | 24小时制 小时 |
%I | 12小时制 小时 |
%M | 两位分钟 |
%S | 两位秒(60,61用于区分闰秒—>闰年) |
%w | 星期几 0–>sunday 6 -->saturday |
%F | 中国 %Y-%m-%d的简写 2021-04-06 |
%D | 英 %m/%d/%y的简写 04/06/21 |
闰秒,是指为保持协调世界时接近于世界时时刻,由国际计量局统一规定在年底或年中(也可能在季末)对协调世界时增加或减少1秒的调整。由于地球自转的不均匀性和长期变慢性(主要由潮汐摩擦引起的),会使世界时(民用时)和原子时之间相差超过到±0.9秒时,就把协调世界时向前拨1秒(负闰秒,最后一分钟为59秒)或向后拨1秒(正闰秒,最后一分钟为61秒); 闰秒一般加在公历年末或公历六月末。