python的快速教程

来源:互联网 发布:金融数据分析软件 编辑:程序博客网 时间:2024/06/05 09:43

python的快速教程

python基础

  • hello world
  • 基本数据类型
  • type
  • 序列
  • 序列有两种:一种是tuple(元组)一种是list(表)
  • 字符串是元组
  • 运算
  • 数字:+,-,,/,*,%
  • 判断:==,!=,>,>=,<,<=,in
  • 逻辑:and,or,not
  • 缩进
  • 循环
  • 函数
  • 面对对象
  • 面对对象的进一步拓展
  • init()是特殊方法,python会自动调用这个方法。这个过程叫初始化

python进阶

1.词典
- dic[‘tom’]=30 添加一个新的词典
- for key in dic:
- print dic[key]
- dic.keys()
- dic.values()
- doc.items()
- 文本的输入输出
- f=open(文件名,模式)
- content=f.read(N)
- content=f.readline()
- content=f.readlines()
- f.write(‘I like apple’)
- f.close()
- 模块
- import first
- 函数的参数对应
- fun(a,b,c=10,*agrs,**agrs)
- 循环设计
- for I in range(0,len(s),2)
- enumerate()
- for (index,char) in enumerate(S)
- zip
- for (a,b,c)in zip(ta,tb,tc)
6 循环对象
- 迭代器:循环对象和for循环调用之间还有一个中间层,就是要讲循环对象转换成迭代器。这一转换通过使用iter()函数实现的.
-生产器:只是在return的地方改为yield。生产器中可以有多个yield。当生成器遇到一个yield时,会暂停运行生成器,返回yield后面的值。
- 生成器表达式
- 表推导
L=[x**2 for x in range(10)]
- 列表内容
7 函数对象
- lambda函数
func=lambda x,y:x+y
print func(3,4)
lambda生成一个函数对象。该函数参数为x,y,返回值为x+y.函数对象赋给func.func的调用与正常函数无异。
-函数作为参数传递
def test(f,a,b)
print “test”
print f(a,b)
test (func,3,5)

test((lambda x,y:x**2+y),6,9)
- map()函数
re=map((lambda x:x+3),[1,3,5,6])
map()的功能是将函数对象依次作用表的每一个元素。

-filter()函数
filter函数的第一个参数也是一个函数对象。它也是将作为参数的函数对象作用于多个元素。如果函数对象返回的是True,则该次的元素被存储于返回的表中。

-reduce()函数
reduce可以累进地将函数作用各个参数。
print reduce((lambda x,y:x+y),[1,2,5,7,9])
8. 异常处理
- try:… except exception:…else:…finally:…
9 动态类型:

python深入

1.特殊方法与多范式
2. 上下文管理器
- 关闭文件 with as f
- 方法:1.enter 2. exit
3. 对象的属性
属性的dict系统
- 特性:当某个属性被修改时,我们希望依赖该属性的其它属性也同时变化。这时,我们不能通过dict的方式来静态的储存属性。python提供了多种即时生产属性的方法。其中一种称为特性(property).
- 使用特殊方法——getattr——
我们可以用——getattr——来查询即时生产的属性。当我们查询一个属性时,如果通过——dict)
4 闭包
函数是一个对象,所以可以作为一个函数的返回结果。
我们称b为line的环境变量。
在python中,所谓的闭包是一个包含一个环境变量取值的函数对象。
-闭包与并行运算
闭包有效的减少了函数所需定义的参数数目。
def line_conf(a,b):
def line(x):
return a*x+b
return line

line 1=line_conf(1,1)
line 2=line_conf(4,5)
print(line1(5),line2(5))

5 装饰器
装饰器是一种高级python语法。装饰器可以对一个函数、方法或者类进行加工。在python中,我们有多种方法对函数和类进行加工,比如在python闭包中,我们见到函数对象作为某一个函数的返回结果。
def decorator(F):
def new_F(a,b):
print(“input”,a,b)
return F(a,b)
return new_F

@decorator
def square_sum(a,b):
return a**2+b**2

@decorator
def square_diff(a,b):
return a**2-b**2

print(square_sum(3,4))
print(square_diff(3,4))

装饰器可以用def的形式定义,如上面代码中的decorator。装饰器接收一个可调用对象作为输入参数,并放回一个新的可调用对象。
调用@decorator,我们实际上将square_sum或square_diff传递给decorator。

-含参的装饰器
def pre_str(pre=”“)
def decorator(F):
def new_F(a,b):
print(pre+”input”,a,b)
return F(a,b)
return new_F
return decorator

  • 装饰类
    在上面的例子中,装饰器接收一个函数,并放回一个函数,从而起到加工函数的结果。

def decorator(aClass):
class newClass:
def init(self,age):
self.total_display=0
self.wrapped=aClass(age)
def display(self):
self.total_display+=1
print(“total display”,self.total_display)
self.wrapped.display()
return newClass

@decorator
class Bird:
def init(self,age):
self.age=age
def display(self):
print(“My age is”,self.age)

eagleLord=Bird(5)
for I in range(3):
eagleLord.display()
6. 内存管理

python补充

  1. 序列的方法
    s为一个序列
    len(s)
    min(s)
    max(s)
    all(s)
    any(s)

sum(s)
s.count(x)
s.index(x)

下面方法只使用表:
l.extend(12) 在表1的末尾添加表12的所有元素
1.append(x)
1.sort()
1.reverse()
1.pop()
del l[i]

用于字符串的方法:
str.count(sub) sub在str中出现的次数
str.find(sub) 查找sub在str中第一次出现的位置。
str.index(sub) 查找sub在str中第一次出现的位置。
str.rfind(sub) 查找sub在str中第一次出现的位置。如果str中不包含sub,放回-1.
str.rindex(sub). 查找sub在str第一次出现的位置。

str.split([sep,[max]]) 分割为多个子字符串,总共分割max次。
str.rsplit([sep,[max]]) 从右开始

str.join(s) 将s中的元素,以str为分隔符,合并成为一个字符串。

“:”.join(s) result:”biwu:darong”

str.strip([sub]) 去掉字符串开头和结尾的空格。

str.replace(sub,new_sub)用一个新的字符串new_sub替换str中的sub

str.capitalize()将str第一个字母大写
str.lower()
str.upper()
str.swapcase()
str.title() 将str的每个词的首字母大写
2. python小技巧
import模块
-使用name=”main

import TestLib as test

-查询
查询函数的参数
import inspect
print (inspect.getargspec(func))

-查询对象的属性
hasattr(obj,attr_name)

print a.class
print a.class.name

print (list.base)

  • 搜索路径
    export PYTHONPATH=$PYTHONPATH:/home/vamei/mylib
原创粉丝点击