Datawhale python编程基础 Task1
变量,运算符与数据类型及位运算
2 变量,运算符和数据类型
2.1 注释
'''
print("Hello World!")
'''
print("Hello World!")
#print("Hello World!")
2.2 运算符
在按位异或操作,相同为0,不同为1。
按位左移和按位右移是在二进制的基础上向左,向右移动i位得到的值。
eg:
print(4>>2) #1
#因为4的二进制为00000100 向右移动2位是00000001 即10进制的1
还有很方便的三元运算符:
x,y=4,5
if x<y:
small=x
else:
small=y
print(small)
#4
还有需要注意的是 is not,is对比的是两个变量的内存地址,而=,!=对比的是两个变量的值。
2.3 变量和赋值
1.使用变量名前先赋值
2.变量名不能以数字开头
3.python分大小写
2.4 数据类型与转换
a=4
print(bin(a))
#0b100
要判断类型是否相同,isinstance()
print(isinstance('3.2',str))#True
2.5 print()函数
list=['apple','orange','banana']
for item in list:
print(item)
for item in list:
print(item,end='@')
print("This is printed with 'end='&''.")
'''
apple
orange
banana
apple@orange@banana@
This is printed with 'end='&''.
'''
答:
1.注释用#,多行注释用’’’ ‘’’
2.位,逻辑,比较,三元,算术,其他运算符。一元运算符优先于二元运算符,先算术运算,再移位运算,再位运算。逻辑运算最后结合。
3. is not,is对比的是两个变量的内存地址,而=,!=对比的是两个变量的值。
4. int,float,bool 容器类型:字符,元组,列表,字典和集合
类型转换:
转换为整型:int(x,base=10)
转换为字符串:str(object=’ ')
转换为浮点型:float(x)
3 位运算
3.1原码,反码,补码
原码:二进制表示
反码:正数的反码就是原码,负数的反码就是符号位不变,其余位取反
补码:负数的补码是反码加1,正数的补码是原码
注意:python中整型是以补码形式存储的
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
res=0
for i in nums:
res=res^i
return res
题解:因为0与任何数与都是任何数
按位与同时满足交换率和结合率 而且是除了只出现一次的那个数字,其他的数字都是出现2次