文章目录

  • 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}