文章目录
- 2. Python基础
- 2.1 数据类型和变量
- 转义字符
- 除法
- 2.2 字符串和编码
- 字符转编码(Unicode)
- 编码转字符
- 整数编码
- bytes类型数据表示
- str转bytes
- bytes转str
- 忽略错误字节
- 计算str包含多少个字符
- 包含中文的*.py文件开头注释
- 格式化
- 占位符
- 补零和位数
- format
- 2.3 list和tuple
- 2.3.1 list
- 获取list中元素的个数
- 访问list中某个元素
- list末尾追加元素
- 插入到指定的位置,比如索引号为1的位置:
- 删除list某元素
- 替换list某元素
- 一个list可有不同类型元素
- list可多维可空
- 2.3.2 tuple
- 与list相比,[]改成()
- 不可修改
- 1个元素时
- 可嵌套list
- 2.4 条件判断
- 2.5 循环
- 2.5.1 for循环
- 2.5.2 while循环
- 2.5.3 break结束循环
- 2.5.4 跳过此次循环
- 2.6 dict 字典
- 2.7 set
2. Python基础
2.1 数据类型和变量
转义字符
符号 | 内容 |
’ | ’ |
" | " |
\n | 换行 |
\t | 制表 |
\ | \ |
r’’ | ''内不转义 |
print(’’’…’’’) | 换行 |
%% | % |
除法
符号 | 含义 |
a/b | 精确除 |
a//b | 取整 |
a%b | 取余 |
2.2 字符串和编码
字符转编码(Unicode)
ord('A')
编码转字符
chr('65')
整数编码
'\u4e2d\u6587'
等价于
'中文'
bytes类型数据表示
x = b'ABC'
str转bytes
'ABC'.encode('ascii')
'中文'.encode('utf-8')
bytes转str
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
忽略错误字节
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'
计算str包含多少个字符
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
包含中文的*.py文件开头注释
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
格式化
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
占位符
占位符 | 替换内容 |
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制数 |
补零和位数
print('%2d-%05d' % (3, 1))
print('%.2f' % 3.1415926)
结果:
3-00001
3.14
format
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
2.3 list和tuple
2.3.1 list
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
获取list中元素的个数
>>> len(classmates)
3
访问list中某个元素
>>> classmates[0]
'Michael'
或者
>>> classmates[-1]
'Tracy'
list末尾追加元素
classmates.append('Adam')
插入到指定的位置,比如索引号为1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
删除list某元素
classmates.pop(1) //删除指定
classmates.pop() //删除末尾
替换list某元素
直接赋值
一个list可有不同类型元素
list可多维可空
2.3.2 tuple
与list相比,[]改成()
不可修改
1个元素时
>>> t = (1,)
>>> t
(1,)
可嵌套list
2.4 条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
2.5 循环
2.5.1 for循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
效果:
Michael
Bob
Tracy
求和:
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
range函数求和:
sum = 0
for x in range(101):
sum = sum + x
print(sum)
2.5.2 while循环
计算100以内所有奇数之和:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
2.5.3 break结束循环
提前退出循环:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
2.5.4 跳过此次循环
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
2.6 dict 字典
成绩字典:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
赋值:
>>> d['Adam'] = 67
使用in判断key是否存在:
>>> 'Thomas' in d
使用get判断key是否存在:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
删除key和对应值:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
2.7 set
创建:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
添加:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
删除:
>>> s.remove(4)
>>> s
{1, 2, 3}