python学习_20180124

      • 19 循环 Loop
        • 1for i in array 的运用
        • 2python中有一种叫做列表推导式List comprehension的用法
      • 110 文件操作 File IO
        • 1进入指定文件位置
        • 2写文件
        • 3读文件
        • 4删除文件
      • 111 函数Function
        • 1python用关键词def来定义函数
        • 2用Numpy数组做参数x
        • 3可以在定义时指定参数的默认值
      • 112 模块Module
        • 1Python中使用import关键词来导入模块
        • 2当前进程号
        • 3系统分隔符
      • 113 类Class
        • 1用class来定义一个类
        • 2构建新对象
        • 3调用对象的属性
        • 4调用对象的方法
        • 5修改对象的属性
        • 6添加新属性d是之前定义的字典
      • 114 网络数据 Data from Web
        • 1对网址URL进行处理后就相当于一个可读文件
        • 2使用pandas处理数据

2.1.9 循环 Loop

(1)for i in array: 的运用

line = '1 2 3 4 5'
fields = line.split()
print fields

对应得到的是字符串分割后的字符 [‘1’,’2’,’3’,’4’,’5’]

total = 0
for field in fields:
    total += int(field)
total

输出为:

15

(2)python中有一种叫做列表推导式(List comprehension)的用法:

numbers = [int(field) for field in fields]
print numbers
则输出为:
[1,2,3,4,5]
然后
sum(numbers)
输出为:
15

将上述语句写在一行:(fields和line.split()是等价的)

sum([int(field) for field in line.split()])

输出为:

15

2.1.10 文件操作 File IO

(1)进入指定文件位置

首先用exit()命令退出Python窗口,然后用cd命令进入指定文件位置,例如:

默认文件位置便由C:\Users\hugechuanqi转到了C:\Python27,例如:输入以下命令

import os
print os.getcwd()

输出为:

C:\Python27

(2)写文件

首先用open()命令打开指定路径的文件,不存在时默认建立一个文件;然后用write()命令写入内容,例如:

f = open('data.txt','w')
f.write('1 2 3 4\n')
f.write('2 3 4 5\n')
f.close()

找到默认路径,会发现多出一个data.txt文件,打开后,内容如下:

若想读取文件内容,只需要先用open()命令打开文件,然后用read()命令读取文件内容即可,如下:

(3)读文件

f = open('data.txt')
data = []
for line in f:
    data.append([int(field) for field in line.spilt()])
f.close()
data

输出为:

[[1,2,3,4],[2,3,4,5]]

或者直接打印数据变量中的内容,按照行的内容提取:

for row in data:
    print row

输出为:

[1,2,3,4]
[2,3,4,5]

(4)删除文件

首先得导入模块os,然后用模块os中的remove命令删除文件内容,如下:

import os
os.remove('data.txt')

2.1.11 函数Function

(1)python用关键词def来定义函数

def poly (x,a,b,c):
    y = a*x**2 +b*x +c
    return y
x = 1
poly(x,1,2,3)

输出为:

6

(2)用Numpy数组做参数x

x = array([1,2,3])
poly(x,1,2,3)

输出为:
array([ 6, 11, 18])

(3)可以在定义时指定参数的默认值

from numpy import arange
def poly(x, a=1, b=2 c=3):
    y = a*x**2 + b*x + c
    return y
x = arange(10)
print x
输出为:
array([0,1,2,3,4,5,6,7,8,9])

当输入为poly(x),输出为:

array([ 3, 6, 11, 18, 27, 38, 51, 66, 83, 102])

当输入为poly(x, b = 1),输出为:

array([ 3, 5, 9, 15, 23, 33, 45, 59, 75, 93])

2.1.12 模块Module

(1)Python中使用import关键词来导入模块

import os

(2)当前进程号

os.getpid()

输出为:

9612

(3)系统分隔符

os.sep

输出为:

'\\'

2.1.13 类Class

(1)用class来定义一个类

Person(object)表示继承自object类;
__init__函数来初始化对象;
self表示对象自身,类似于C、Java里面this
class Person(object):
    def __init__(self, first, last, age):
        self.first = first
        self.last = last
        self.age = age
    def full_name(self):
        return self.first + '' + self.last

(2)构建新对象

person = Person('Mertle', 'Sedgewick', 52)

(3)调用对象的属性

person.first

输出为:

'Mertle'

(4)调用对象的方法

person.full_name()

输出为:

'Mertle Sedgewick'

(5)修改对象的属性

person.last = 'Smith'

(6)添加新属性,d是之前定义的字典

d={'cats':5,'dogs':2,'pigs':7}

person.critters = d
print person.critters

输出为:

{'cats': 5, 'dogs': 2, 'pig': 7}

2.1.14 网络数据 Data from Web

(1)对网址URL进行处理后就相当于一个可读文件

url = 'http://blog.csdn.net/dream_angel_z/article/details/47110077'
improt urllib2
ge_csv = urllib2.urlopen(url)
data = []
for line in ge_csv:
    data.append(line.split(','))
data[:4]

输出为:

[['\n'],
 ['<html>\n'],
 ['  <head>\n'],
 ['    <link rel="canonical" href="http://blog.csdn.net/dream_angel_z/article/details/47110077"/> \n']]

(2)使用pandas处理数据

ge_csv = urllib2.urlopen(url)
import pandas
ge = pandas.read_csv(ge_csv, index_col = 0, parse_dates = Ture)
ge.plot(y='Adj Close')

你可能感兴趣的:(python编程学习)