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

1. 怎样对python中的代码进行注释?
单行注释 # …
多行注释
‘’‘…
‘’’
2. python有哪些运算符,这些运算符的优先级是怎样的?
算术运算符、比较运算符、逻辑运算符、位运算符、其他运算符( is , is not , == , !=)
优先级:
1)一元运算符优先于二元运算符
2)顺序:算术运算、移位运算、位运算、逻辑运算

3. python 中 is , is not 与 == , != 的区别是什么?
1) is, is not 对比的是两个变量的内存地址
2)==, != 对比的是两个变量的值

  • 假如比较的两个变量指向的是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
  • 假如对比的两个变量指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

4. python 中包含哪些数据类型?这些数据类型之间如何转换?
基本类型:整型int、浮点型float、布尔型bool
转换:
1)转为整型 int(x, base=10) 其中base表示进制,默认为十进制,base=10或0均表示十进制。
2)转为浮点型 float(x)
3)转为字符串 str(x)
容器类型:字符、列表、元组、字典、集合

5、type() 与 isinstance()区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。
    如果要判断两个类型是否相同推荐使用 isinstance()。
class A:
    pass
  
class B(A):
    pass
  
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

6、leetcode 习题 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。
1)使用异或,异或运算满足:
0 ^ A = A
A ^ A = 0
A ^ B ^ A: = A ^ A ^ B = B 交换率

#从给定集合中找出只出现一次的元素
from typing import List
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        single=0
        for num in nums:
            single^=num
        return single

#b=Solution.singleNumber([2,2,1])#错误
b=Solution()#先定义对象
result=b.singleNumber([2,2,1])#再调用函数

2)不适用位运算的方法:

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        single = set()
        
        for num in nums:
            if num in single:
                single.remove(num)
            else:
                single.add(num)
        for num in single:
            return num
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值