在python中
:
print函数:
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
example:
item值与’another string’两个值之间用sep设置的参数&分割。由于end参数没有设置,因此默认是输出解释后换行,即end参数的默认值为\n。
shoplist = ['apple', 'mango', 'carrot', 'banana']
print("This is printed with 'sep='&''.")
for item in shoplist:
print(item, 'another string', sep='&')
输出值为:
This is printed with ‘sep=’&’’.
apple&another string
mango&another string
#carrot&another string
banana&another string
1.运算符
项目 | Value |
---|---|
算术运算符 | +,-,*,/,// ,%,** |
比较运算符 | >,≥,<,≤,==,!= |
逻辑运算符 | and,or,not |
位运算符 | ~,&,|,«,»,^ |
三元运算符 | x if x |
其他运算符 | in(存在),not in(不存在),is(是),is not(不是) |
注意
:
运算符的优先级
:
整型(int), 浮点型(float),布尔型(bool)
dir(X) #通过 dir( X ) 和help( X ) 可看出 X 对应的对象里可用的属性和方法。
获取数据类型的信息
type(object) #获取类型信息
isinstance(object, classinfo) #判断一个对象是否是一个已知的类型。
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()
1.整型(int)and 浮点型(float)
有时候我们想保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。
import decimal
from decimal import Demical
Python 里面有很多用途广泛的包 (package),用什么你就引进 (import) 什么。包也是对象,也可以用上面提到的dir(decimal) 来看其属性和方法。比如 getcontext() 显示了 Decimal 对象的默认精度值是 28 位 (prec=28)。
如果想要保留四位小数,可以使用 getcontext().prec 来调整精度:
decimal.getcontext().prec = 4
2.布尔型(boolen)
布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False。
除了直接给变量赋值 True 和 False,还可以用 bool(X) 来创建变量,其中 X 可以是
基本类型:整型、浮点型、布尔型
容器类型:字符串、元组、列表、字典和集合
bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,其余就是 False。
bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。
确定bool(X) 的值是 True 还是 False,就看 X 是不是空,空的话就是 False,不空的话就是 True。对于数值变量,0, 0.0 都可认为是空的。对于容器变量,里面没元素就是空的。
3.数据类型的转换
1.原码、反码和补码
二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。
位运算中的异或操作:满足交换律和结合律
2.通过位运算快速计算
n << 1 -> 计算 n * 2
n >> 1 -> 计算 n / 2,负奇数的运算不可用
n << m -> 计算 n * (2 ^ m),即乘以 2 的 m 次方
n >> m -> 计算 n / (2 ^ m),即除以 2 的 m 次方
1 << n -> 2 ^ n
a ^= b
b ^= a
a ^= b
00 00 01 01 -> 5
&
11 11 10 11 -> -5
00 00 00 01 -> 1
00 00 11 10 -> 14
&
11 11 00 10 -> -14
00 00 00 10 -> 2
3.利用位运算实现整数集合
一个数的二进制表示可以看作是一个集合(0 表示不在集合中,1 表示在集合中)。
比如集合 {1, 3, 4, 8},可以表示成 01 00 01 10 10 而对应的位运算也就可以看作是对集合进行的操作。
a | (1< 把 i 插入到集合中
a & ~(1< 把 i 从集合中删除
a & (1< 判断 i 是否属于该集合(零不属于,非零属于)
a 补 -> ~a
a 交 b -> a & b
a 并 b -> a | b
a 差 b -> a & (~b)
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
相关代码如下:
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
a=0
for i in nums:
a^=i
return a
【1】: https://mp.weixin.qq.com/s/DZ589xEbOQ2QLtiq8mP1qQ
【2】: https://github.com/datawhalechina/team-learning