標籤:
安裝 Linux
Linux已經內建Python了,我的Centos7內建Python2.7.4,我通過源碼安裝來更新版本。
<!--lang: sh-->#!/bin/bash#源碼安裝wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgztar -zxvf Python-2.7.9.tgzcd Python-2.7.9#編譯安裝./configuremakemake install
安裝pip(推薦安裝,非必需)
pip是一個包管理器,安裝後方便之後架構和依賴包的安裝使用。推薦安裝。
<!--lang: sh-->#!/bin/bashwget https://bootstrap.pypa.io/get-pip.pypython 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可以使用以下兩種形式來輸出字元到控制台,推薦第二種,可以相容Python3print ‘Hello World‘print(‘Hello World‘)#可以用逗號分隔每個字串,列印出來遇到逗號會輸出一個空格print ‘Hello‘,‘World‘#讀取使用者輸入的字元並賦予name變數name = raw_input()
運行
<!--lang: sh-->python hello_world.py
基礎
#
開頭是注釋
:
結尾是代碼塊,代碼塊縮排推薦四個空格
資料類型 數字
- 整數: 例如
1
100
,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都可以省略。條件中非零數值、非Null 字元串、非空list等,就判斷為True
,否則為False
。
if <條件判斷1>: <執行1>elif <條件判斷2>: <執行2>elif <條件判斷3>: <執行3>else: <執行4>
迴圈
#遍曆列表names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]for name in names: print name# 便利列表2for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: print x# 遍曆列表3,等效2for x in range(101): print x# while迴圈(按條件迴圈)n = 99while n > 0: print n n = n - 2
Python學習筆記