1. 怎样对python中的代码进行注释?
单行注释 # …
多行注释
‘’‘…
‘’’
2. python有哪些运算符,这些运算符的优先级是怎样的?
算术运算符、比较运算符、逻辑运算符、位运算符、其他运算符( is , is not , == , !=)
优先级:
1)一元运算符优先于二元运算符
2)顺序:算术运算、移位运算、位运算、逻辑运算
3. python 中 is , is not 与 == , != 的区别是什么?
1) is, is not 对比的是两个变量的内存地址
2)==, != 对比的是两个变量的值
- 假如比较的两个变量指向的是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
- 假如对比的两个变量指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
4. python 中包含哪些数据类型?这些数据类型之间如何转换?
基本类型:整型int、浮点型float、布尔型bool
转换:
1)转为整型 int(x, base=10) 其中base表示进制,默认为十进制,base=10或0均表示十进制。
2)转为浮点型 float(x)
3)转为字符串 str(x)
容器类型:字符、列表、元组、字典、集合
5、type() 与 isinstance()区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
6、leetcode 习题 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。
1)使用异或,异或运算满足:
0 ^ A = A
A ^ A = 0
A ^ B ^ A: = A ^ A ^ B = B 交换率
#从给定集合中找出只出现一次的元素
from typing import List
class Solution:
def singleNumber(self, nums: List[int]) -> int:
single=0
for num in nums:
single^=num
return single
#b=Solution.singleNumber([2,2,1])#错误
b=Solution()#先定义对象
result=b.singleNumber([2,2,1])#再调用函数
2)不适用位运算的方法:
class Solution:
def singleNumber(self, nums: List[int]) -> int:
single = set()
for num in nums:
if num in single:
single.remove(num)
else:
single.add(num)
for num in single:
return num