python语言数据类型与运算符课后作业_【python 基本知识】Task01:变量、运算符、数据类型及位运算(2天)...

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

单行注释 “#“

e5b1f43729c1f6eac1e6b014cc222b98.png

多行注释 “ 三个单引号或三个双引号“

abb331ee1a46c66af8b941b8811643f2.png

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

运算符

. 算数运算符:加减乘除,整除(除并向下取整: //),取模(%),幂(**),

2. 赋值运算符:=, +=,-=,*=,/=

4. 成员运算符:in, not in

5. 位运算符:与,或,异或,移位

6. 三元运算符: 不是很懂

7. 逻辑运算符:and, or, not

8. 比较运算符:!= 不等于,==等于,其余同算数运算符

优先级

大概原则就是先把自身的运算做完,再去和其他的对象进行运算

2**3 - 1 ,肯定先取幂得到8,再去和1进行运算

f0c843ab3c1a046f458e0d9c5e43cfc0.png

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

is, is not 对比的是两个变量的内存地址

= = != 对比的是两个变量的值

比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。

对比的两个变量,指向的是地址可变的类型(list,dict等),则两者是有区别的。

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

基本类型

整型 int

浮点型 float

布尔型 bool

容器类型

字符串 str

元组 tuple

列表 list

集合 set

字典 dic

了解数据类型

print(type())

isinsistance()

11372f2d1504ec3181de613ef44677cd.png

转换类型

0d51d6c287dc21f7c4b97c1e45c8a99a.png

其他

Python 里面万物皆对象(object),整型也不例外,只要是对象,就有相应的属性 (attributes) 和方法(methods)

用dir()了解

位运算

原码,反码,补码

在计算机中使用补码,对于正数补码就是原码(即十进制化为二进制后的代码);负数则为反码加1(反码是把原码的1换成1,1换成0,包括最高位代表正负号的1)

位运算符

与:串联,同是1才是1,否则是0

或:并联,一个是1即是1,都是0才是0

或与:相同则为假为0;不同则为真为1(符合交换律和结合律,相同的两个数或与则为0)

反:0变1,1变0(注:显示的是补码,011–>3, (反码100),101–> -3

左移:n<

右移:n>>m, n/(2)^m

31f17479a9d64397065059a6b73c05f9.png

快速计算

通过异或交换两个整数

a^=b, # a = a 异或b

b^=a, # b = b 异或 a异或b,通过交换律即为a

a^=b, # a = a异或b异或a,通过交换律为b

通过 a & (-a) 快速获取a的最后1位置的整数

注:计算机中显示的是补码,负数的补码是反码+1

205005d387600d1886335c99faed57f8.png

fd9aa37e33401d83bc5e4b6151592f34.png

901994bdbb7417a358eb59345904ead4.png

遗留的问题,待理解

38d17070e35ee399d897568359713b73.png

位运算课后作业

练习题:

leetcode 习题 136. 只出现一次的数字

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

尝试使用位运算解决此题。

题目说明:

“”"

Input file

example1: [2,2,1]

example2: [4,1,2,1,2]

Output file

result1: 1

result2: 4

“”"

class Solution:

def singleNumber(self, nums: List[int]) -> int:

# your code here

解题思路

或与:相同的元素返回0

结合:for 循环

代码实现:待后续学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值