python 基础 day1. 变量、运算符与数据类型
1.变量赋值
- 变量名可以包括字母、数字、下划线、但变量名不能以数字开头。Python
- 变量名是大小写敏感的,A !=a 。
- 中的变量赋值不需要类型声明。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。
a=100 #整型
b=100.0 #浮点型
d=“abc” #字符串
print (a) #100
print (b) #100.0
print (d) #abc
- 多个变量赋值
例如
a = b = c = 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上
- 或者
a, b, c = 1, 2, "abc"
以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 “abc” 分配给变量 c。
2.数值类型
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
四个常用数值类型
- int(有符号整型)
- float(浮点型)
- bool (布尔型)
- complex(复数)
整型
a = 100
print(a,type(a))
# 100 <class 'int'>
从上面的输出结果可以看出,此时 a 依然是 int 类型
整型专门用来表示整数,即没有小数部分的数。在 Python 中,整数包括正整数、0 和负整数。
除此之外,Python 的整型还支持 None 值(空值)
a = None
print(a)
#什么都不输出
Python 的整型数值有 4 种表示形式:
- 十进制形式:最普通的整数就是十进制形式的整数,在使用十进制表示整数值时,不能以 0(零)作为十进制数的开头(数值是 0 除外)。
- 二进制形式:由 0 和 1 组成,以 0b 或 0B 开头。例如,101 对应十进制数是 5;
- 八进制形式:八进制整数由 0~7 组成,以 0o 或 0O 开头(第一个字母是零,第二个字母是大写或小写的 O)。需要注意的是,在
Python 2.x 中,八进制数值还可以直接以 0(零)开头。 - 十六进制形式:由 0~9 以及 A~F(或 a~f)组成,以 0x 或 0X 开头
为了提高数值(包括浮点型)的可读性,Python 3.x 允许为数值(包括浮点型)增加下画线作为分隔符。这些下画线并不会影响数值本身。
price = 234_234_234 #price 实际的值为234234234
浮点型
print(512.0, type(512.0))
print(4.23e2, type(4.23e2))
#512.0 <class 'float'>
#423.0 <class 'float'>
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
- 十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
- 科学计数形式:例如 4.23e2(即 4.23×102)、4.23E2(也是4.23×102)。
保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。
import decimal
from decimal import Decimal
引进(import)包(package)里的某个模块
getcontext() 显示了 Decimal 对象的默认精度值是 28 位 (prec=28)
a = decimal.getcontext()
print(a)
#Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
b=Decimal(1) / Decimal(3)
print(b)
# 0.3333333333333333333333333333
- 用 getcontext().prec 调整精度
decimal.getcontext().prec = 4
c = Decimal(1) / Decimal(3)
print(c)# 0.3333
- 或者使用 ‘%.xf’ % y 保留y后x个小数
print('%.3f' % 100)
#100.000
布尔型
布尔类型只有两个取值,可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0。
print(False+1)
#1
print(type(''), bool(''), bool('python'))
# <class 'str'> False True
在 Python 中,所有的对象都可以进行真假值的测试,包括字符串、元组、列表、字典、对象等
bool 作用在基本类型变量的总结:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,其余就是 False。
- 对于数值变量,0, 0.0 都可认为是空的。
- 对于容器变量,里面没元素就是空的。
复数
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
print (complex(1,2))
#(1+2j)
3.运算符
Python算术运算符
a = 21
b = 10
print(a + b)#31
print(a - b)#11
print(a * b)#210
print(a / b)#2.1
print(a // b)#2
print(2**2)#4
Python比较运算符
print(1 > 3) # False
print(2 < 3) # True
比较运算符 == 和 is 的区别
== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象
import time# 获取当前时间
a = time.gmtime()
b = time.gmtime()
print(a == b) # a和b两个时间相等,输出True
print(a is b) # a和b不是同一个对象,输出False
Python赋值运算符
a = 1
b = 2
a += b
print("a+b=",a)#1+2=3
逻辑运算符
print((3 > 2) and (3 < 5)) # True
print((1 > 3) and (2 < 1)) # False
print((1 > 3) or (3 < 5)) # True
三元运算符
例 small=x if x<y else y
如果x<y small=x 否者small=y
优先级
- 一元运算符高于二元运算符。
- 先乘除后加减,有括号先括号内。
- 比较运算符高于逻辑运算符
4.数据类型与转换
- 数据类型的转换,你只需要将数据类型作为函数名即可。
函数描述 - 获取类型信息type()
- 获取类型信息 isinstance()
print(type(1)) # <class 'int'>
print(type(5.2)) # <class 'float'>
print(isinstance(1, int)) # True
print(isinstance(5.2, int)) # False
常见的转换
- 转换为整型 int()
- 转换为字符串 str()
- 转换为浮点型 float()
print(int('520')) # 520
print(int(520.52)) # 520
print(float('520.52')) # 520.52
print(float(520)) # 520.0
print(str(10 + 10)) # 20
print(str(10.1 + 5.2)) # 15.3