摘要:集合的長度向集合中添加元素集合的交并差對稱差字典用來生成。用數組做參數可以在定義時指定參數的默認值模塊中使用關鍵詞來導入模塊。表示繼承自類函數用來初始化對象表示對象自身,類似于里面。
簡單的數學運算
整數相加,得到整數:
2 + 2
4
浮點數相加,得到浮點數:
2.0 + 2.5
4.5
整數和浮點數相加,得到浮點數:
2 + 2.5
4.5變量賦值
Python使用<變量名>=<表達式>的方式對變量進行賦值
a = 0.2字符串 String
字符串的生成,單引號與雙引號是等價的:
s = "hello world" s
"hello world"
s = "hello world" s
"hello world"
三引號用來輸入包含多行文字的字符串:
s = """hello world""" print s
hello world
s = """hello world""" print s
hello world
字符串的加法:
s = "hello" + " world" s
"hello world"
字符串索引:
s[0]
"h"
s[-1]
"d"
s[0:5]
"hello"
字符串的分割:
s = "hello world" s.split()
["hello", "world"]
查看字符串的長度:
len(s)
11列表 List
Python用[]來生成列表
a = [1, 2.0, "hello", 5 + 1.0] a
[1, 2.0, "hello", 6.0]
列表加法:
a + a
[1, 2.0, "hello", 6.0, 1, 2.0, "hello", 6.0]
列表索引:
a[1]
2.0
列表長度:
len(a)
4
向列表中添加元素:
a.append("world") a
[1, 2.0, "hello", 6.0, "world"]集合 Set
Python用{}來生成集合,集合中不含有相同元素。
s = {2, 3, 4, 2} s
{2, 3, 4}
集合的長度:
len(s)
3
向集合中添加元素:
s.add(1) s
{1, 2, 3, 4}
集合的交:
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
Python用{key:value}來生成Dictionary。
d = {"dogs":5, "cats":4} d
{"cats": 4, "dogs": 5}
字典的大小
len(d)
2
查看字典某個鍵對應的值:
d["dogs"]
5
修改鍵值:
d["dogs"] = 2 d
{"cats": 4, "dogs": 2}
插入鍵值:
d["pigs"] = 7 d
{"cats": 4, "dogs": 2, "pigs": 7}
所有的鍵:
d.keys()
["cats", "dogs", "pigs"]
所有的值:
d.values()
[4, 2, 7]
所有的鍵值對:
d.items()
[("cats", 4), ("dogs", 2), ("pigs", 7)]數組 Numpy Arrays
需要先導入需要的包,Numpy數組可以進行很多列表不能進行的運算。
from numpy import array a = array([1, 2, 3, 4]) a
array([1, 2, 3, 4])
加法:
a + 2
array([3, 4, 5, 6])
a + a
array([2, 4, 6, 8])畫圖 Plot
Python提供了一個很像MATLAB的繪圖接口。
%matplotlib inline from matplotlib.pyplot import plot plot(a, a**2)循環 Loop
line = "1 2 3 4 5" fields = line.split() fields
["1", "2", "3", "4", "5"]
total = 0 for field in fields: total += int(field) total
15
Python中有一種叫做列表推導式(List comprehension)的用法:
numbers = [int(field) for field in fields] numbers
[1, 2, 3, 4, 5]
sum(numbers)
15
寫在一行:
sum([int(field) for field in line.split()])
15文件操作 File IO
cd ~
d:Userslijin
寫文件:
f = open("data.txt", "w") f.write("1 2 3 4 ") f.write("2 3 4 5 ") f.close()
讀文件:
f = open("data.txt") data = [] for line in f: data.append([int(field) for field in line.split()]) 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]
刪除文件:
import os os.remove("data.txt")函數 Function
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
用Numpy數組做參數x:
x = array([1, 2, 3]) poly(x, 1, 2, 3)
array([ 6, 11, 18])
可以在定義時指定參數的默認值:
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) x array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
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])模塊 Module
Python中使用import關鍵詞來導入模塊。
import os
當前進程號:
os.getpid()
4400
系統分隔符:
os.sep
""- 類 Class
用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
構建新對象:
person = Person("Mertle", "Sedgewick", 52)
調用對象的屬性:
person.first
"Mertle"
調用對象的方法:
person.full_name()
"Mertle Sedgewick"
修改對象的屬性:
person.last = "Smith"
添加新屬性,d是之前定義的字典:
person.critters = d person.critters
{"cats": 4, "dogs": 2, "pigs": 7}網絡數據 Data from Web
url = "http://ichart.finance.yahoo.com/table.csv?s=GE&d=10&e=5&f=2013&g=d&a=0&b=2&c=1962&ignore=.csv"
處理后就相當于一個可讀文件:
import urllib2 ge_csv = urllib2.urlopen(url) data = [] for line in ge_csv: data.append(line.split(",")) data[:4]
[["Date", "Open", "High", "Low", "Close", "Volume", "Adj Close "], ["2013-11-05", "26.32", "26.52", "26.26", "26.42", "24897500", "24.872115 "], ["2013-11-04", "26.59", "26.59", "26.309999", "26.43", "28166100", "24.88153 "], ["2013-11-01", "26.049999", "26.639999", "26.030001", "26.540001", "55634500", "24.985086 "]]
使用pandas處理數據:
ge_csv = urllib2.urlopen(url) import pandas ge = pandas.read_csv(ge_csv, index_col=0, parse_dates=True) ge.plot(y="Adj Close")
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43015.html
摘要:例后的為比特值表示為真代碼的縮進量縮進等級不同會導致代碼語義的改變,語言要求的是同一代碼塊的每一行代碼必須具有相同的縮進量。例后的為比特值表示為真我以剛才的代碼為基礎,不規范縮進后運行,會出現上圖相應的錯誤提示。 ?hello,程序猿們,我是挪威森林的水手,從此篇文章開始,我將和大家一起從0...
摘要:語料庫是由文本構成的數據集通過提供現成的文本數據來輔助文本處理。那么可以用來做什么呢我自己是一名從事是不錯的入門選項。大數據和人工智能是機器學習和的主要開發語言。 Python培訓有哪些內容?很多零基礎學員不知道Python軟件是干什么用的?Python軟件是Python工程師編寫代碼時所需...
摘要:然而,每個人對編輯器的喜好各不相同,甚至引發出諸如神的編輯器與編輯器之神這種信仰之爭。我們用來寫的工具有兩類一種是被稱為的集成開發環境,它們為開發而生。但僅我上述提及的幾個其實也足夠用了。正如標題所說工欲善其事,必先利其器。 通常來說,每個程序員都有自己趁手的兵器: 代碼編輯器 。你要是讓他換個開發環境,恐怕開發效率至少下降三成。然而,每個人對編輯器的喜好各不相同,甚至引發出諸如神的編...
閱讀 3606·2021-11-15 11:38
閱讀 2801·2021-11-11 16:55
閱讀 2551·2021-11-08 13:22
閱讀 2628·2021-11-02 14:45
閱讀 1304·2021-09-28 09:35
閱讀 2568·2021-09-10 10:50
閱讀 463·2019-08-30 15:44
閱讀 2775·2019-08-29 17:06