Python过渡
廖雪峰的官方网站——Python教程
看一遍!
tips:
-
tab写为四个空格;冒号代表结构块
-
r’ ’ 默认 ’ ’ 内部字符串不转义(注意re正则)
-
变量本身类型不固定——动态语言
-
/:结果均为浮点数;//:结果均为整型
-
ASC、Unicode、utf-8区别:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431664106267f12e9bef7ee14cf6a8776a479bdec9b9000
-
单个字符: ord():获取字符的整数表示;chr():编码转换为对应字符
-
important:
- 字符串网络传输/下载:str需转换为bytes;.encode()
(中文utf-8,纯英文ASCII) - 从网络上读取到字节流:bytes;.decode()
.decode(‘utf-8’, errors=‘ignore’) 可用于忽略小部分错误无效字节 - len() 计算str字符数、bytes字节数、list元素个数
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
源代码中含中文时写在开头,使Python按utf-8编码- ‘%s’ % ( )
- 字符串网络传输/下载:str需转换为bytes;.encode()
-
list
- 最后一个元素的索引是len( ) - 1或 -1
倒数第一 - append() 追加末尾;insert(位置,元素) 中间插入;pop() 删除末尾;pop(位置) 删除指定;替换可重赋值
- list也可作为元素;list中数据类型不要求统一
tuple
- 初始化后不可修改
- 只有1个元素的tuple定义时必须加一个逗号
t=(1,)
来消除歧义
- 最后一个元素的索引是len( ) - 1或 -1
-
if、elif、else ,后加“:”,从上往下判断
-
input得str类型,可强制转换
-
循环
- for x in … 循环就是把每个元素代入变量x,然后执行缩进块的语句for x in … 循环就是把每个元素代入变量x,然后执行缩进块的语句
- range(101)对应0—100整数
Ctrl+c强退其余和c差不多?
-
dict
- key-value储存,一个key对应一个value
- 通过in判断key是否存在。
eg.'Thomas' in d
,返回false/true - 使用d.get(key),不存在则返回None 交互环境不显示 ,或返回指定value。
eg.d.get('Thomas', -1)
返回-1 - key不可变(list不可作为key)
- 用空间换取时间
set
- 创建时需提供list作为输入集合
eg.s = set([1, 2, 3])
- 不含value,自动过滤重复元素,add() 添加,remove() 移除
- 视为集合,可作交集 & 、并集 | 运算。
- 元素不可变
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变
-
可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”
-
函数到return执行完毕,将结果返回。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
-
pass 占位符