Python中数据类型分为可变类型和不可变类型。在Python中,数值(整型,浮点型),布尔型,字符串,元组属于值类型,本身不允许被修改(不可变类型),数值的修改实际上是让变量指向了一个新的对象(新创建的对象),所以不会发生共享内存问题。在Python中,列表,集合,字典是引用类型,本身允许修改(可变类型)。
Python中的数据类型
- number:int/float/complex
- 字符串:str
- 布尔类型:True/False
- 空值:None
- 列表:list
- 元组:tuple
- 字典:dict
- 集合:set
- 字节:bytes(b'home')
运算符
- 算数运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
- 位运算符
- 按位与& 按位或| 按位异或^ 按位取反~ 按位左移<< 按位右移>>
- ASCII码
if语句
- if单分支结构
- if双分支结构
- if多分支结构
- if 表达式:
- elif 表达式:
- elif ...
- else:
- 通过组合表达式简化用if判断赋值的双分支结构
- condition and expr1 or expr2
- # 示例
- if i == 1:
- else:
- # 简化
- a = i == 1 and '2' or '3'
- print(int(a))
占位符
# %s字符串 %d整数 %f浮点数
name = '古天乐'
age = 50
s = '你好, 我是%s, 我%d岁' %(name, age)
t = '我%.2f岁' %age #保留两位小数
# format
s = '你好,{},年龄{},在贪玩蓝月中等你来砍'.format(name, age)
s = '你好,{n},年龄{a},在贪玩蓝月中等你来砍'.format(n=name, a=age)
# f-string
# f-string: Python 3.6及以上
s = f'你好,{name},年龄{age},在贪玩蓝月中等你来砍'
# 示例:打印时间
hour = 1
mint = 1
sec = 1
print('%d:%d:%d'%(hour, mint, sec))
print('{}:{}:{}'.format(hour, mint, sec))
print(f'{hour}:{mint}:{sec}')
逻辑运算符的短路操作
- and
- 1.从左往右依次判断表达式的值是否为True,如果为True,则继续判断后面的表达式2.如果为False则直接返回该表达式的值,且后面不会再判断3.如果判断到最后一个,则不管真假,则直接返回最后的数
- or
- 从左往右依次判断表达式的值是否为True,1.如果是False,则继续判断后面的表达式2.如果为True则直接返回该表达式的值,且后面不会再判断3.如果判断到最后一个,则不管真假,则直接返回最后的数
原码反码补码
- 符号位正数位为0,负数为1,底层的二进制编码为8位
- 正数的原反补是一致的
- 负数的反码等于原码符号位不变其余按位取反,负数的补码是在反码的基础上+1
- 按位计算时,先转换成补码,运算完成后再将补码还原为原码