python 學習 abc語言
1989年圣誕節
guido  現在google工作
CNRI   1.5之前
BeOpen  2.0和1.6有很大區別
zope插件 
Python3.0
目前用的2.0  2.6 2.7版本
tiobe編程大獎  增長份額最快
Python特征:
	腳本語言
	編譯性和解釋性一體
	面向對象
	高級語言 
	可擴展性可嵌入性
	免費、開源
	可移植性
	豐富的庫
	膠水語言
	輔助的腳本
優于 ruby語言
搭建Python環境
命令:Python 查看Python環境是否安裝成功
PRint ‘hello world!’
1、下載Python
http:www.python.org/download
2、	>>> :是個提示符
3、
	1/2
	1//2
	1.0//2.0
	%求余、**冪
	最大值:2147483647
	最小值:-2147483648
	如果真的需要大數可以使用長整型數
	長整型數書寫和普通整數一樣但是結尾有個L
	理論上小寫的L也行但是他和1比較接近所以不建議
	長整型數和普通整數可以混合使用在絕大多數情況下不用擔心長整型數和整數的區別
	除非需要進行類型檢查
4、在Python3.0中print是函數
5、input(“獲取用戶輸入:”);
6、if的用法:
	if 1==2:print 'one equals two'
	if 1==1:print 'one equals one'
	if time%60==0:print 'on the hour!'
7、函數
	pow(2.3)
	abs(-10)
	round(1.0/2.0)
8、模塊
	import math
from math import sqrt   區別 不建議使用
9、input和raw_input的區別
	input輸入時腰帶引號
	raw_input輸入時不需要
10、str和repr的區別
	str轉字符串易于用戶閱讀
	repr轉字符串是轉成Python表達式
10、長字符串
	用'''zifuchuan'''或者"""字符串"""單雙引號代替普通引號沒區別
11、原始字符串
	
import cmath 復數
Unicode 字符串
Unicode字符串使用u前綴就像原始字符串使用r一樣
Python3.0中所有字符串都是Unicode字符串
1、序列
	6種內建的序列
	列表、元組、字符串、Unicode字符串、buffer對象、xrange對象
	列表和元組
	區別:列表可以修改元組不能
2.通用序列操作
	索引、分片、加、乘、檢查某個元素是否屬于序列的成員
	Python還有計算序列長度、找出最大元素和最小元素的內建函數
3、索引
	序列中所有元素都是有編號的從0開始遞增
	也可以用負數索引
	字符串字面值能夠直接使用索引而不需要一個變量引用他們例如
	'hello'[1] 輸出'e'
	fourth = raw_input('Year:')[3]
4、分片
	通過分片操作來訪問一定范圍內的元素分片通過冒號相隔的兩個索引來實現
	numbers = [1,2,3,4,5,6,7,8,9,10]
	numbers[3:6]
	輸出:[4,5,6]
	numbers[0:1]
	輸出:[1]
	分片操作的實現需要提供兩個索引作為邊界第一個索引的元素是包含在分片內的,而第二個則不包含在分片內
	numbers[-3:]
	[8,9,10]
	numbers[-3:0]輸出為空[]
	numbers[:]
	numbers[:3]
	更大的步長
	numbers[0:10:1]
	numbers[0:10:2]
	步長可以是負數 對于一個正數的步長  Python會從序列的頭部開始向右提取元素對于一個負數的步長則是從序列的尾部開始向左提取元素。
5、序列相加
	通過使用加號可以進行序列的連接操作
	[1,2,3]+[4,5,6]
	輸出[1,2,3,4,5,6]
	'hello.'+'world!'
	列表和字符串是無法連接的  只有兩種相同類型的序列才能進行連接
6、乘法
	用數字X乘以一個序列會生成新的序列而在新的序列中,原來的序列將被重復X次
	none 空列表和初始化
	none是一個Python的內建值
7、成員資格
	in運算符
	‘w’in permissions
	真為true假為false
8、長度、最小值、最大值
	len 、min、max
9、列表:Python的‘苦力’
	list 函數適用于所有類型的序列而不只是字符串
10、基本的列表操作
	索引、分片、連接、和乘法
	1、改變列表的值:元素賦值
	2、不能為一個位置不存在的元素進行賦值
	3、刪除元素del names[2]
	4、分片賦值 name[2:]
	5、可以使用與原序列不等長的序列將分片替換
	6、分片賦值語句可以在不需要替換任何原有元素的情況下插入新元素
	7、通過分片賦值來刪除元素也是可行的
	
	列表方法
	1、對象.方法(參數) append如lst.append  用于在列表末尾追加新的對象
		count方法統計某個元素在列表中出現的次數
		extend方法可以在列表的末尾一次性追加另一個序列的多個值
		index方法用于從列表中找出某個值第一個匹配項的位置
		insert用于將對象插入到列表中
		pop方法會移除列表中的一個元素(默認是最后一個)并返回該元素的值
		pop方法是唯一一個既能修改列表又返回元素值(除了none)的列表方法
		remove方法用于移除列表中某個值得第一個匹配項
		remove是一個沒有返回值的原位置改變方法他更改了列表卻沒有返回值這與pop方法相反
		reverse方法將列表中的元素反向存放,該方法和remove和sort一樣改變了列表但不返回值
		sort方法用于原位置對列表進行排序,x[:]這是一種很有效率的復制整個列表的方法,另外一種獲取已排序列表副本的方法是使用sorted函數
	
	8、高級排序
		numbers.sort(cmp) sort方法有另外兩個可選的參數
		x.sort(key=len)  和x.sort(reverse==true)
		cmp key reverse 參數都可以用于sorted函數
9、元組:不可變序列
	元組和列表一樣,也是一種序列,唯一不同的是元組不能修改
	1.如果你用逗號分隔了一些值,那么你就自動創建了元組
	2、元組通過圓括號括起來的,大部分時候是
	3、空元組可以用沒有包含內容的兩個圓括號來表示
	4、一個值的元組必須加個逗號,即使只有一個值
	5、
10、tuple函數
	tuple函數的功能與list函數基本上是一樣的:以一個序列作為參數并把它轉換為元組,如果參數就是元組,那么該參數就原樣返回
11、基本元組操作
	1、創建元組,訪問元組
	2、元祖的分片還是元組,就像列表的分片仍是列表一樣
	元祖的兩個重要功能是不可替代的
	1、元組可以映射(和集合的成員)中當作鍵使用----而列表不行
	2、元組作為很多內建函數和方法的返回值存在也就是說你必須對元組進行處理只要不嘗試修改元組那么處理元組在絕大多數情況下就是把他們當做列表來進行操作,除非需要使用一些元組沒有的方法例如:index,count一般來說列表可能更能滿足對序列的需求。
	
		
新聞熱點
疑難解答