python学习002-数据类型和基本运算

163 阅读4分钟

1、定义变量和删除变量
python中定义变量很简单:变量名=值,不用像java等语言中需要在前面声明类型的。
写法有
1)变量名=变量的值
2)变量名1=变量名2=变量的值
3)变量名1,变量名2 = 变量值1,变量值2
【特别说明】:第三种方式可以用来交换两个变量的值而不用通过中间变量temp来交换值
比如变量1和变量2都有值,只要这么写 变量1,变量2 = 变量2,变量1 就实现了两个变量的交换了

删除变量 del 变量名
del 变量名1,变量名2
作用:解除变量和对象的绑定,有可能释放对象。当一个对象的引用计数为0的时候被销毁

2、基本数据类型 1)整型 : 字面量是不带小数点的数字,只要带小数点,哪怕是.0都是浮点数
默认值写法就是10进制,
二进制需要在数字前面加0b,这个时候后面的数字只能是0或者1
八进制是在数字前面加0o,后面只能跟0-7数字 十六进制在数字前面加0x,后面跟0-9,A-F,a-f 2)浮点 : 带小数点的数字
除了普通的写法,还有科学计数法的写法,在数字后面加上E/e正负数字(这个正负数是e(10)的指数)
比如:1e2=100 1e-1=0.1 3)字符串 : 用单引号和双引号括起来的
这里有个特殊的地方,如果要在单引号或双引号中实现换行,需要转义字符\n
还有一种写法,不用特殊字符,默认写成什么样就是什么样的:用三单引号或或者三双引号:
比如
"""你好
哈哈
呵呵
""""
这种输出的就是和字面上一样的效果

4)布尔类型 : bool 只有两个值 True和Flase
5)空类型 None

【注意】:上面的None和True和Flase的第一个字母必须大写

判断变量类型用函数 type print(type("")) 结果是:<class 'str'>

判断变量是否是某种类型 type("") == str 是否是字符串
type(123) == int 是否是整型
type(123.0) == float 是否是浮点数
type(True == bool) 是否是布尔

python判断值相等用== ,字符串相等也是用== ,不像java用equals

"123" == "123" 返回的是True

以上结果都是True

3、类型强制转换 直接用函数 int(值) : 将值转为整型(浮点就向下取整) 例如 int("123") int(12.9)
str(值) 将值转为字符串 例如 str(345)
bool(值) 将值转为布尔 bool(0)
float(值) 将值转为浮点 float("12.9") float(12)

注意:如果里面的值不符合转换后类型要求,就会报错 例如:float("ab") 报错
bool(0) bool(0.0) bool(None)的结果是Flase

4、运算:加减乘除法等
"+" : 加法 两边必须是数字(True和Flase可以代表1和0),或者两边都是字符串表示连接字符串,但是不能是数字和字符串相加。
"-" 减法 :两边是数字[True和False表示数字1和0]
"*" 乘法 两边是数字相乘[True和False表示数字1和0]。 也可以是字符串和整型:表示把字符串复制多个拼接在一起。"12" * 2 = 1212
"/" 除法 两边都是数字,结果就是float,哪怕是两个整型相除,结果也是浮点,和java不同
"//"整除 结果取结果的整数部分,向下取整
"%" 求余运算
** 幂运算 比如 2 ** 3 = 8 表示2的3次方

运算符的优先级
() 括号
** 幂运算
"* / % //" 乘、除、求余、除法取整
"+ -" 加、减

5、增强运算符
+= : y+=x => y = y+x
-= : y-=x => y=y-x
*= : y *= x => y = y * x
/= : y /= x => y = y/x
//= : y //=x => y = y //x
%= : y %=x => y = y % x
**= : y **=x => y = y ** x

6、比较运算符

> 大于
>= 大于等于
< 小于
<= 小于等于
以上四个运算:两边只能都是数字(True和False是1和0)或者都是字符串

== 等于
!= 不等于
以上两个运算两边可以是任何类型的数据
"a" == "a"(True) "a" == 12(False) 12==12(True)

7、逻辑运算符
and : 与
or : 或者
not : 非

短路:and和or运算当第一个条件满足整体条件后,后面的不用执行了
a and b: 当a为Flase后,b就不执行了
a or b 当a为True后,b就不执行了

8、身份运算 is 是
is not 不是

a = 12 b = 13 c = "12" d = 12 e = "12"

a is b : Flase
a is d : True
a is c : False c is e : True

8、运算符的优先级
1)算数运算符
2)比较运算符
3)增强运算符
4)身份运算符
5)逻辑运算符