Task 01变量、运算符、数据类型及位运算
程序员文章站
2022-07-14 23:08:13
...
1.怎样对python中的代码进行注释?
#对单行进行注释,’’’ ‘’'或 “”" “”" 对区间(多行)进行注释。
2. python有哪些运算符?这些运算符的优先级是怎样的?
算术运算符 | 功能 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 取整 |
% | 取余 |
** | 幂 |
比较运算符 | 功能 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
逻辑运算符 | 功能 |
---|---|
and | 与 |
or | 或 |
not | 非 |
位运算符 | 功能 |
---|---|
<< | 左移 |
>> | 右移 |
^ | 异或 |
& | 与 |
/ | 或 |
~ | 取反 |
其它运算符 | 功能 |
---|---|
is | 是(判断内存地址) |
is not | 不是 |
in | 在(用于容器型变量) |
not in | 不在 |
三元运算符:
x, y = 4, 5
small = x if x < y else y
print(small)
算术>比较>逻辑,
一元>二元,
其他位运算符>移位位运算符
3. python 中 is, is not 与 ==, != 的区别是什么?
is, is not 判断的是两个变量内存地址是否相同;==, !==判断的是变量的值是否相同。如果变量指向地址不变的类型,二者等价;如果变量指向的是list, tuple, dir地址可变的类型,则二者不同。
a = "apple"
b = "apple"
print(a is b, a == b) #True True
----------------------------------------
a = ['apple']
b = ['apple']
print(a is b, a == b) #False True
4. python 中包含哪些数据类型?这些数据类型之间如何转换?
数据类型有整型int()、浮点型float() 和布尔型bool()。
Python里万物皆对象,只要是对象,就会有相应的属性和方法,用**dir()**查看。
查看变量类型有两种方法:type(object) 和 isinstance(object, classinfo)。区别在于对类的继承上。type(object)不考虑子类和父类的继承关系,isinstance(object, classinfo)会考虑,所以在查看与类相关的数据类型上,isinstance更好。
class School:
a = 10
class Student(School):
b = 20
sch = School()
stu = Student()
print(type(stu) == School) #False
print(isinstance(stu, School)) #True
引入decimal包来控制精度:
import decimal
from decimal import Decimal
decimal.getcontext().prec = 4
b = Decimal(1) / Decimal(3)
print(b)
转换为整型: int()
转换为浮点型:float()
转换为字符型:str()
5. 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
尝试使用位运算解决此题
异或满足交换律。
class Solution:
def singleNumber(self, nums: List[int]) -> int:
r = 0
for i in nums:
r ^= i #r = r ^ i
return r