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)
posted @ 2019-11-06 08:53  Python-永远滴神  阅读(582)  评论(0)    收藏  举报