Python學習筆記
安裝
Linux
Linux已經自帶Python了,我的Centos7自帶Python2.7.4,我通過源碼安裝來更新版本。
#!/bin/bash #源碼安裝 wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz tar -zxvf Python-2.7.9.tgz cd Python-2.7.9 #編譯安裝 ./configure make make install
安裝pip(推薦安裝,非必需)
pip是一個包管理器,安裝后方便之后框架和依賴包的安裝使用。推薦安裝。
#!/bin/bash wget https://bootstrap.pypa.io/get-pip.py python get-pip.py
Hello World
>>> print 'hello, world' hello, world >>> exit()
編輯器
推薦Vim,Windows下使用Notepad++。
hello_world.py
#!/usr/bin/env python # -*- coding:utf8-*- # 第一行用于在Linux下被識別從而直接運行 #第二行用于定義此文件的字符編碼是utf8,防止亂碼,這是一個好習慣 #print可以使用以下兩種形式來輸出字符到控制臺,推薦第二種,可以兼容Python3 print 'Hello World' print('Hello World') #可以用逗號分隔每個字符串,打印出來遇到逗號會輸出一個空格 print 'Hello','World' #讀取用戶輸入的字符并賦予name變量 name = raw_input()
運行
python hello_world.py
基礎
- #開頭是注釋
- :結尾是代碼塊,代碼塊縮進推薦四個空格
數據類型
數字
- 整數: 例如1100,16進制以0x開頭,例如0xff00
-
浮點數: 例如3.14,科學記數法把10用e替代,1.23x10的9次方的就是1.23e9或者12.3e8
注:整數運算永遠精確,浮點數可能存在四舍五入
字符串
- 以''或""括起來的任意文本,轉義使用\,用于轉義單引號、雙引號和特殊字符(例如換行符)
- r''表示原始字符串,不需要轉義
- '''我是內容'''這種三個引號(單雙都行)擴起來表示可以換行的文本
- r'''我是內容'''表示多行原始字符串,不需要轉義
- u''表示Unicode字符串
- 字符串格式化 'Hello, %s' % 'world'
布爾值
- True
-
False
布爾值可以用and、or和not運算
空值
None
變量
變量的類型取決于第一次賦值的類型。
a = 1
常量
Python中無常量,約定全部大寫的變量為常量(值依舊可以變)。
PI = 3.14
類型判斷和轉換
a = '123' # 判斷類型 type(a) # 轉換為int,其他類型同理 int(a) ## 轉換函數表 int(x [,base ]) #將x轉換為一個整數 long(x [,base ]) # 將x轉換為一個長整數 float(x ) #將x轉換到一個浮點數 complex(real [,imag ]) #創建一個復數 str(x ) #將對象 x 轉換為字符串 repr(x ) #將對象 x 轉換為表達式字符串 eval(str ) #用來計算在字符串中的有效Python表達式,并返回一個對象 tuple(s ) #將序列 s 轉換為一個元組 list(s ) #將序列 s 轉換為一個列表 chr(x ) #將一個整數轉換為一個字符 unichr(x ) #將一個整數轉換為Unicode字符 ord(x ) #將一個字符轉換為它的整數值 hex(x ) #將一個整數轉換為一個十六進制字符串 oct(x ) #將一個整數轉換為一個八進制字符串
序列
list(列表)
classmates = ['Michael', 'Bob', 'Tracy'] #list中元素個數(得到3) len(classmates) #最小元素(得到'Bob') min(classmates) #最大元素(得到'Tracy') max(classmates) # 訪問元素(得到'Michael') classmates[0] # 倒數第一個元素(得到'Tracy') classmates[-1] # 追加元素 classmates.append('Adam') # 位置1插入元素,后面元素會依次后推 classmates.insert(1, 'Jack') # 刪除末尾元素 classmates.pop() # 刪除位置 1 的元素 classmates.pop(1) del classmates[1] # 刪除片段 del classmates[i: j] # 替換元素 classmates[1] = 'Sarah' #切片(選取第一個到第二個元素組成新列表) classmates[1: 2] #切片(選取第一個到第三個元素組成新列表,每隔兩個,按照原始list,得到'Bob') classmates[1: 3: 2] # 不同類型元素 L = ['Apple', 123, True] # list嵌套(list做為list的一個元素) s = ['python', 'java', ['asp', 'php'], 'scheme'] #取得'php'(相當于二維數組) print(s[2][2]) #序列連接(兩個列表組成新列表) classmates + ['lucy', 'joe'] #序列中的元素重復三次 classmates * 3 #元素在列表中是否存在 isHave = 'Bob' in classmates #轉為序列(得到['P', 'y', 't', 'h', 'o', 'n']) list('Python')
tuple(元組)
一旦定義不可變。獲取元素和list相同,如果元組中只有一個元素,必須補一個逗號,用于和運算符區分。
classmates = ('Michael', 'Bob', 'Tracy') # 單元素元組 classmates = ('Michael',)
dict和set
dict
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} #取值(不存在報錯) d['Michael'] #取值,不存在返回`None` d.get('Thomas') #取值,不存在返回自定義值`-1` d.get('Thomas', -1) #定義值 d['Adam'] = 67 #刪除鍵值對 d.pop('Bob') del (d['Bob']) #鍵列表 dict.keys() #值列表 dict.values() #鍵值對元組列表 dict.items() #遍歷 for (k, v) in dict.items(): print 'dict[%s] =' % k, v
set
不重復的元素集合
#定義,需要將list轉化為set,自動過濾重復 s = set([1, 2, 3]) #添加 s.add(4) #刪除 s.remove(4) #交集 set([1, 2, 3]) & set([2, 3, 4]) #并集 set([1, 2, 3]) | set([2, 3, 4])
條件判斷和循環
條件
elif和else都可以省略。條件中非零數值、非空字符串、非空list等,就判斷為True,否則為False。
if <條件判斷1>: <執行1> elif <條件判斷2>: <執行2> elif <條件判斷3>: <執行3> else: <執行4>
循環
#遍歷列表 names = ['Michael', 'Bob', 'Tracy'] for name in names: print name # 便利列表2 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: print x # 遍歷列表3,等效2 for x in range(101): print x # while循環(按條件循環) n = 99 while n > 0: print n n = n - 2
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!