目录
1.变量
特别之处:
1.1python为动态类型,C\C++为静态类型
- Python: 是动态类型语言,无需在声明变量时指定其类型,解释器会在运行时自动确定。
- C、C++: 是静态类型语言,变量在声明时需要指定类型,编译器会在编译时检查类型。
#不需要进行变量类型制定,直接赋值
x = 5 # x现在是一个整数
x = "Hello" # x现在是一个字符串
1.2赋值行为的不同
在python中,将a赋值给b时,a
和b
都将引用同一个对象,即它们指向相同的内存地址。这意味着如果更改a
或b
中的任何一个,另一个也会被更改。
a = [1, 2, 3, 4]
b = a
# 修改a或b都会影响另一个
a[0] = 99
print(b) # 输出 [99, 2, 3, 4]
在C++中,如果使用=
运算符直接赋值,会发生复制操作,即b
会被初始化为a
的副本,而不是指向相同的内存地址。这使得对a
的修改不会影响b。
2.运算符
特别之处:
2.1多重赋值
python中可以使用逗号分隔的方式同时给多个变量赋值,例如:
a, b, c = 10, 10.1, "hello"
#变量 a 将被赋值为 10,变量 b 将被赋值为 10.1,而变量 c 将被赋值为字符串 "hello"
2.2地板除//
在C和C++中,整数除法会截断小数部分,而在Python中,整数除法会得到浮点数结果,可以使用//
进行截断除法。
result = 7 / 3
print(result)
#输出2.3333333333333335
result = 7 // 3
print(result)
#输出2
2.3 幂运算**
在Python中,幂运算可以使用 **
运算符来完成。左边的数字是底数,右边的数字是指数。也可以开方。
result = 2 ** 3 # 2的3次方
print(result) # 输出 8
result = 2 ** (1/2) # 2的开方
print(result) # 输出1.4142135623730951
3.关键字
3.1 is/is not运算符
Python中,is
和 is not
是身份运算符,用于检查两个对象是否是同一个对象(在内存中的同一地址)。与 ==
和 !=
运算符不同, ==
和 !=
用于检查两个对象的值是否相等。
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True,因为 a 和 b 指向同一对象
print(a is c) # False,尽管值相等,但a和c不是同一个对象
print(a == c) # True,因为它们的值相等
print(a is not c) # True,a和c不是同一个对象
3.2 del关键字
del可以用于删除变量、列表中的元素、字典中的键值对等。
#删除变量
a = 10
del a
# 现在变量 a 已被删除,如果尝试访问 a,将会引发 NameError
#删除列表元素
a = [1, 2, 3, 4]
del a[2]
# 现在 a 变为 [1, 2, 4]
3.3 type关键字
Python中,type()
是一个内建函数,用于获取对象的类型(或类)
x = 5
print(type(x)) # 输出 <class 'int'>
y = "Hello, World!"
print(type(y)) # 输出 <class 'str'>
3.4 elif关键字
相当于c c++中的else if
3.5 python的与(and)或(or)非(not)
在Python中,与、或、非分别用 and
、or
、not
来表示。它们是用于组合和修改布尔值的逻辑运算符
x = True
y = False
result = x and y
print(result) # 输出 False
3.6 python的+ -正负号
在Python中,正负号运算符用于改变数字的正负性。一般,正号 +
不会改变数字的正负,而负号 -
用于取反。
3.7 bin()关键字
bin()
函数用于将整数转换为二进制字符串。
bin(8)
#输出'0b1000',注意输出的是字符串