您的位置:首页 > 编程语言 > Python开发

python基础知识

2015-07-30 16:36 639 查看
第一章:基础知识

<tr><td><td><tr>repr 以合法的python表达式的形式来表示值

str 将值转换成合理形式的字符串

input 认为你输入的为合法的字符串(输入必须带引号)

raw_input 把所有的输入当做原始数据 (不用带引号)

长字符串 三引号''' '''

原始字符串 以r开头 r"I'm Sunwu"

Unicode字符串 以u开头 u"I'm your God"

第二章:列表和元祖

所有序列都可进行 索引,分片, 加, 乘

1.索引

正数下标从零开始 倒数 下标从-1开始

2.分片

使用索引来分片

name=[1,2,3,4,5] name[1:3] name[1:] name [-3:-1]

第三个表示补偿 name[1:10:2] 表示取 1, 3, 5, 7,9下标所在的字符

3.序列相加

序列相加 结果为两个拼接起来的序列

4.乘

把原来的序列重复n遍

成员资格:

关键字 in

长度,最小值,最大值

内建函数:len, min, max

删除元素 del name[2]

列表方法:

1.append 在列表末尾追加新的对象

2.count 用于统计某个元素在列表中出现的次数

3.extend 可以在列表的末尾一次性追加另一个序列中的多个值

4.index 用于从列表中所以第一个匹配的项

5.insert 用于将对象插入到列表中

6.pop 移除列表中的一个元素 默认是最后一个

7.remove 移除列表中某个值的第一个匹配项

8.reverse 将表中的所有元素反向存放

9.sort 用于对列表进行排序

元祖:

1.tuple 与list函数基本一致 以一个序列作为参数并把它转换为元祖

第三章:字符串

1.基本字符串

2.字符串格式化:

1>. %字符 标记转换说明符开始

2>. 转换标志 - 标志左对齐; + 表示在转换值之前要加上正负号; 空白字符 表示正数之前保留空格;

0表示转换值若位数不够用0填充;

3>. 最小字段宽度 如果是*,那么宽度会从值元祖中读取

4>. 点 后跟精度值 如果转换的是实数,表示小数点后的位数;如果是字符串,表示最大字段宽度;如果

是*,精度从元祖中读取;

5>. 转换类型: d,i 带符号的十进制; o 不带符号的八进制; u不带符号的十进制;x不带符号的十六进制;

e科学计数法表示的浮点数;f十进制浮点数; c单字符;r用repr转换的字符;s 用str转换的字符;

3.字符串方法

1>.find 在一个长字符串中查找子字符串 没有找到返回-1;

2>. join 他是split方法的逆方法,用来在队列中添加元素

3>. lower 返回字符串的小写字母版

4>. replace 返回某字符串的所有匹配项均被替换以后的版本

5>. split join的逆方法 用来将字符串分割成序列

6>. strip 返回去除两侧空格的字符串

7>. translate 和replace方法一样,不同的是只处理单个字符

第四章: 字典

1.创建和使用字典

1>. phonebook={'hello':'1234', 'sunwu':'2345', 'beth':'5432'}

2>. dict 通过其他映射(其他字典或者(键,值)这样的映射)来创建新的字典

2.字典的基本操作

1>. len 返回字典的键值对的数目

2>. del phonebook[hello] 删除键为hello的项

3>. 自动添加(在不使用append方法或其他类似操作的情况下)不能将值关联到列表之外的范围上

4>. 成员资格: k in d 查找的是键 而不是值

3.字典方法

1>. clear 清除字典中的所有项

2>. copy 返回一个具有相同键值对的新字典(这个方法实现的是浅复制:当修改复制后的字典的值时不影响原始字典;

但是在修改了复制后字典中的对象时则会影响原始字典),应该使用深度复制 deepcopy

3>. fromkeys 使用给定的键建立新的字典,每个键默认对应值为None

4>. get 获取字典项 没找到时返回None

5>. has_key 检查字典中是否有给出的键

6>. items 和 iteritems items将所有字典项以列表形式返回; iteritems 返回一个迭代器对象 而不是列表

7>. keys 和 iterkeys keys将字典中的键以列表形式返回,而 iterkeys则返回针对键的迭代器

8>. pop 用来获得对应于给定键的值,然后将这个键值对从字典中移除

9>. popitem 弹出字典中随机的项

10>. setdefault 在某种程度上类似于get 只是在不含有给定键的情况下设定相应的值

11>. update 利用一个字典项更新另外一个字典

12>. values 和 itervalues values以列表的形式返回字典中的值, itervalues返回值得迭代器

第五章:条件,循环和其他语

1.赋值相关

1>. 赋值魔法(和lua有异曲同工之妙) a, b , c = 1,2,3 a, b = b, a

2>. 链式赋值 a = b = 4

3>. 增量赋值 x += 1 x *= 1 x %= 1

2.语句块

缩进

3.条件和条件语句

if else elif

1>. 比较运算符

2>. == 相等运算符

3>. is 同一性运算符 判定的是是否同一个 而不是 是否相等

4.断言 assert

5.循环 for while

for k in d.items

跳出 break;

6. 三人行

1>. pass 不能有空语句块

2>. exec 执行一个字符串

3>. eval 用于字符串求值

第六章:抽象

1.函数

1>. 定义 def func(para) :

2>. 给函数写文档 给.__doc__ 赋值

2.关键字参数和默认值

1>. def func(para="hello"): #为函数设置默认参数

2>. func(para="haha"); #这类使用参数名提供的参数叫做关键字参数

3.收集参数

1>. 用户可以给函数提供任意多个参数,只需在定义时为参数价格*号: def func(*para):

2>. 如果要提供关键字参数 则需要加两个*号: def func(**para):

4.新函数

1>. map(func, seq[seq[...]]) 对序列中的每个元素应用函数

2>. filter(func, sep) 返回其函数为真的元素的列表

3>. sum(seq) 返回seq中所有元素的和

4>. apply(func[.args[.kwargs]])

第七章: 类

1.特性

多态,封装,集成

2.定义:

1>. 关键字 class class CLASS:

2>. 函数参数(第一个为self,表示当前实例)

3>. 私有函数 函数名用 __funcname__ 但并非真正的私有 只是使用时改了名字 _funcname_

3.制定超类(父类)

1>. class Filter: 定义父类

class SPAMFilter(Filter): SPAMFilter是Filter的子类

2>. 查看是否是一个类的子类 issubclass(SPAMFilter, Filter) 返回True

3>. 查看已知类的父类 查看__bases__的值

4>. 也可以定义多个父类 class CALCULATE:

class CAFilter(Filter, CALCULATE):

4.常用函数

1>. callable(object) 确定对象是否可调用

2>. getattr(object, name)确定特性的值,可选择提供默认值

3>. hasattr(object, name)
确定对象是否有给定的特性

4>. isinstance(object, class) 确定对象是否是类的实例

5>. random.choice(seq)
从非空序列中随机选取元素

6>. setattr(object, name, value) 设定对象的给定特性为value

7>. type(object)返回对象的类型

第九章: 魔性方法,属性和迭代器

1.类的构造函数

__init__属性 当一个对象被创建以后,会立即调用这个方法;

2.成员访问

1>. __len__(self):返回集合中所含项目的数量

2>. __getitem__(self, key):返回与所给键对应的值

3>. __setitem__(self, key, value):按一定的方式存储和key相关的value

4>. __delitem__(self, key): 这个方法在对一部分对象使用del语句时被调用

3.属性

1>. property函数 size=Property(getSize, setSize) 该函数创建一个属性,属性包括函数中的所有值

2>. 静态方法 staticmethod

3>. 类成员方法 classmethod
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: