python学习_20180124

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]

输出为:

[['<!DOCTYPE html>\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')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值