变量、运算符与数据类型
练习题
1. 怎样对python中的代码进行注释?
使用#号作为一行注释,或者是使用’’’ ‘’’ 或者 “”" “”"进行区间注释
2. python有哪些运算符,这些运算符的优先级是怎样的?
算数运算符、比较运算符、逻辑运算符、位运算符、三元运算符等等
3. python 中 is
, is not
与 ==
, !=
的区别是什么?
is 和 not is 是用来判断两个变量的内存地址,而==和!=是用来判断变量的值。
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
4. python 中包含哪些数据类型?这些数据类型之间如何转换?
int:整型
float:浮点型
bool:布尔型
转换为整型
int(x, base=10)
转换为字符串
str(object='')
转换为浮点型
float(x)
5. 练习题:
leetcode 习题 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
尝试使用位运算解决此题。
# 非位运算符版本
def find_unique(list_num):
dict_num = {
}
for i in list_num:
try:
dict_num[i] += 1
except:
dict_num[i] = 1
for k in dict_num.keys():
if dict_num[k] == 1:
return k
a = [2, 2, 1]
b = [4,1,2,1,2]
find_unique(b)
4
# 位运算符版本
class Solution:
def singleNumber(self, num):
one = 0
for i in num:
one ^= i
return one
solution = Solution()
solution.singleNumber(b)
4