目录
一、基本数据类型的转换
数据类型的转换有两种形式:自动转换;强制转换
自动转换 bool True(1) False(0) >>> 1 + True 2 >>> 1+False 1 # 强制转换 字符串的转换 str() #将其他数据类型转变为字符串 >>> age = 25 >>> type(age) <class 'int'> >>> str(age) '25' >>> res = str(age) >>> type(res) <class 'str'> >>> res '25'
转换成整型 int() #只有与整型类似的数据类型才可以进行转换 >>> str1 = '25' >>> type(str1) <class 'str'> >>> res = int(str1) >>> type(res) <class 'int'> >>> res 25
转换浮点型 float() #只有与浮点型类似的数据类型才可以进行转换 >>> str1 = '25.5' >>> res = float(str1) >>> type(res) <class 'float'> >>> age = 25 >>> res = float(age) >>> type(res) <class 'float'> >>> res 25.0
list() #转换成列表 tuple() #转换成元组
转成bool bool() # 得到的结果是True、False # 结果为False的情况:空字符串,数字0/0.0;当数据类型为空时,得到的结果都为False,其余情况都为True >>> age = 12 >>> res = bool(age) >>> res True >>> age = 0 >>> res = bool(age) >>> res False >>> str1 = '' >>> res = bool(str1) >>> res False >>> name = [] >>> res = bool(name) >>> res False
接受输入 >>> input("正方形的边长为:") 正方形的边长为:22 '22' >>> B = input("正方形的边长为:") 正方形的边长为:22 >>> B '22' >>> type(B) <class 'str'> >>> B = int(input("正方形的边长为:")) 正方形的边长为:22 >>> type(B) <class 'int'> >>> B * B 484
二、运算符
2.1 算术运算符
符号 | 含义 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法(得到的结果是浮点型) |
% | 取余(得到余数) |
// | 整除(有余数的情况下,得到整数部分) |
** | 幂(乘方) |
2.2 赋值运算符(优先级最低)
符号 | 含义 | 实例 |
---|---|---|
= | 赋值运算 | c = a + b |
+= | 加赋值 | a += b ---> a = a + b |
-= | 减赋值 | a -= b ---> a = a - b |
*= | 乘法赋值 | a *= b ---> a = a * b |
/= | 除法赋值 | a /= b ---> a = a / b |
//= | 整除赋值 | a //= b ---> a = a // b |
%= | 取余赋值 | a %= b ---> a = a % b |
**= | 幂赋值 | a = b ---> a = a b |
2.3 比较运算符
比较运算符得到的结果是bool
符号 | 含义 |
---|---|
> | 大于号,比较两边数值的大小,返回结果是布尔型 |
< | 小于号 |
== | 等号,仅比较两边数值是否相等(可以比较两边字符串是否相同,先比较是否同类型,在比较是否相等):’ |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
>>> print(5>22) False >>> print(22 == 25) False >>> print(56 >= 56) True >>> print(88 >= 99) False >>> print(66 != 77) True >>> print(66 != 66) False
2.4 逻辑运算符(not>and>or)
得到的结果是bool
符号 | 含义 |
---|---|
and | 与运算,与中学数学中'且'含义一样。and左右两边的值必须都为真才为真否则为假 |
or | 或运算,与中学数学中'或'含义一样。or左右两边的值有一个为真则为真,全为假才假 |
not | 非运算,与中学数学中'非'含义一样。取反之意;即not后的值为真则结果为假,否则反之 |
>>> True and False False >>> True and True True >>> False and False False >>> True or False True >>> True or True True >>> False or False False >>> not False True >>> not True False # 小明:语文 95 数学 98 就站门口两个小时 >>> C = int(input("语文成绩:")) 语文成绩:99 >>> M = int(input("数学成绩:")) 数学成绩:90 >>> print(C >= 95 and M>= 98) False >>> print(C >= 95 or M>= 98) True # 短路 and :当and前面的值为假,and就不往后面执行 >>> 1 and 0 0 >>> 0 and 1 0 >>> 0 and 2 0 >>> 1 and 1 1 or: 当or前面的值为真,or就不往后面执行 >>> 1 or 0 1 >>> 0 or 1 1 >>> 0 or 0 0 >>> 1 or 2 1
2.5 成员运算符
得到的结果是bool
in : 表示该元素(数据)在该序列中
not in : 表示该元素(数据)不在该序列中
>>> name = '小明' >>> print('小' in name) True >>> str1 = "嫌水摸鱼很帅" >>> print('丑' in str1) False >>> print("丑" not in str1) True >>> ls = [23 , 33 , 43 , 34] >>> print(45 in ls) False >>> print(23 in ls) True
2.6 运算符优先级
先乘除再加减。
>>> 2 + 1 * 3 5 >>> 23 and 1 - 1 0 >>> 23 > 20 + 1 True >>> 23 > 25 - 5 True >>>
小括号可改变优先级,移位运算符优先级又高于按位运算符
a = 2 b = 3 print("a和b转换为二进制为:", bin(a), bin(b)) ------------------------------------- [output]: a和b转换为二进制为: 0b10 0b11
下面我就用2和3,也就是0010和0011举例。
a = 0010 #2 b = 0011 #3 a&b = 0010 #2 a|b = 0011 #3 a^b = 0001 #1 ~a = 1101 #-3 a<<1 = 0100 #左移一位,相当于乘2,得到4 a>>1 = 0001 #右移一位,相当于除以2,得到1 a>>2 = 0000 #右移两位,相当于除以4,不能整除时向下取整,得到0