1. 变量,运算符与数据类型
怎样对python中的代码进行注释?
python3中分单行注释和多行注释。单行注释用 #;多行注释用单引号或双引号
# 这是单行注释
print("Datawhale-GitHub404")
'''
多行注释可以用单引号
比如这样的
点三次
'''
print("Hi, Datawhale-GitHub404")
"""
多行注释也可以用双引号
比如这样的
也要点三次
"""
print("Hello, Datawhale-GitHub404")
python有哪些运算符,这些运算符的优先级是怎样的?
python3 有算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,身份运算符和成员运算符。
注意: (1) python3 中已能使用 <> 运算符,用 != 代替。(2)Python3.8 版本新增海象运算符 :=,可在表达式内部为变量赋值。
优先级从高到低:
** (指数运算符),~ + - (按位取反,一元加、一元减。”一元运算符优于二元运算符“),* / % // (乘,除,求余数和取整除) , + - (加法减法),>> << (右移,左移),& (位运算的’AND'),^ | (位运算符),比较运算符,== !=(等于,不等),赋值运算符,身份运算符,成员运算符,逻辑运算符。
python 中 `is`, `is not` 与 `==`, `!=` 的区别是什么?
is 是判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False。
is not 是判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。
而 ‘==’ 和 ‘!=’ 判断引用变量的值是否相等或不等。
python 中包含哪些数据类型?这些数据类型之间如何转换?
Python3 的数据类型按照可变与否分为:
- 不可变数据:Number(数字)、String(字符串)、Tuple(元组)
- 可变数据:List(列表)、Dictionary(字典)、Set(集合)
按照用途分为:
- 基本类型:int 整型、float 浮点型、bool 布尔型
- 容器类型:string 字符串、tuple 元组、list 列表、dictionary 字典, set 集合
python 中数据类型的转换只需要将数据类型作为函数名就行。如 float(a) ,将a转换成浮点型。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. 位运算
leetcode 习题 136. 只出现一次的数字。给定一个**非空**整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。
核心思想:XOR异或。任何数与 0 异或都不改变它的值,任何数与其自身异或都为 0。要找出只出现了一次的元素,就遍历数组中的所有元素,依次进行俩俩异或即可。
#时间复杂度是O(n),线性的。
class Solution(object):
def singleNumber(self, nums):
a = 0
for num in nums:
a ^= num
return a