Python学习(一)

来源:互联网 发布:有什么推广软件 编辑:程序博客网 时间:2024/06/11 06:37

Python学习(一)

1、安转Ipython、Ipython notebook和使用Anaconda
  Ipython是python的一个解释器,它提供了很多以百分号%开头的magic命令,这些命令类似于linux命令;
  ipython notebook 命令会打开一个notebook本地服务器,一般地址是 http://localhost:8888,ipython notebook 支持两种模式的cell:markdown 和 code
  Anaconda是一个很好用的python IDE,它集成了很多科学计算需要使用的python第三方工具包;

2、python基础知识
  列表 List
    用 [] 生成列表
    a=[‘adas’,11,2.33,1+2]
    列表加法:a+a
    列表索引:a[1]
    列表长度:len(a)
    向列表中添加元素:a.append(12)
  集合 Set
    用 {} 生成集合,集合中不含有相同元素
    s={1,2,3,4}
    集合的长度:len(s)
    向集合中添加元素:s.add(11)
    a={1,2,3,4}
    b={2,3,4,5}
    集合的交:a & b {2,3,4}
    集合的并:a | b {1,2,3,4,5}
    集合的差:a - b {1}
    对称差:a ^ b {1,5}
  字典 Dictionary
    用{key : value}来生成Dictionary
     d={‘age’:13,’name’:’hello’}
    字典的长度:len(d)
    查看某个键对应的值:d[‘age’]
    修改键值:d[‘age’] = 32
    插入键值:d[‘gender’]=’male’
    所有的键:d.keys()
    所有的值:d.values()
    所有的键值对:d.items()

  数组 Mumpy Arrays
    from numpy import array
    a = array([1,2,3,4])
    加法:a+2
    array([3,4,5,6])
    a+a
    array([2,4,6,8])

  画图 Plot
    python 提供的类似于MATLAB的绘图接口。
    import matplotlib.pyplot as pl
    x=range(10) # 横轴的数据
    y = [i*i for i in x] #纵轴的数据
    pl.plot(x,y)#调用plot函数绘制曲线
    pl.show() #显示绘制出的图

  循环 Loop
    line = ‘1 2 3 4 5’
    fields = line.split()
    结果:[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
    total = 0
    for field in fields:
    total += int(field)
    结果:15
    
    列表推导式:
    numbers=[int(field) for field in fields]
    结果:[1,2,3,4,5]
    sum(numbers)
    结果:15

    
  文件操作 File IO
    写文件:
    f = open(‘C:\Users\Seavan_CC\Desktop\data.txt’,’w’)
    f.write(‘chias\n’)
    f.write(‘1 2 3\n’)
    f.close()

    读文件:
    f = open(‘C:\Users\Seavan_CC\Desktop\data.txt’)
    data = []
    for line in f:
     data.append(field for field in line.split()])
    f.close()
    print data
    结果:[[‘chias’], [‘1’, ‘2’, ‘3’]]
  
  for row in data:
    print row
  结果:[‘chias’]
    [‘1’, ‘2’, ‘3’]  
    删除文件:
    import os
    os.remove(‘C:\Users\Seavan_CC\Desktop\data.txt’)

  函数
    使用关键字def来定义函数:
    def func(a,b):
      return a*b**2
     调用函数:
     func(1,2)
     结果:4
  
  
   
   使用class关键字来定义类

class Person(object):    def __init__(self,name,age,gender):        self.name = name        self.age = age        self.gender = gender    def person_info(self):        return 'name:'+self.name+'age:'+self.age+'gender:'+self.gender

   其中Person(object)表示继承自object;init函数用于初始化对象的属性;self指向调用的对象本身;person_info为类中定义的方法;
   创建并初始化对象:
   person = Person(‘Vincent’,18,’male’)
   调用函数的属性:
   person.age
   调用对象的方法:
   person.person_info()
   新添加对象的属性:
   person.hobby = ‘chess’

  爬虫
   可参考我另一篇博客
   Python 实现爬取图片