标签:
类本身进一步细分成子类的过程,称为继承,比如鸟类是属于动物类,鸟类是动物类的子类
子类拥有父类的所有属性
1.继承的基本格式
class 类名(父类名):
属性
方法 :
方法体
2.范例:
3.父类默认为object
4.类的特殊用法:
每个类中的方法中都有self参数,在方法内部调用自身的属性或方法
构造方法init(),实例化对象的时候自动调用,一般做初始化
能存储多个元素的对象称为容器,如列表,词典
字典{} 唯一的映射类型,对象可变,键必须使用不可变对象,可以使用不同类型的键值
1. 词典:key:value,{}:
c = {“id“:100,”name“:”wuxunjie”,””age””:22}
通过key就可以修改value , key是无法改变
如 c[“id”] = 20
2. 通过对新的key赋值往词典中加入一个新的键值对
添加 dic[‘tel’]=’12345678’ 会随机插入字典之中,因为字典是无序的
3. 词典常用方法
dic.keys():得到所有的key
del dci[‘tel’] 删除dci字典中的tel元素
dic.clear 清空字典
del(dic)删除字典
具有最基本的文本文件读写功能
1.创建文件对象
f = open(“文本文件”)
2.读取:
str = f.read(N) #读取N bytes的数据
Str = f.radline() #读取一行
Str = f.readlines() #读取所有行
3.写入:
F.write(‘写入的内容’) #将所需内容写入文件之中
4.关闭:
F.close()
模块是为了更好的组织已经有的程序,以方便重复利用
在python中一个.py文件就构成一个模块。可以调用其他文件中的程序
1.引入模块
定义一个模块1,实现一个办法
在模块2中通过import导入模块1,不加.py后缀
在模块2中通过 模块.对象 即可调用
2.其他引入方式:
Import a as b # 引入模块a,并命名为b
from a import b # 从模块a中引入b对象。调用时可不说明
from a import * # 从模块 a中引入所有对象,调用时都不用说明
3.可以将模块放在同一个文件夹中,构成一个模块包,此包必须包含一个init.py的文件
引入模块包:import 包名.module
1.可以根据名称来传递
2.可以规定默认值,但必须得从左到右一一对应
3.多个参数的传递,定义函数时参数前面加*
4.传递字典需要加**,也可以用解包的方式传递参数
1.Range函数,可以构造列表
输出结果:
a c e g i k
2.enumerate():可以在每次循环中同时得到下标和元素
输出结果:
3.zip():可以在一次循环中从各个序列中分别取出一个元素,并行遍历
输出结果:
4.取最大值 max()
5.取最小值 min()
6.长度 len()
7.取商和模 divmod()
8.求次方 pow()
9.浮点数 round()
10.cmp() 比较两个字符串
11.String函数
字符串.capitalize() 把字符串首字母变成大写
str.replace(old,new,替换次数) 替换
str.split(标记,次数) 切割
在python中函数也是对象,可以赋值给其他对象名,或者作为参数传递
1.Lambda表达式
一种快速定义单行的最小函数,是从lisp借用来的,可以用在任何需要函数的地方
>
g = lambda x,y:x*y
g(2,3)
输出:6
输出:18
2.map(函数,列表):是python的内置函数,把每个参数都带入lambda中运算
输出:
3.filter(函数,列表):过滤,会把函数中得到true的结果过滤出来
输出:
4.reduce():reduce逐次操作list里的每项,接受的参数的数目为2,一般用于递归运算
reduce(lambda x,y:x+y,rang(1,101)) #递归加法
l = range(1,6)
def f(x,y)
return x*y
reduce(f,l)
输出:
120
范例2:
输出:92
小型的,高度专业化的编程语言。内嵌在python中,用过re模块实现
可以为想要匹配的相应字符串集指定规则
该字符串集可能包含英文语句,e-mail地址,命令或任何你想搞定的东西
以各种方式来修改或分割字符串
范例:
try:
except exception1:
else:
finally:
如果本层次中没有捕获异常,则向上抛出
Python中有很多内建函数库:
飞机票:http://python.usyiyi.cn/python_343/library/functions.html
1.math主要处理数学相关的运算
math.e # 自然常数e
math.pi # 圆周率pi
R做文件挖掘还是有点弱,但是已经封装好,类似一种软件
Python函数比R多,比R快
1.python标准库
2.Numpy与scipy:常用的数学操作
3.Matplotlib:数据可视化
4.符号运算的库:sympy和theano
5.Scikit learn:封装了几乎所有的经典算法
1.配置python环境变量
2.配置python script环境变量
3.下载setuptools,解压缩到任意目录下
4.进入上面那个目录
5.Python setup.py install
6.验证 easy_install –showhelp
7.easy_install 常用命令
easy_install 安装包
-U 更新
-m 删除库
8.Pip的安装类似于easy_install
pip install 安装包
9.如果出现ascii相关的异常
修改python安装路径下lib\mimetype.py文件,在import下添加如下几行:
If sys.getdefaultencoding( ) != ‘gbk’ ;
Reload(sys)
Sys.setfefaultencoding( ‘gbk’)
可用easy_install 和pip安装
或者下载exe格式的安装包
或者源码安装
基础练习:
计算器
#!/usr/bin/python
#coding:utf-8
from _future_ import division
def add (x,y)
return x+y
def minu (x,y)
return x-y
def cheng (x,y)
return x*y
def divid (x,y)
return x/y
#def operator(x,o,y)
# if o == "+":
# add (x,y)
# elif o == "-":
# minu (x,y)
# elif o == "*":
# cheng (x,y)
# elif o == "/":
# divid (x,y)
operator = {"+":add,"-":minu,"*":cheng,"/":divid}
def f(x,o,y):
print operator.get(o)(x,y)
调用f(3,”+”,2)
输出:5
标签:
原文地址:http://blog.csdn.net/henryng1994/article/details/51732803