python基础(2) 输入语句、数据类型转换、算数运算、赋值运算、比较运算、逻辑运算
一、输入
使用input内置函数,接受用户输入的内容。input接受的数据是一个字符串数据。
注意:
使用input在获取到数据之后需要使用变量接收。
info = input('请输入:')
print(info)
二、数据类型转换
其他类型转整型
使用int 内置函数来将其他类型转换成整型,如果被转换的字符串不是一个合法的整数,会报错。如果被转换的是一个浮点数,会保留整数部分。
a = int('hello')
print(a) # 这里会报错,因为 hello 不是一个合法的整数
a = '123'
b = int(a)
print(type(b)) # <class 'int'>
print(type(a)) # <class 'str'>
x = 123.567
print(int(x)) # 保留整数部分,不会进行四舍五入
其他进制数转换为十进制数
# 将十六进制的数转换成十进制的数
print(int('1A', 16))
# 将八进制的数转换成十进制的数
print(int('17', 8))
# 将二进制的数转换成十进制的数
print(int('101', 2))
转字符串
使用 str内置函数将其他类型转成字符串
a = 12
b = str(a)
print(type(b)) # <class 'str'>
转浮点数
f = float('12.12')
print(f) # 12.12
print(type(f)) # <class 'float'>
转布尔值
print(bool(''))
print(bool(""))
print(bool(0))
print(bool({}))
print(bool([]))
print(bool(()))
print(bool(None))
在 python 中,只有上述代码的几种情况会被转换成False,其他的都会被转成True
其他类型转换
| eval(str) | 执行字符串中的有效代码 |
|---|---|
| chr(x) | 转换为Unicode |
| ord(x) | 转换为ASCII整数值 |
| hex(x) | 转换为十六进制 数 |
| oct(x) | 转换为八进制数 |
| bin(x) | 转换为二进制数 |
| tuple(s) | 将序列s转换为一个元组 |
| list(s) | 将序列s转换为一个列表 |
三、算术运算符
| 运算符 | 描述 | |
|---|---|---|
| + | 加 | 两数相加 |
| - | 减 | 两个数相减 |
| * | 乘 | 两个数相乘或将字符串重复若干次 |
| / | 除 | 两个数相除 |
| // | 整除 | 两个数相除取商 |
| % | 求余 | 两个数相除取余 |
| ** | 幂运算 | |
| () | 小括号 | 提高运算的优先级 |
str1 = 'hello'
str2 = 'world'
print(str1 + str2) # hello world
print(str1 + 2) # 这样会报错,字符串不可以和数字做除了 * 以外的运算
print(str1 * 3) # hellohellohello
四、赋值运算符
使用= 进行赋值运算,将= 右边的值赋给左边
num1 = 100 # 单个变量赋值
a, b, c = 1, 2, 3 # 多个变量同时赋不同的值,= 两边变量和数值个数要一致
a = b = c = 4 # 多个变量同时赋相同的值
x, *y, z = 1, 2, 3, 4, 5 # 将第一个数赋值给x 最后一个数赋值给z 其余的数以列表的形式赋值给y
### 复合赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| += | 加法赋值运算 | c += a 等效于 c = c + a |
| -= | 减法赋值运算 | c -= a 等效于 c = c - a |
| *= | 乘法赋值运算 | c *= a 等效于 c = c * a |
| /= | 除法赋值运算 | c /= a 等效于 c = c / a |
| //= | 取整赋值运算 | c //= a 等效于 c = c // a |
| %= | 取余赋值运算 | c %= a 等效于 c = c % a |
| **= | 幂赋值运算 | c **= a 等效于 c = c ** a |
五、比较运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于 | a==b False |
| != | 不等于 | a!=b True |
| > | 大于 | a>b False |
| < | 小于 | a<b True |
| >= | 大于等于 | a>=b False |
| <= | 小于等于 | a<=b True |
两个字符串进行比较 会按位比较这两个字符串每个字符的编码大小
六、逻辑运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| and | 与 | and 两边只要有一个为假 结果就为假,同时为真才为真 |
| or | 或 | or 两边只要有一个为真就为真,同时为假才为假 |
| not | 大于 | 取反运算 |
print(4 > 3 and 5 > 2 and 1 > 4) # False
print(4 < 9 and 1 > 0 and 2 < 5) # True
print(4 > 3 or 1 > 2 or 5 < 19) # True
print(not 4 < 3)
num = int(input('请输入一个数字:'))
# if num % 2 == 0:
# if num % 2 == False:
if not num % 2: # num % 2 结果为0的话 if num % 2 的结果就是 False
print('您输入的数字是偶数')
# if num % 2 != 0:
if num % 2:
print('您输入的数字是奇数')
逻辑运算符短路问题
# 逻辑与运算短路:只要遇到False,就停止了
3 > 2 and 1 > 10 and print('hello world')
# 逻辑或运算短路:只要遇到True,就停止了
2 < 1 or 3 > 5 or 1 < 10 or print('no')
# 逻辑与运算用来取值时,取第一个为False的值
a = 2 and 5 and 0 and None and 'hehe'
print(a)
# 如果所有的运算数都是True,取最后一个值
b = 10 and 'hello' and [1, 2, 3] and {'name': 'zhangsan'}
print(b)
# 逻辑或运算用来取值时,取第一个为True的值
x = 0 or '' or 3 or 'hello'
print(x)
# 如果所有的运算数都是False,取最后一个值
y = 0 or '' or None or [] or {}
print(y)
# 因为print没有返回值 所以在输出之后 原位置是个 None
m = True and True and print('good') and print('你好')
print(m)
n = False or False or print('ok') or print('yeah') or 5 or 100
print(n)

浙公网安备 33010602011771号