python语言第二天笔记

文章目录

  • 1 变量的链式赋值和解包赋值
  • 2 基本内置数值类型
    • (1) 变量自动确定类型
    • (2) 内置数值类型及转化
  • 3 时间表示
  • 4 逻辑运算符
  • 5 同一运算符

1 变量的链式赋值和解包赋值

链式赋值是将同一个对象赋值给多个变量
解包赋值是将多个对象同时赋值给多个变量,只用一个赋值号实现

x=y=123			# 链式赋值
a,b,c=4,5,6 		# 解包赋值,变量和对象数量要相同
x,y=y,x				# 解包赋值可以一步实现变量交换

2 基本内置数值类型

(1) 变量自动确定类型

  python是动态类型语言,不需要显示声明变量的类型,根据变量引用的对象,python 解释器自动确定数据类型。也就是说,在定义变量的时候不声明类型,但在内存当中,却是有类型的。

(2) 内置数值类型及转化

  整型(int),python3中,整型只有一种,即int,可以存储任意长度的整数。

  浮点型(float),例如314.15,用指数表示的时候,可以表示成3.14E2(或3.14e2),也可以表示成31.4E1(或31.4e1),小数点可以浮动,因此称为浮点数。 python语言中,浮点类型只有一种,不区分单精度与双精度。

  布尔型(bool),只有两种值,即True或False,它们的本质是1和0。

  字符串型(string)

  可以使用int()、float()、str()实现数据类型转换,

a = int(3.5)
b = int(False)
c = int('2')	# 不能写成 int('2.3')否则报错
print(a, b, c)

输出

3 0 2
a = float(7)
b = float('7')
c = float(True)
print(a, b, c)

int()和float()一般能转一步,int(‘2.3’), int(‘True’), float(‘False’)企图转两步,会报错。

a = str(1)
b = str(True)
c = str(1.5)
print(a, b, c)

输出

1 True 1.5

3 时间表示

  计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始到现在所经过的时间,以秒进行计算,1970 年 1 月 1 日 00:00:00 也称为Unix时间点。
获取时间需要导数 time 模块,调用模块中的 time() 函数。
计算从1970 年 1 月 1 日到现在经过的天数:

import time

time_now = time.time()              # 获取当前时间,单位是秒
second = round(time_now)            # 四舍五入,返回整数
day = second/(24 * 60 * 60)         # 一天有24小时,一小时有60分钟,一分钟有60秒
day = int(day)                      # 因为Python语言中,整数除法的结果是小数,因此需要类型转换

print(day)

输出

18574

time()还经常用语计算程序的运行时间,如:

time1 = time.time()
a = 0
for i in range(100000):
    a += i
time2 = time.time()

time = time2 - time1
print(time)

输出

0.049002647399902344

执行10万次加法,大概用时0.049秒。

4 逻辑运算符

  and, or,not 分别表示逻辑与、逻辑或、逻辑非
同C语言一样,and,or都有短路的功能,即第一个操作数足以保证结果的时候,无需继续判断第二个操作数。
与C语言不同的是,and,or 返回的未必只有 True 和 False,还有可能是其他的值

x = True and 3      # 当and左边是True时,直接返回右边的值
y = False or 5      # 当or 坐标是False时,直接返回右边的值
print(x, y)

输出

3 5

5 同一运算符

is / is not,返回 True 或者 False

a is b			# 判断 a 与 b 是为同一个对象的引用,即判断 a 与 b所指对象的地址是否相同
c is not d		# 判断 a 与 b 所指地址是否不同

is 和 == 的区别:前者判断是否同一个对象,后者判断值是否相同,有时对象不同,但值相同,如 3 和 3.0。

你可能感兴趣的:(python基础,python)