编程基础概念
系列解包赋值
- 常用来实现变量交换
>>> a,b=1,2 >>> a,b=b,a >>> print(a,b)#如果是C的话,需要引入额外的一个变量来储存被交换的值。 2 1
常量
- Python实际上不支持常量,只能从逻辑上不对常量的值进行更改,常量的名字全部大写。
最基本内置数据类型介绍
整数
- 整数的运算
- //整除,%余数,**幂
- 0不能做除数
- divmod()函数同时得到商和余数
>>> divmod(13, 3) (4, 1)
- 可以使用其他三种进制
- 0b / 0B,二进制,0 1
- 0o / 0O,八进制,0 1 2 3 4 5 6 7
- 0x / 0X,十六进制,0 1 2 3 4 5 6 7 8 9 a b c d e f
>>> 12 12 >>> 0b101 5 >>> 0o19 SyntaxError: invalid syntax >>> 0o10 8 >>> 0xff 255 >>> 0xf 15 >>> 0x10 16
- 整数的大小
- Python2:int是32位( ± 21 \pm21 ±21 亿),long是64位
- Python3:int可以储存任意大小的整数,long被取消
- googol这个词就是 1 0 100 10^{100} 10100, google的原型
浮点数float
- 用 a ∗ b 10 a * b^{10} a∗b10的形式表示,ex. 3.14 = 314E-2 \ 314e-2
类型转换和四舍五入
- int(x, base=10)
- 当不输入base(进制数)时,默认为十进制,为取整数
- 如果带参数base,则需以字符串的形式输入。
- int(“12”, 16) ----> 18,12为16进制。
int("123", 16) 用于将一个字符串或者数字转换为整型,默认十进制。 此处为16进制,十进制的值为 3+2*16+1*16*16=291
- round() 为四舍五入
时间的表示
- 计算机中时间的表示是从1970年1月1日00:00:00开始,以毫秒(1/1000秒)进行计算,这个时刻被称为
unix时间点
。
- 可以通过time.time()获得当前时刻,返回的值是以秒为单位,带微秒(1/1000毫秒, 1 / 1 0 6 1/10^6 1/106秒)精度的浮点值。
>>> import time >>> b = time.time() 1530168669.6236002 # 说明从1970年到现在经历了1530168669秒,后面的单位是微秒 >>> totalMinutes = int(b)//60 # 从1970年到现在经历了25502812分钟 25502812 >>> totalHours = totalMinutes//60 # 从1970年到现在经历了425046小时 425046 >>> totalDays = totalHours//24 # 从1970年到现在经历了17710天 17710 >>> totalYears = totalDays//365