python—基础
数据类型
- 整数 浮点数
字符串
- 字符串以单引号 ‘ 或 “ 包括.
- 转义字符 \ 依然有效. r’’表示此字符串默认不转移.
- /n有效, 可用 开头 … 替换
布尔
- 只有True 和 Flase
- and or not 3种常用操作
常量
- 通常都为大写表示.
- 除法有两种 / 或 //
/ 结果可能为浮点, // 结果为整数(地板除)
其他
- None 空值,不为0.谨记
- 动态语言,so,变量的类型无所谓.
- 浮点数精度无限,但超过限制直接表示为
inf
字符编码
- 简而言之 文件使用utf-8就对了.
- utf-8 属于万国码的简化,低位与 ASCII 兼容.
python字符串编码
py3中默认是 Unicode 万国码.
ord()获取字符的整数表示,chr()把编码转换为字符.
Python对bytes类型的数据用带b前缀的单引号或双引号表示
x = b'ABC'
以Unicode表示的str通过encode()方法可以编码为指定的bytes
1
2
3
4'ABC'.encode('ascii')
b'ABC'
'中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'对应的decode()方法
1
2
3
4b'ABC'.decode('ascii')
'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'可以传入errors=’ignore’忽略错误的字节
1
b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
len(),str计算字符.bytes计算字节
开头,第一行,可执行文件(windows会忽视注释)
第二行,以utf-8处理文件.1
2#!/usr/bin/env python3
# -*- coding: utf-8 -*-
字符串格式化
占位符与c基本相同 %d %s %x %f
1
2print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)需要 % 时, %%
format()
1
2'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
list tuple
list 列表
示例,
= [ , , ]
可变 有序1
classmates = ['Michael', 'Bob', 'Tracy']
索引以 0 开始,可以倒序
-n
当然越界都是IndexError
错误.len(),list元素个数.
.append(x) 末尾添加
.insert(i,x) 对应索引处插入
.pop(i) 删除i对应元素,为空则删除末尾元素.
替换i位置,直接赋值.
list的元素可以为一个list.多重数组.
tuple 元组
示例
= ( , , )
不可变 有序 更安全,其他与list相同1
t = (1, 2)
t = (1,)
声明一个元素元组,比较特殊.
条件判断
示例
1
2
3
4
5
6if true :
print("1")
elif true :
print("2")
else :
print("3")if 条件可简写,
if x
x非零数值、非空字符串、非空list 则为true提及用户输入 input()
input默认返回字符串,如需要其他类型 int()转换.
循环
示例 与c相同
1
2for x in names:
print(x)示例 与c相同
1
2while n > 0:
print(n)break 跳出此层循环
continue 跳出本轮循环
dict 和 set
dict
字典,使用键值对储存数据,索引极快,空间换时间.
对应其他语言的 map
示例: {‘’: ,’’: ,…}
1
2
3d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
95key
必须为不可变对象,整数、字符串等
一个key对应一个value
key不存在
in判断
1
2'Thomas' in d
Falseget()获取
1
2d.get('Thomas') # 返回空
d.get('Thomas', -1) # 不存在? 返回-1: ;
pop()删除
1
d.pop('Bob')
set
key的集合,但不存在value
无序、不重复、元素为不可变对象.
set可以看作是一个无序和无重复元素的集合.
创建set需要一个list
示例 set([ , , …])
1
2
3set([1, 2, 3]) s =
s
{1, 2, 3}.add(key)
/.remove(key)
不同的set之间可以交集(&)取并集(|).