Python基础 - Day 1
Linux下:
#!/usr/bin/env python3
Windows下:
安装完成后添加环境变量关联
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输入和输出
Print()函数:print('The quick brow fox', 'jumps over', 'the lazy dog');
input()函数:name = input('Please input your name:') 返回数据类型为str
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
数据类型
整数:包括负整数,//计算结果是整数 int()可以将数字的字符串转为数字
浮点数:小数,/计算结果是浮点数
字符串:''或""括起来的文本,转义字符\,另外可以用r''来表示内部字符串不转义
布尔值:True和False,可用and &、or |、not !、^等进行运算
空值:None
变量
大小写英文、数字和_的组合,且不能用数字开头
相对于静态语言,定义变量时不需要指定变量类型
常量
习惯性用全部大写的变量名来表示常量
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
字符编码
ASCII (8个字节) -> Unicode (>=16个字节) -> UTF-8 (对Unicode优化,Python 3默认使用,Python 2需要加注释行# -*- coding:utf-8 -*-)
字符串
ord()获取字符的整数表示: ord('中') >>> 20013
chr()把编码转换为对应字符: chr(66) >>> 'B'
整数编码(十六进制): '\u4e2d\u6587' >>> '中文'
用带b前缀的单引号或双引号表示bytes类型数据 x=b'ABC',虽然内容显示和‘ABC’一样,但前者每个字符只占用一个字节
以Unicode表示的str通过encode()方法可以编码为指定的bytes: 'ABC'.encode('ascii') >>> b'ABC'; '中文'.encode('utf-8') >>> b'\xe4\xb8\xad\xe6\x96\x87'
反之,如果读取数据是bytes,要把bytes转换成str,需要用decode()方法: b'ABC'.decode('ascii') >>> 'ABC'
len()计算str包含多少个字符:len('ABC') >>> 3;如果换成bytes:len('中文'.encode('utf-8')) >>> 6
格式化
%s:字符串,%d:整数,%f:浮点数,%x:十六进制
print('Hi %s, your score is %d.' % ('Bart', 59))
'%2d-%02d' % (3,1) >>> ' 3-01';'%.2f' % 3.1415926 >>> '3.14'; 'growth rate: %d %%' % 7 >>> 'growth rate: 7 %'
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
List
列表,是一种有序的集合,可以随时添加和删除其中的元素
classmates = ['Michael','Bob','Tracy']
len(classmates) >>>3;classmates[0] >>> 'Michael';classmates[-1] >>> 'Tracy';classmates.append('Adam');classmates.insert(1,'Jack');classmates.pop();classmates[1] = 'Sarah'
Tuple
元组,有序列表,一旦初始化,不能修改,但如果元组元素为列表或字典等,可以更改列表或字典内容
t = (1,) 只有一个元素
t = ('a', 'b', ['A', 'B']) t[2][0] = 'Y' >>> ('a', 'b', ['X', 'B'])
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
条件判断
if语句
if...else语句
if...elif...else语句
循环
for...in循环 for each in循环 已经知道循环的范围
while循环 对循环范围未知
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dict
字典,其他语言中也称为map,使用键-值(key-value),具有极快的查找速度,但内部存放的顺序和key放入的顺序没有关系
和list比较,dict查找和插入速度极快,不会随着key的增加而变慢,但需要占用大量的内存,内存浪费多,即以空间换时间
dict的key必须为不可变对象,通过key计算value存储位置的算法成为Hash算法
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} d['Michael'] >>> 95
通过in判断key是否存在: 'Thomas' in d >>> False
通过dict提供的get方法,key不存在,返回None,或自己制定的值:d.get('Thomas') >>> ;d.get('Thomas', -1) >>> -1
通过pop(key)删除一个key:d.pop('Bob') >>> 75
Set
set和dict类似,也是一组key的集合,但不存储value
重复元素在set中自动被过滤
通过add(key)方法可以添加元素到set中
通过remove(key)方法可以删除元素
可以看做数学意义上的无序和无重复元素的集合
s = set([1,2,3]) s >>> {1,2,3}
可变和不可变对象
可变对象,比如list,对list进行操作,内部内容是会变化的
a = ['c', 'b', 'a'] a.sort() a >>> ['a', 'b', 'c']
不可变对象,操作过后内部内容不会变化
a = 'abc' a.replace('a', 'A') >>> 'Abc' a >>> 'abc'
浙公网安备 33010602011771号