Task 01变量、运算符、数据类型及位运算

1.怎样对python中的代码进行注释?

#对单行进行注释,’’’ ‘’'或 “”" “”" 对区间(多行)进行注释。

2. python有哪些运算符?这些运算符的优先级是怎样的?

算术运算符 功能
+
-
*
/
// 取整
% 取余
**
比较运算符 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
逻辑运算符 功能
and
or
not
位运算符 功能
<< 左移
>> 右移
^ 异或
&
/
~ 取反
其它运算符 功能
is 是(判断内存地址)
is not 不是
in 在(用于容器型变量)
not in 不在

三元运算符:

x, y = 4, 5
small = x if x < y else y
print(small)

算术>比较>逻辑,
一元>二元,
其他位运算符>移位位运算符

3. python 中 is, is not 与 ==, != 的区别是什么?

is, is not 判断的是两个变量内存地址是否相同;==, !==判断的是变量的值是否相同。如果变量指向地址不变的类型,二者等价;如果变量指向的是list, tuple, dir地址可变的类型,则二者不同。

a = "apple"
b = "apple"
print(a is b, a == b)     #True True
----------------------------------------
a = ['apple']
b = ['apple']
print(a is b, a == b)     #False True

4. python 中包含哪些数据类型?这些数据类型之间如何转换?

数据类型有整型int()、浮点型float() 和布尔型bool()
Python里万物皆对象,只要是对象,就会有相应的属性和方法,用**dir()**查看。
查看变量类型有两种方法:type(object) 和 isinstance(object, classinfo)。区别在于对类的继承上。type(object)不考虑子类和父类的继承关系,isinstance(object, classinfo)会考虑,所以在查看与类相关的数据类型上,isinstance更好。

class School:
    a = 10
class Student(School):
    b = 20
sch = School()
stu = Student()

print(type(stu) == School)        #False
print(isinstance(stu, School))    #True

引入decimal包来控制精度:

import decimal
from decimal import Decimal
decimal.getcontext().prec = 4
b = Decimal(1) / Decimal(3)
print(b)

转换为整型: int()
转换为浮点型:float()
转换为字符型:str()

5. 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

尝试使用位运算解决此题
异或满足交换律。

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        r = 0
        for i in nums:
            r ^= i       #r = r ^ i
        return r

你可能感兴趣的:(Datawhale)