开始系统学习python
本节主要回顾python的基本语法
基本语法
标识符
标识符由字母数字下划线组成,开头不能是数字,区分大小写
- 单下划线开头
_foo
的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import
而导入。 - 以双下划线开头的
__foo
代表类的私有成员 - 以双下划线开头和结尾的
__foo__
代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
书写语法
多行语句
多行注释
Python 可以同一行显示多条语句,方法是用分号 ; 分开
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,。
1
2#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
Number类型
1 | int(x [,base ]) 将x转换为一个整数 |
Python math 模块提供了许多对浮点数的数学运算函数。
Python cmath 模块包含了一些用于复数运算的函数。
字符串和编码
ASCII编码是1个字节,而Unicode编码通常是2个字节。
把Unicode编码转化为“可变长编码”的UTF-8
编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
对于单个字符的编码,Python提供了ord()
函数获取字符的整数表示,chr()
函数把编码转换为对应的字符:
Python的字符串类型是str
,在内存中以Unicode表示,传输时需要转换成bytes
对bytes
类型的数据用带b
前缀的单引号或双引号表示
字符串开头的含义
- b
- r 非转义原生字符
- u unicode编码字符,python3默认字符串编码方式。
使用encode
和decode
进行编解码
List和tuple
list
- 有序集合
tuple
初始化后无法修改的有序列表
在定义的时候,tuple的元素就必须被确定下来
只有1个元素的tuple定义时必须加一个逗号
,
,来消除歧义
dict和set
dict
又称map,使用键-值(key-value)存储,具有极快的查找速度
判断key不存在
- 通过
in
判断key是否存在 - 通过dict提供的
get()
方法,如果key不存在,可以返回None
,或者自己指定的value
- 通过
dict是用空间来换取时间的一种方法。
hasn算法决定key不可变
set
- 不重复的key的集合
注意不可变对象,例如str