视觉学习 Task01

Task 01

思考题:

  1. Python之父是Guido Van Rossum(吉多范罗苏姆),在1989年阿姆斯特丹的圣诞节时,Guido为了打发圣诞节的无趣于是决定开发一个新的脚本解释程序,作为ABC语言的一种继承。

  2. Python是脚本语言,执行方式为解释执行,而C++执行方式为编译执行。C++语言较为接触底层,直接操作内存,方便计算机更高效的运行,但Python的优势是编写更加简单,程序更好写,在开发效率上远高于C++,在实现许多功能时有Python是很方便的,C++还这些领域还不够香。

  3. ▪ python3 引入了 asyncio 来进行异步IO编成
    ▪ print 在python2 是关键字,python3 是函数
    ▪ 编码问题,python3 不再有unicode对象, str 即为unicode
    ▪ 除法的变化。python 3 除法返回浮点数 5/2 = 2.5
    ▪ 类型注解(type hint)
    ▪ 优化的super() ,直接调用父类的方法
    ▪ 高级的解包操作, 如 a, b, *c= range(10)
    ▪ 限定关键字参数, 参数特别多的时候指定参数以防搞混
    ▪ python3 重新跑出异常不会丢失栈信息
    ▪ 一切返回迭代器
    ▪ 新增yield from 链接生成器
    ▪ 新增内置库enum,mock, asyncio, ipaddress, concurrent, futures等
    ▪ 生成的pyc文件统一放到pycache
    ▪ 一些内置库修改。urllib,selector等
    ▪ 性能优化
    ▪ six模块
    ▪ 2to3等工具转换代码
    ▪ future

练习题

  1. 做单行注释时,使用#表示注释,作用于整行;做多行注释时,使用‘‘‘ ’’’或“““ ”””表示区间注释,在三引号之间所有内容都被注释。

  2. 运算符:
    ▪ 算数运算符:#+(加)-(减)*(乘)/(除)//(整除)%(取余)**(幂)
    ▪ 比较运算符:#>(大于)>=(大于等于)<(小于)<=(小于等于)==(等于)!=(不等于)
    ▪ 逻辑运算符:#and(与)or(或)not(非)
    ▪ 位运算符:#~(按位取反)&(按位与)(按位或)^(按位异或)<<(左移)>>(右移)
    ▪ 三元运算符: samll = x if x
    ▪ 其他运算符:#in(存在)not in(不存在)is(是)is not(不是)
    运算符的优先级:
    ▪ 一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)
    ▪ 先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7
    ▪ 逻辑运算最后结合。例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)

  3. is和is not对比的是两个变量的地址,而==和!=对比的是两个变量的值,当比较的两个变量指向的都是地址不可变的类型(str等),两者完全等价;若对比的两个变量指向的都是地址可变的类型(list、dict等)、则两者区别对待。

  4. Python中包含int(整形)float(浮点型)bool(布尔型);
    转换为整形 eg : int(x, base=10)
    转换为字符型 eg : str(object=' ')
    转换为浮点型: eg : float(x)

leetcode 练习题

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        #初始化
        judge = 1
        n = x = 0
        while judge==0 :
            #复制一个数组让原数组数据保存
            list = List
            #提取数组元素
            x = List[n]
            #删除模板中的对应元素
            list & ~(1<<x)
            #判断在数组中还有没有该数,若有继续循环否则跳出
            judge = (list & (1<<x))
        print("the single number is %d" % (x))

你可能感兴趣的:(视觉学习 Task01)