变量、运算符与数据类型、位运算
怎样对python中的代码进行注释?
可以用#进行单行注释。例如:
#输出 hello Datawhale
print('hello Datawhale')
可以用三个单引号’’’ ‘’'或者三个双引号 “”" “”"进行多行注释,例如:
"""
这是用三个双引号实现多行注释
输出hello Datawhale
"""
print('hello Datawhale')
'''
这是用三个单引号实现多行注释
输出hello Datawhale
'''
python有哪些运算符,这些运算符的优先级是怎样的?
python运算符
1.算数运算符:
| 名称 | 操作符 |
|---|---|
| 加 | + |
| 减 | - |
| 乘 | * |
| 除 | / |
| 整除 | // |
| 取余 | % |
| 幂 | ** |
2.比较运算符
| 名称 | 操作符 |
|---|---|
| 大于 | > |
| 小于 | < |
| 等于 | == |
| 大于等于 | >= |
| 小于等于 | <= |
| 不等于 | != |
3.逻辑运算符
| 名称 | 操作符 |
|---|---|
| 与 | and |
| 或 | or |
| 非 | not |
4.位运算符
| 名称 | 操作符 | 描述 |
|---|---|---|
| 按位取反 | ~ | 对数据的每个二进制位取反,即把1变为0,把0变为1 |
| 按位与 | & | 对应的两个二进位都为1,则该位的结果为1,否则为0 |
| 按位或 | | | 对应的两个二进位有一个为1时,结果位就为1 |
| 按位异或 | ^ | 当两对应的二进位相异时,结果为1 |
| 左移 | << | 运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 |
| 右移 | >> | 把>>左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 |
6.成员运算符
| 名称 | 操作符 |
|---|---|
| 存在 | in |
| 不存在 | not in |
7.身份运算符
| 名称 | 操作符 |
|---|---|
| 是 | is |
| 不是 | is not |
python运算符优先级(由高到低)
| 运算符 | 描述 |
|---|---|
| ** | 指数 |
| ~、+、- | 按位取反、一元加号、一元减号 |
| *、/、%、// | 乘、除、取模、整除 |
| >>、<< | 右移、左移 |
| & | 与运算 |
| ^、| | 位运算符 |
| <=、<、>、>= | 比较运算符 |
| ==、 != | 等于运算符 |
| = 、%=、 /=、 //=、 -=、 +=、 *= 、**= | 赋值运算符 |
| is、is not | 身份运算符 |
| in、not in | 成员运算符 |
| not、or、and | 逻辑运算符 |
python 中 is, is not 与 ==, != 的区别是什么?
is、is not 对比的是两个变量的内存地址,==、!= 对比的是两个变量的值。
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
python 中包含哪些数据类型?
| 类型 | 名称 |
|---|---|
| int | 整型 <class ‘int’> |
| float | 浮点型<class ‘float’> |
| bool | 布尔型<class ‘bool’> |
python 数据类型之间如何转换?
| 函数 | 描述 |
|---|---|
| int(x [,base]) | 将x转换为一个整数 |
| float(x) | 将x转换到一个浮点数 |
| ord(x) | 将一个字符转换为它的整数值 |
| str(object=’’) | 转换为字符串 |
位运算
leetcode 习题 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
尝试使用位运算解决此题。
题目说明:
“”"
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
“”"
解决方法:
使用异或:元素相异为1,相同为零;
0与任何元素异或为其本身。
example1=[2,2,1]
example2=[4,1,2,1,2]
m=0
n=0
for i in range(0, len(example1)):
m=m^example1[i]
i+=1
print(m)
for i in range(0, len(example2)):
n=n^example2[i]
i+=1
print(n)
运行结果:

270

被折叠的 条评论
为什么被折叠?



