#基础知识
print(bin(1)) #bin()返回数据的二进制类型,“0b”表示二进制的开头提示
x,y=1,2
small = x if x < y else y #表示若x>y,则small取x,否则取y
set_1 = {"欢迎", "学习","Python"};print(set_1.pop()) #pop()函数表示随机移除列表中的一个元素,一般默认是最后一个
#X 只要不是空的变量,bool(X) 就是 True,其余就是 False 对于数值变量,0, 0.0 都可认为是空的。
#如果要判断两个类型是否相同推荐使用 isinstance()
print(isinstance(5.2, float)) # True
print(item, end='&') #若不设置end,则默认分割方式是换行,即/n
print('string', 'another string', sep='&') #表示0
range([start,] stop[, step=1])
#is,is not 对比的是两个变量的内存地址 ==,!= 对比的是两个变量的值
a= "hello";b ="hello"
print(a is b, a == b) # True True
a = ["hello"];b = ["hello"]
print(a is b, a == b) # False True
'''
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的
'''
set_1 = ["欢迎", "学习","Python"]
print(set_1.pop(0)) #按照序列删除
print(set_1.remove('学习')) #按照值删除
'''decimal包
作用:保留浮点型的小数点后 n 位
decimal.getcontext() 显示Decimal对象的情况
decimal.getcontext().prec =n 可以将对象的精度改为n,默认精度值是28
c = Decimal(x) / Decimal(y) 进行decimal运算
'''
#结果转化为string
e = str(Decimal('3.40').quantize(Decimal('0.0'))) #将3.40转化为0.0形式的字符串类型
import decimal
from decimal import Decimal
decimal.getcontext().prec = 4
a=100
a = Decimal(5.7878)
print(a)
#二进制运算
#与 或 非 异或:& | ~ ^
#按位右移操作 >>:num >> i 将num的二进制表示向右移动i位所得的值。
#通过位运算,实现快速运算
a ^= b #通过 ^ 快速交换两个整数。
a | (1< a & ~(1< a & (1<
# assert关键词
#我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) > 0
# AssertionError
#enumerate()函数
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1)) # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
#一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。
try:
检测范围
except (OSError, TypeError, ValueError) as error:
try:
检测范围
except:
出现异常后的处理代码
else:
如果没有异常执行这块代码
#Python 使用raise语句抛出一个指定的异常。
try:
raise NameError('HiThere')
except NameError:
print('An exception flew by!')
#就是说:即使检测范围没有问题,系统指定他出现了“NameError”这样的异常



