一、python的数据类型
- 整型
- 浮点数
- 字符串
- 布尔值(True、False)
- 空值None
二、变量
- 命名方式
- 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
- 不需要像java那样规定变量类型
//java定义变量int a=1;//python 定义变量a = 1;
三、常量
- Python中通常用全部大写的变量名表示常量
四、字符串
- 字符串编码
- 在计算机内存中,统一使用Unicode编码
- 需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
- 单个字符串和编码的转换
- ord()函数获取字符的整数表示
- chr()函数把编码转换为对应的字符
- 字符串str与字节byte的转换
b'abc'
//可以指定转换时的编码utf-8,或 ascii'ABC'.encode('ascii')
b'ABC'.decode('ascii')
- 如果bytes中包含无法解码的字节,decode()方法会报错:
b'\xe4\xb8\xad\xff'.decode('utf-8')UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
- 如果bytes中只有一小部分无效的字节,可以传入errors=’ignore’忽略错误的字节:
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')'中'
- 计算字符串长度的函数len()
>>> len('ABC')3>>> len('中文'.encode('utf-8'))6//1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节
- 字符串格式化
- 格式化常见的占位符有:
| 占位符 | 替换内容 |
| —- | —- |
| %d | 整数 |
| %f | 浮点数 |
| %s | 字符串 |
| %x | 十六进制整数 |
>>> 'growth rate: %d %%' % 7'growth rate: 7 %'
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)'Hello, 小明, 成绩提升了 17.1%'//使用字符串的format()方法,//它会用传入的参数依次替换字符串内的占位符{0}、{1}..
五、列表list
- list :Python内置的一种数据类型是列表:list。list是一种有序的集合
#定义一个list变量PrograminganguageLs=['java','python','c语言']
- 操作列表list
#注意:list索引是从0开始#使用len()函数,获取list中的个数print(len(PrograminganguageLs))#获取list中的单个值print(PrograminganguageLs[0])#使用函数append()添加值到列表末尾PrograminganguageLs.append('javascript')#元素插入到指定的位置,使用函数insert()PrograminganguageLs.insert(2,'c++')#要删除list末尾的元素,用pop()方法;会返回删除的元素a=PrograminganguageLs.pop()#要删除指定位置的元素,用pop(i)方法,其中i是索引位置:a1=PrograminganguageLs.pop(2)#要把某个元素替换成别的元素PrograminganguageLs[1]='Hello'
- 列表中的元素类型可以不同
#可以是任意类型L = ['Apple', 123, True]L2 = ['Apple', 123, True,[1,2,3]]
六、元组tuple
- 元组tuple: 一旦初始化就不能修改
#定义元组classmates = ('Michael', 'Bob', 'Tracy')#元组的操作与list一样
七、条件判断
- 形式
if <条件判断1>: <执行1>elif <条件判断2>: <执行2>elif <条件判断3>: <执行3>else: <执行4>
- 判断条件简写
if x: print('True')#只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
八、循环
- 循环打印列表
# fornames = ['Michael', 'Bob', 'Tracy']for name in names: print(name)# while循环while len(names) > 0: print(names.pop());
- 跳出循环
- break: 在循环中,break语句可以提前退出循环
- continue: 跳过当前的这次循环,直接开始下一次循环。
九、字典Dict
- 定义:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
#定义一个字典personInfo={'name':'李四','age':20,"height":172}
- 字典操作
# 获取字典中的某个key对应的值 #1. 直接使用key获取 print(personInfo['name']) #2. 使用内置函数get() print(personInfo.get('name')) #3. 使用内置函数get(), 如果key不存在,可以返回None,或者自己指定的value: print(personInfo.get('12',12))# 更换某个key对应的值personInfo['age'] = 25# 添加新的key-value;personInfo['weight'] = 55print(personInfo)#删除字典中的keypersonInfo.pop('name')
- dict的特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
十、set集合(不存重复的元素)
- 创建set
num = set([1, 2, 3, 4])
- 操作set
#添加元素num.add(9)#通过remove(key)方法可以删除元素:num.remove(2)