变量、运算符、数据类型和位运算
01变量、运算符与数据类型
笔记
对于and
,如果结果为真,返回的是最后一个真值,如果结果为假,则返回的是第一个假值。
print ( 9 and 6 ) % 6
print ( 0 and False ) % 0
对于or
,如果结果为假,返回的是最后一个假值,如果结果为真,则返回的是第一个真值。
print ( 0 or False ) % False
print ( 1 or 3 ) % 1
三元运算符的例子: 语法:x if 条件 else y
x, y = 4 , 5
small = x if x < y else y
print ( small)
字符串类型
单引号,双引号,三引号都可以用来表示,注意引号两边要对称 字符串运算只有加法和乘法两种
print
使用格式
print ( * objects, sep= ' ' , end= '\n' , file= sys. stdout , flush= False)
将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()
方式进行转换为字符串输出; 关键字参数sep
是实现分隔符,比如多个参数输出时想要输出中间的分隔字符; 关键字参数end
是输出结束时的字符,默认是换行符\n
; 关键字参数file
是定义流输出的文件,可以是标准的系统输出sys.stdout
,也可以重定义为别的文件; 关键字参数flush
是立即把内容输出到流文件,不作缓存。
02位运算
笔记
基础知识
计算机以补码存储数据 最高位是符号位,0为正,1为负 0b表示二进制,0x表示16进制 原码:将一个整数,转换成二进制,就是其原码。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,其余 -位取反。 补码:正数的补码就是其原码;负数的反码+1就是补码。 (^)按位异或操作满足交换律和结合律 移位操作即针对末尾填0(左移)或消除(右移)的操作
利用位运算实现快速计算和利用位运算实现整数集合
相关详情见该链接
练习
怎样对python中的代码进行注释? #
对单行进行注释 ''' '''
或者""" """
对区间进行注释,三引号内的所有内容都是注释 python有哪些运算符,这些运算符的优先级是怎样的? 运算符有:算术运算符、比较运算符、逻辑运算符、位运算符、三元运算符、其他运算符 优先级:一元运算符优于二元运算符;先算术运算,后移位运算,最后位运算;逻辑运算最后结合。 python 中is
, is not
与 ==
, !=
的区别是什么? is
, is not
对比的是两个变量的内存地址 ==
, !=
对比的是两个变量的值 python 中包含哪些数据类型?这些数据类型之间如何转换? 整型 int
浮点型 float
布尔型 bool
转换为整型 int(x, base=10)
转换为字符串 str(object='')
转换为浮点型 float(x)
leetcode 习题 136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。 代码如下:
def singleNumber ( nums) :
j = 0
for i in nums:
j = j ^ i
return j
nums= [ 4 , 1 , 2 , 1 , 2 ]
print ( singleNumber( nums) )