Chapter 10

Python语言基础

用Python很多年,可感觉学的比较碎片,整理下之前的笔记。 学而时习之。

Python语言基础

基础

  • String, List, Dictionary
  • Loops and Condition
  • File I/O
  • Functions
  • Classes

语法

  • 那些可以改变对象值的可变对象方法是没有返回值的

约定和语法

  • 4空格对其
  • 一行一个语句,没有;
  • 使用\分割长语句,(和,除外
  • 大小写敏感
  • 只有类名是TitleCased,通常全小写
  • 常量全大写

数据类型

元组

单元素元组应在末尾添加’,‘否则会被作为分组操作符

Lists

是可变的,而strings不是

  • += INPLACE_ADD
  • str.iadd 会复制,但是list.iadd 会改变

deque 双端队列

  • List更适合固定大小;
  • deque支持性能更好的append/pop, 可设定最大队列.

分支控制

# if-else 单值的简洁写法
# value_when_true if condition else value_when_false

'Yes' if fruit == 'Apple' else 'No'

常用内置函数

信息、帮助类

  • dir()
  • help()
  • type()
  • getattr(object, name[, default])

操作类

  • int(), str()
  • range()
  • input()/对于py2的raw_input()
  • zip([iterable, …]) : returns a list of tuples
  • map(function, iterable, …): 在每个元素应用函数并返回结果列表
  • sorted(student_tuples, key=itemgetter(2), reverse=True)
from operator import itemgetter, attrgetter

itemgetter = object[item]
attrgetter = object.attr
import sys
# 检查当前版本信息
sys.version_info