一、Python 数据类型 :
1. python 没有真正的变量一说, a = 'hello' , 这个 a 更像是一个贴在 'hello' 上面的【标签】, 我随时可以把 a 贴到别的地方去。
2. python 的一些数值类型包括 :
a、整型 int
b、浮点型 float
c、布尔型 True/False
d、e记法 1.5e11 => 150000000000
注意 : True 等价于 整型的 1, False 等价于 整型的 0
证明:
print(True) True
print(True+True) 2
print(False) False
print(False+False) 0
print(True/True) 1.0
print(True/False) ZeroDivisionError: division by zero
3.类型转换 :
整数 ==》 字符串 : str() 方法
a = 5
print(type(a)) <class 'int'>
print(type(str(a))) <class 'str'>
字符串 ==》 整数 : int() 方法
a = '5'
print(type(a)) <class 'str'>
print(type(int(a))) class 'int'>
注意: 只有编码为数字的字符串才能转换为整数!!
print(type(int('sss'))) ValueError: invalid literal for int() with base 10: 'sss'
整数 ==》 浮点数 : float() 方法
a = 5
print(type(float(a))) <class 'float'>
print(float(a)) 5.0
浮点数 ==》 整数 : int() 方法
a = 5.95
print(type(int(a))) <class 'int'>
print(int(a)) 5
注意: 浮点数 转换为 整数 时, 【小数部分会直接被截断】, 不会做四舍五入,这是为了方便。。。。。
浮点数 ==》 字符串 : str() 方法
a = 5.95
print(type(str(a))) <class 'str'>
print(str(a)) 5.95
字符串 ==》 浮点数 : float() 方法
a = 5.95
print(type(str(a))) <class 'float'>
print(str(a)) 5.95
注意: 只有编码为数字的字符串才能转换为浮点数!!
4. python 内置函数 【 isinstance 】
该函数接收两个参数 : 一个 变量 和 一个 类型,用于判断变量与类型是否一致, 一致则返回 True, 否则返回 False。如下 :
print(isinstance('hehe', int)) False
print(isinstance(5, int)) True
a = 5.97
print(isinstance(a, float)) True
print(isinstance(a, int)) False
--------------------------------------------------------------------------
二、 python 常用操作符
1.算术操作符 : 这些操作符都可以配合赋值符号 += //= 都行
+ 加
- 减
* 乘
/ 除 会精确到 小数位, 得到float类型数据(python3开始)
% 取余
** 求次方
// 整除 精确到个位, 得到 int 类型数据
2.比较 操作符 :
< 小于
<= 小于等于
> 大于
>= 大于等于
== 对于
!= 不等于
3. 逻辑操作符 :
and 左边和右边全为真结果才为真
or 左边或右边有一个为真结果就为真
not 取反
逻辑操作符的结果为 True 或 False
or 操作符从左到右遍历表达式中的每一个元素, 把 第一个 非 0 的元素作为结果。不再继续遍历后面的元素
and 操作符从左到右遍历表达式中的每一个元素, 如果遇到 0 ,则返回结果为 0 ,不再继续遍历后面的元素,
如果没遇到 0 , 则将最后一个元素作为 结果。
4.优先级 :
一级、 幂运算(**)
二级 、 正负号(+x -x)
三级上、 算术运算符(* / // %)
三级下、 算术运算符(+ -)
四级、 比较运算符(< <= > >= == !=)
五级、 逻辑运算符(not and or)
-----------------------------------------
三、分支循环
1.条件表达式 (三元操作符) ,如下,我们要获取两个数里面大的那个数 :
可以这样写判断语句 :
x, y = 4, 5
if x > y:
z = x
else:
z = y
print(z) 5
为了使代码更加简洁, 可以使用条件表达式 :
a = x if x > y else y
print(a) 5
语法 :
x if 条件 else y
当条件为真的时候, 返回结果为 x ,否则结果为 y
2. 断言 ( assert 关键字)
当这个 关键字后面的条件为 假 的时候, 程序会自动崩溃并且抛出一个 AssertionError 异常
例如 :
assert 2 > 3
输出 :
Traceback (most recent call last):
File "C:/Users/14565/PycharmProjects/untitled/test.py", line 3, in <module>
assert 0
AssertionError
一般来说我们可以用断言在程序中置入检查点,当 需要确保程序中的某个条件一定为真才能让程序正常规则
的话, assett 关键字就非常有用了。
因为与其让错误的情况导致后面的程序出现莫名奇妙的 BUG 还不如 直接 让程序 崩溃。