码迷,mamicode.com
首页 > 编程语言 > 详细

Python从入门到PY交易,基础语法,散记(二)

时间:2016-06-23 01:07:34      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

类的继承:

类本身进一步细分成子类的过程,称为继承,比如鸟类是属于动物类,鸟类是动物类的子类
子类拥有父类的所有属性
1.继承的基本格式

class 类名(父类名):
属性
方法 :
方法体

2.范例:
技术分享
3.父类默认为object
4.类的特殊用法:
每个类中的方法中都有self参数,在方法内部调用自身的属性或方法
构造方法init(),实例化对象的时候自动调用,一般做初始化

容器container:

能存储多个元素的对象称为容器,如列表,词典
字典{} 唯一的映射类型,对象可变,键必须使用不可变对象,可以使用不同类型的键值
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)删除字典

Python中的文本文件的操作

具有最基本的文本文件读写功能
1.创建文件对象
f = open(“文本文件”)
2.读取:

str = f.read(N) #读取N bytes的数据
Str = f.radline() #读取一行
Str = f.readlines() #读取所有行

3.写入:
F.write(‘写入的内容’) #将所需内容写入文件之中
4.关闭:
F.close()

Python中的模块结构

模块是为了更好的组织已经有的程序,以方便重复利用
在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

Python中特殊的参数传递

1.可以根据名称来传递
技术分享
2.可以规定默认值,但必须得从左到右一一对应
技术分享
3.多个参数的传递,定义函数时参数前面加*
技术分享
4.传递字典需要加**,也可以用解包的方式传递参数
技术分享

Python中循环相关的常用函数

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中的函数对象

在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

正则表达式(RE)

小型的,高度专业化的编程语言。内嵌在python中,用过re模块实现
可以为想要匹配的相应字符串集指定规则
该字符串集可能包含英文语句,e-mail地址,命令或任何你想搞定的东西
以各种方式来修改或分割字符串

Python中的异常处理

范例:

tryexcept exception1:
elsefinally

如果本层次中没有捕获异常,则向上抛出

Python中数学库的使用

Python中有很多内建函数库:
飞机票:http://python.usyiyi.cn/python_343/library/functions.html
1.math主要处理数学相关的运算
math.e # 自然常数e
math.pi # 圆周率pi

python在数据挖掘方面的优势

R做文件挖掘还是有点弱,但是已经封装好,类似一种软件
Python函数比R多,比R快
1.python标准库
2.Numpy与scipy:常用的数学操作
3.Matplotlib:数据可视化
4.符号运算的库:sympy和theano
5.Scikit learn:封装了几乎所有的经典算法

Python中配置安装easy_install和pip,插件管理工具,类似redhat中的yum

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’)

Python中配置安装numpy,一个开源的数字拓展,可以用来处理存储和大型矩阵

可用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

Python从入门到PY交易,基础语法,散记(二)

标签:

原文地址:http://blog.csdn.net/henryng1994/article/details/51732803

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!