python学习 1基础

  • 对象的等于只是对于值而言
  • 函数定义没有变量提升

常用对象

  • list []: 列表, 排序省空间
  • tuple (): 元组,一旦初始化不可修改
  • dict {}: 字典,方便查询
  • set {} :集合, 值是唯一的,无序的

list: 相加等于拼接

  • 增加: list.append(i), list.insert(n,i): 超出加到最后
  • 删除: list.pop(n): 超出报错
  • 修改: 直接序列修改: 超出报错
  • 查询: 序列查询: 超出报错
  • 长度: len(list)

dict

  • 增加: 按键值对增加
  • 删除: dict.pop(i): 按键删除, 超出报错
  • 修改: 按键值对修改
  • 查询: 按键查询: , 超出报错, dict.get(i, x): 超过返回none或自设值
  • 长度: len(dict)

set

  • 增加: set.add(i): 重复增加无效
  • 删除: set.remove(i): 超出报错
  • 长度: len(set)

tuple: 注意只有一个值的定义 example = (i, )

  • 查询: 序列查询: 超出报错
  • 长度: len(tuple)

查询对象

  • list, tuple, setfor/in用法都是相同的
  • 注意匹配
input = [('mary', 27), ('joe', 30), ('ruth', 43), ('bob', 17), ('jenny', 22)]

for name, age in input:
  print(name, age)
  • 对于dict: 注意字典是无序的
input = {'mary': 27, 'joe': 30, 'ruth': 43, 'bob': 17, 'jenny': 22}

for name in input:
  print(name, input[name])
  • 可以用if i in object来判断值是否存在
  • list, tuple可以直接通过序列查询: 配合 for/in , range(stop)/range(start, stop[, step]), len()可以实现局部查询
  • dict没有点查询

默认包的安装地方

/usr/local/lib/python5.3/site-packages

一些全局对象

  • 例子

  • __file__: 自身调用: 带后缀文件名; 被调用: 文件相对/绝对路径

  • __name__: 自身调用: __main__; 被调用: 不带后缀文件名

  • __import__函数

获取对象

  • 获取当前对象: locals()
  • 获取全局对象: globals()

函数定义时的参数定义

  • 位置参数/必选参数
  • 默认参数
  • 可变参数: *args / tuple
  • 关键字参数
  • 可变关键字参数: **kw / dict
  • 命名关键字参数: 分隔符*后面的参数

定义类

  • __init__: 创建时自动执行
  • __call__: 这个类型成为可调用
  • __str__: 打印显示结果
  • __iter__: 用于for/in循环
  • __getitem__
  • __getattr__

元类: 用来创建类的类, 为了当创建类时能够自动地改变类

  • type就是Python的内建元类
posted @ 2016-03-08 15:08  JinksPeng  阅读(198)  评论(0编辑  收藏  举报