一、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。
八、循环
- 循环打印列表
# for
names = ['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'] = 55
print(personInfo)
#删除字典中的key
personInfo.pop('name')
- dict的特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
十、set集合(不存重复的元素)
- 创建set
num = set([1, 2, 3, 4])
- 操作set
#添加元素
num.add(9)
#通过remove(key)方法可以删除元素:
num.remove(2)