• Day1--Python训练营


          2020年,不同寻常的一年,无论是全球疫情的大环境,还是就自身而言,都面临着巨大的挑战,在年底有幸加入了Python训练营,希望自己能加持到最后,为2020画上圆满的句号。

           第一天的主要内容是变量、 运算符与数据类型及位运算。对于变量,运算符及数据类型,之前自学的Python课程中都有涉及,而针对于位运算,是第一次较为系统细致的学习。

          在Python中,#表示注释,作用于整行;而''' ''' 或者 """ """ 表示区间注释,在三引号之间的所有内容被注释即多行注释。
          运算符包括算术运算符,加(+)减(-)乘(*)除(/)整除(//)取余(%),幂(**),比较运算符大于(>)大于等于(>=),小于(<),小于等于(<-=),等于(==)和不等于(!=);逻辑运算符与(and)或(or)非(not);位运算法按位取反(~)按位与(&),按位或(|),按位异或(^),左移(<<),右移(>>);其他运算符是(is)不是(not is )存在(in)不存在(not in)。运算符的优先级(1) 一元运算符优于二元运算符。如正负号。(2)先算术运算,后移位运算,最后位运算。(3) 逻辑运算最后结合。在其他运算符中,需要特别注意is, is not 对比的是两个变量的内存地址;而==, != 对比的是两个变量的值即假如比较的两个变量,指向的都是地址不可变的类型( str等),那么 is, is not 和 ==,! = 是完全等价的。但是假如对比的两个变量,指向的是地址可变的类型( list, dict, tuple等),则两者是有区别的。

           Python中数据类型包括整型(int),浮点型(float)和布尔型(bool)他们之间的转换:转换为整型 int(x, base=10),转换为字符串 str(object=''),转换为浮点型 float(x)。

            进制有三种不同的表示形式:原码、反码和补码, 计算机内部使用补码来表示。原码:就是其二进制表示(注意,有一位符号位)。反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。补码:正数的补码就是原码,负数的补码是反码+1。符号位:最高位为符号位, 0表示正数, 1表示负数。在位运算中符号位也参与运算。~ 把 num 的补码中的 0 和 1 全部取反( 0 变为 1, 1 变为 0)有符号整数的符号位在 ~ 运算中同样会取反。按位与操作,只有两个对应位都为 1 时才为 1
    。按位或操作,只要两个对应位中有一个 1 时就为 1。按位异或操作,只有两个对应位不同时才为 1,异或操作的性质:满足交换律和结合律,任何数与自身异或结果为 0,任何数与 0 异或结果为本身。按位左移操作,num << i 将 num 的二进制表示向左移动 i 位所得的值。按位右移操作,num >> i 将 num 的二进制表示向右移动 i 位所得的值。

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

            主要用到异或的性质,实际操作如下:

     1 class Solution:
     2     def singleNumber(self, nums):
     3         n = 0
     4         for i in nums:
     5             n ^= i
     6         print(n)
     7 
     8 s = Solution()
     9 exl1=[2,2,1]
    10 exl2=[4,1,2,1,2]
    11 
    12 s.singleNumber(exl1)
    13 1
    14 s.singleNumber(exl2)
    15 4

           以上为今日学习内容,留作之后参考使用。 

  • 相关阅读:
    一个接口的性能问题定位和分析过程
    HTTP请求全过程(很全面)
    Linux中查看物理CPU个数、核数、逻辑CPU个数
    linux查看文件大小
    ping不通判断系统是否开机
    ping不通判断系统是否开机
    linux压缩解压文件命令
    python连接redis集群,添加数据
    初学python
    企业级BI为什么这么难做?
  • 原文地址:https://www.cnblogs.com/mindy-snail/p/14162099.html
Copyright © 2020-2023  润新知