Python知识点复习——01.变量、运算符、数据类型及位运算

Python知识点复习

01: 变量、运算符、数据类型及位运算
02:条件循环结构
03:异常处理
04:列表
05:元组
06:字符串
07:字典
08:集合、序列
09:函数与Lambda表达式
10:类、对象与魔法方法
11:模块与datetime模块
12: 文件与文件系统

学习资料




变量、运算符与数据类型





1. 变量

  在python中,变量的声明赋值相比类C语言简单,公式为

标识符 + 赋值符 + 值


 1.0. 注释

  1. #注释内容——单行注释,作用范围为#号之后的本行内容。
  2. ''' 注释内容 '''——区间注释,作用范围可涵盖多行。
  3. """ 注释内容 """——区间注释,作用范围可涵盖多行。
# 这是单行注释
print("Hello world")	# 这是单行注释
# ↑有效

'''
2.这是区间注释
print("Hello world")
↑无效
'''

"""
3.这是区间注释
print("Hello world")
↑无效
"""



 1.1. 标识符

  其中标识符(即变量名) 需要注意的是:

  1. 标识符中可以使用包括字母、数字、下划线,但不能以数字开头
  2. Python 大小写不同的标识符为不同变量,例:Teacher != teacher


 1.2. 赋值符

赋值符说 明举例展开形式
=简单的赋值运算x = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx = x / y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整除赋值x //= yx = x // y


 1.3. 值

  在Python中,因为变量的声明不需要定义类型,所以在赋值时可以直接赋值各种类型的值。

a = 5  			# int整型值
a = 3.1415  	# float浮点型值
a = 'teacher' 	# str字符串类型值
a = True  		# bool布尔类型值



2. 运算符


 2.1. 算术运算符

算术运算符说 明举例
+5 + 3
-5 - 3
*5 * 3
/5 / 3
%取余数5 % 3
**5 ** 3
//取整除5 // 3
print(5 + 3)  		# 8
print(5 - 3)  		# 2
print(5 % 3)  		# 1
print(5 / 3)  		# 1.6666666666666667
print(5 // 3)  		# 1
print(5 ** 3)  		# 125


 2.2. 比较运算符

比较运算符说 明举例
<小于5 < 3
>大于5 > 3
<=小于等于5 <= 3
>=大于等于5>= 3
==等于5 == 3
!=不等于5 != 3
print(5 < 3)  		# False
print(5 > 3)  		# True
print(5 <= 3)  		# False
print(5 >= 3)  		# True
print(5 == 3)  		# False
print(5 != 3)  		# True


 2.3. 逻辑运算符

逻辑运算符说 明举例
andTrue and True
orTrue or False
notnot False
print((5 > 3) and (5 < 8))		# True
print((5 > 3) and (5 < 3)) 		# False
print((5 > 3) or (5 < 3)) 		# True
print((5 > 8) or (5 < 3)) 		# False
print(not (5 > 8)) 				# True
print(not (5 > 3)) 				# False


 2.4.三元运算符

  格式:语句A if 判断语句 else 语句B
  解释:若判断语句为True执行语句A,若判断语句为False执行语句B。

print("It's true" if True else "It's false")		# It's true
print("It's true" if False else "It's false")		# It's false

A,B = 5,3
print(A if A < B else B)							# 3



 2.5. 位运算符

操作符名称运算规则示例
bin(x)返回x的二进制表示\bin(5)
~按位取反0变1,1变0~5
&按位与两个位都为1时,结果才为15 & 3
|按位或两个位都为0时,结果才为05 | 3
^按位异或两个位相同为0,相异为15 ^ 3
<<左移将一个数的二进制位全部左移N位,右补0。5 << 3
>>右移将一个数的各二进制位右移N位,移到右端的低位被舍弃,对无符号数,高位补0。5 >> 3
print(bin(5),bin(3))	# 0b101 0b11
print(bin(~5))  		# -0b110
print(bin(5 & 3))		# 0b1
print(bin(5 | 3))		# 0b111
print(bin(5 ^ 3))		# 0b110
print(bin(5 << 3))		# 0b101000
print(bin(5 >> 3))		# 0b0

print(~5, 5&3, 5|3, 5^3, 5<<3, 5>>3)
# -6 1 7 6 40 0



 2.6. 其他运算符

其他运算符名称示例
in存在5 in [5, 3,‘string’]
not in不存在‘str’ not in ['5, 3,‘string’]
is‘string’ is ‘string’
is not不是‘str’ is not ‘string’
letters = [5, 3,'string']
if 5 in letters:
    print('5' + ' exists')
if 'str' not in letters:
    print('str' + ' not exists')

# 5 exists
# str not exists
# 比较的两个变量均指向不可变类型
a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False
# 比较的两个变量均指向可变类型
a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False

注:

  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的
  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。



 2.7. 运算符优先级

运算符优先级
()
**
~|
*、/、//、%|
*、/、//、%|
>>、<<|
&|
^|
||
==、!=、>、>=、<、<=|
is、is not|
in、not in|
not|
and|
or
,



3.数据类型

  在1.3中有提及数据类型,再此进行详细介绍。

类型名称示例
int整型1000 , -456
float浮点型3.14159 ,1.5E-13 ,3.7e2
bool布尔型True , False

 3.1. 整型

a = 777
print(type(a))		# <class 'int'>

  通过print()type() 这两个BIF得知a的类 (class)int



 3.2. 浮点型

a = 3.1415926
b = 3.7e2

print(type(a))		# <class 'float'>
print(b,type(b))	# 370.0 <class 'float'>

  注:科学计数法所记录的值也是float型。


  可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来保留浮点型的小数点后n位。

import decimal
from decimal import Decimal

decimal.getcontext().prec = 4
a = Decimal(1) / Decimal(3)
print(a)
# 0.3333

a = Decimal(1 / 3)
print(a)
# 0.333333333333333314829616256247390992939472198486328125



 3.3. 布尔型

  布尔型变量只能取两个值,True和False。其中 True = 1False = 0。且可以进行算数运算。

print(True + True)  	# 2
print(True + False) 	# 1
print(True * False)  	# 0
语句布尔值
bool(0)False
bool(not 0)True
bool('')False
bool(not '')True



 3.4.获取类型信息

  3.4.1通过type()函数

print(type(5))  		# <class 'int'>
print(type(3.14))  		# <class 'float'>
print(type(True))  		# <class 'bool'>
print(type('3.14'))  	# <class 'str'>

  3.4.2通过isinstance()函数

print(isinstance(5, int))  		# True
print(isinstance(3.14, float))  # True
print(isinstance(True, bool))  	# True
print(isinstance('3.14', str))  # True



 3.5.强制转换

a, b, c, d = 5, 3.14, True, '3.14'

print(bool(a), type(bool(a))) 		# True <class 'bool'>
print(int(b), type(int(b)))  		# 3 <class 'int'>
print(str(c), type(str(c)))  		# True <class 'str'>
print(float(d), type(float(b)))  	# 1.0 <class 'float'>



4.参考资料

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页