基本数据类型
- 整数 Integer: 1,2,3
- 浮点数/小数 Float: 1.23
- 字符串 String: “123”,单引号和双引号均可,当用到两重引号时,里面用双引号,外面用单引号,或者里面用单引号,外面用双引号。
- 逻辑型变量 Bool: True/False,首字母一定要大写,而且单词要写全,书写正确的话会变成绿色。
x = 123
type(x)
int
x = 1.23
type(x)
float
x = "123"
type(x)
str
x = False
type(x)
bool
python的变量赋值时不用指定变量类型,python会自动识别赋值的变量类型
x = 1
x
1
给变量赋值
- 使用代码 = 表示,把等号右边的东西赋给左边。
- 支持多个变量同时赋值,但是变量的数目和值的数目要相等,按照排列的顺序一一对应赋值。
- 用 print 一次打印多个不同类型的变量时,中间用逗号分隔。
- 右边的值是列表和字符串时,可以直接同时赋值,但是变量类型有区别。
x, y, z = 1,5,3
print('x:',x)
print('y:',y)
print('z:',z)
x: 1
y: 5
z: 3
- 在 python 中,即使等号两边长得不完全一样,也可以进行赋值。
- 前一个cell是用列表赋值,注意变量数目和列表中值的数目也要相等,变量输出为列表中对应值的类型。
- 后一个cell是用字符串赋值,注意变量数目和字符串中字符的数目也要相等,但是中间不用逗号分隔!变量输出为字符串类型。
x,y = [1.2,2]
print('x:',x,type(x))
print('y:',y,type(y))
x: 1.2 <class 'float'>
y: 2 <class 'int'>
x,y = '12'
print('x:',x,type(x))
print('y:',y,type(y))
x: 1 <class 'str'>
y: 2 <class 'str'>
变量之间的比较
- 会返回一个逻辑变量True或False
- 等于使用代码==表示
- 不等于使用代码!=表示
- 大于使用代码>表示
- 小于使用代码<表示
应用一个变量之前,一定要对这个变量进行定义或者赋值,不然python不知道该变量的数据类型
1 == 1
True
bbb = 1
bbb != 3
True
数据类型的转换
- 用代码 str()表示转化为字符串,输出时会带有单引号。
- 用代码 float()表示转换为小数,会加上小数点以及小数点后的0。
- 用代码 int()表示转换为整数,不会四舍五入,直接取整。
x = 1
y = str(x)
y
'1'
y = float(x)
y
1.0
y = 1.6
int(y)
1
y = '1'
float(y)
1.0
变量的基本运算
- 对字符串可以进行加法和乘法运算,字符串的乘法相当于叠加
- x += y相当于 x += x+y ,运算符号要写在等号左边
x = 2
y = 3
print(x*y)
print(x+y)
print(x-y)
print(x/y)
6
5
-1
0.6666666666666666
x = '*'
y = '/'
x*3
'***'
x = 1
y = 8
x += y
print(x,y)
9 8
x = 2
y = 3
x**y
8
pow(2,3)
8
- round()表示约到几位小数,逗号后面表示保留到几位小数。
- 直接取整用代码 int
- 取绝对值用abs()
round(2.545)
3
round(2.545,2)
2.54
round(2.545,0)
3.0
int(2.545)
2
abs(-2.545)
2.545
math package
- 如果要使用高级一些的运算,例如 log,π,需要引入 math package。
- log 什么都不指定时默认以 e 为底。
- math.log(8,2)括号内前一个为需要 log 的值,后一个为底。 3 这里相当于 log8/log2。
- math.exp()表示计算以 e 为底的指数
- math.sqrt(2)表示数字的开方
- math.modf(2.545)表示把整数和小数部分拆开,在 python 中计算会有一点点的不准确,在数据处理中这个小误差可以忽略不计。
- math.fsum()函数相对于sum()准确性更好
import math
math.log(2)
0.6931471805599453
math.log10(2)
0.3010299956639812
math.log(16,2)
4.0
math.exp(2)
7.38905609893065
math.sqrt(4)
2.0
math.pi
3.141592653589793
math.e
2.718281828459045
math.sin(90)
0.8939966636005579
math.modf(2.222)
(0.22199999999999998, 2.0)
sum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1])
0.9999999999999999
math.fsum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1])
1.0