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'

posted on 2016-07-01 13:57  lostkite  阅读(212)  评论(0)    收藏  举报