2022-07-22

Python十分鐘入門

分類 [編程技術]編程技術")

簡介

Python是一種動態解釋型的編程語言。Python可以在Windows、UNIX、MAC等多種操作系統上使用,也可以在Java、.NET開發平臺上使用。

特點

1 Python使用C語言開發,但是Python不再有C語言中的指針等復雜的數據類型。

2 Python具有很強的面向對象特性,而且簡化了面向對象的實現。它消除了保護類型、抽象類、接口等面向對象的元素。
3 Python代碼塊使用空格或制表符縮進的方式分隔代碼。

4 Python僅有31個保留字,而且沒有分號、begin、end等標記。

5 Python是強類型語言,變量創建后會對應一種數據類型,出現在統一表達式中的不同類型的變量需要做類型轉換。

搭建開發環境

1 可以到www.python.org下載安裝包,然后通過configure、make、make install進行安裝。

2 也可以到www.activestate.com去下載ActivePython組件包。(ActivePython是對Python核心和常用模塊的二進制包裝,它是ActiveState公司發布的Python開發環境。ActivePython使得Python的安裝更加容易,并且可以應用在各種操作系統上。ActivePython包含了一些常用的Python擴展,以及Windows環境的編程接口)。對ActivePython來說,如果你是windows用戶,下載msi包安裝即可;如果你是Unix用戶,下載tar.gz包直接解壓即可。

3 Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus

版本

python2與python3是目前主要的兩個版本。

如下兩種情況下,建議使用python2:

1 你無法完全控制你即將部署的環境時;

2 你需要使用一些特定的第三方包或擴展時;

python3是官方推薦的且是未來全力支持的版本,目前很多功能提升僅在python3版本上進行。

hello world

1 創建hello.py

2 編寫程序:

if __name__ == \'__main__\':


 print "hello word"

3 運行程序:

python ./hello.py

注釋

1 無論是行注釋還是段注釋,均以#加一個空格來注釋。

2 如果需要在代碼中使用中文注釋,必須在python文件的最前面加上如下注釋說明:

# -* - coding: UTF-8 -* -

3 如下注釋用于指定解釋器

#! /usr/bin/python

文件類型】

1 Python的文件類型分為3種,即源代碼、字節代碼和優化代碼。這些都可以直接運行,不需要進行編譯或連接。

2 源代碼以.py為擴展名,由python來負責解釋;

3 源文件經過編譯后生成擴展名為.pyc的文件,即編譯過的字節文件。這種文件不能使用文本編輯器修改。pyc文件是和平臺無關的,可以在大部分操作系統上運行。如下語句可以用來產生pyc文件:

import py_compile

py_compile.compile(‘hello.py’)

4 經過優化的源文件會以.pyo為后綴,即優化代碼。它也不能直接用文本編輯器修改,如下命令可用來生成pyo文件:

python -O -m py_complie hello.py

變量

1 python中的變量不需要聲明,變量的賦值操作即是變量聲明和定義的過程。

2 python中一次新的賦值,將創建一個新的變量。即是變量的名稱相同,變量的標識并不相同。用id()函數可以獲取變量標識:

x = 1

print id(x)

x = 2

print id(x)

3 如果變量沒有賦值,則python認為該變量不存在

4 在函數之外定義的變量都可以稱為全局變量。全局變量可以被文件內部的任何函數和外部文件訪問。

5 全局變量建議在文件的開頭定義。

6 也可以把全局變量放到一個專門的文件中,然后通過import來引用:

gl.py文件中內容如下:

_a = 1

_b = 2

use_global.py中引用全局變量:

import gl

def fun():

 print gl._a

 print gl._b

fun()

常量

python中沒有提供定義常量的保留字。可以自己定義一個常量類來實現常量的功能。

class _const:

 class ConstError(TypeError): pass

 def __setattr__(self,name,vlaue):

 if self.__dict__.has_key(name):

 raise self.ConstError, “Can’t rebind const(%s)”%name

 self.__dict__[name]=value

import sys

sys.modules[__name__]=_const()

數據類型

1 python的數字類型分為整型、長整型、浮點型、布爾型、復數類型。

2 python沒有字符類型

3 python內部沒有普通類型,任何類型都是對象。

4 如果需要查看變量的類型,可以使用type類,該類可以返回變量的類型或創建一個新的類型。

5 python有3種表示字符串類型的方式,即單引號、雙引號、三引號。單引號和雙引號的作用是相同的。python程序員更喜歡用單引號,C/Java程序員則習慣使用雙引號表示字符串。三引號中可以輸入單引號、雙引號或換行等字符。

運算符和表達式

1 python不支持自增運算符和自減運算符。例如i++/i-是錯誤的,但i+=1是可以的。

2 1/2在python2.5之前會等于0.5,在python2.5之后會等于0。

3 不等于為!=或<>

4 等于用==表示

5 邏輯表達式中and表示邏輯與,or表示邏輯或,not表示邏輯非

控制語句】

1 條件語句:

if (表達式) :

  語句1

else :

  語句2

2 條件語句:

if (表達式) :

  語句1

elif (表達式) :

  語句2

…

elif (表達式) :

  語句n

else :

  語句m

3 條件嵌套:

if (表達式1) :

 if (表達式2) :

  語句1

 elif (表達式3) :

  語句2

 …

 else:

  語句3

elif (表達式n) :

 …

else :

  …

4 python本身沒有switch語句。

5 循環語句:

while(表達式) :

 …

else :

 …

6 循環語句:

for 變量 in 集合 :

 …

else :

 …
7 python不支持類似c的for(i=0;i<5;i++)這樣的循環語句,但可以借助range模擬:

for x in range(0,5,2):

 print x

數組相關

1 元組(tuple):python中一種內置的數據結構。元組由不同的元素組成,每個元素可以存儲不同類型的數據,如字符串、數字甚至元素。元組是寫保護的,即元組創建之后不能再修改。元組往往代表一行數據,而元組中的元素代表不同的數據項。可以把元組看做不可修改的數組。創建元組示例如下:

tuple_name=(“apple”,”banana”,”grape”,”orange”)

2 列表(list):列表和元組相似,也由一組元素組成,列表可以實現添加、刪除和查找操作,元素的值可以被修改。列表是傳統意義上的數組。列表創建示例如下:

list=[“apple”,”banana”,”grage”,”orange”]

可以使用append方法來在尾部追加元素,使用remove來刪除元素。

3 字典(dictionary):由鍵-值對組成的集合,字典中的值通過鍵來引用。鍵和值之間用冒號隔開,鍵-值對之間用逗號隔開,并且被包含在一對花括號中。創建示例如下:

dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}

4 序列:序列是具有索引和切片能力的集合。元組、列表和字符串都屬于序列。

函數相關

1 python程序由包(package)、模塊(module)和函數組成。包是由一系列模塊組成的集合。模塊是處理某一類問題的函數和類的集合。

2 包就是一個完成特定任務的工具箱。

3 包必須含有一個__init__.py文件,它用于標識當前文件夾是一個包。

4 python的程序是由一個個模塊組成的。模塊把一組相關的函數或代碼組織到一個文件中,一個文件即是一個模塊。模塊由代碼、函數和類組成。導入模塊使用import語句。

5 包的作用是實現程序的重用。

6 函數是一段可以重復多次調用的代碼,函數定義示例如下:

def arithmetic(x,y,operator):

 result={

 “+”:x+y,

 “-“:x-y,

 “*”:x*y,

 “/”:x/y

 }

7 函數返回值可以用return來控制。

字符串相關

1 格式化輸出:

format=”%s%d” % (str1,num)

print format

2 用+進行字符串的合并:

str1=”hello”

str2=”world”

result=str1+str2

3 字符串截取可以通過索引/切片,也可以通過split函數。

4 通過切片截取字符串:

word=”world”

print word[0:3]

5 python使用==和!=來進行字符串比較。如果比較的兩個變量的類型不相同,那么結果必然為不同。

文件處理

1 簡單處理文件:

context=”hello,world”

f=file(“hello.txt”,’w’)

f.write(context);

f.close()

2 讀取文件可以使用readline()函數、readlines()函數和read函數。

3 寫入文件可以使用write()、writelines()函數

對象和類】

1 python用class保留字來定義一個類,類名的首字符要大寫。當程序員需要創建的類型不能用簡單類型來表示時,就需要定義類,然后利用定義的類創建對象。定義類示例:

class Fruit:

 def grow(self):

 print “Fruit grow”

2 當一個對象被創建后,包含了三方面的特性,即對象的句柄、屬性和方法。創建對象的方法:

fruit = Fruit()

fruit.grow()

3 python沒有保護類型的修飾符

4 類的方法也分為公有方法和私有方法。私有函數不能被該類之外的函數調用,私有的方法也不能被外部的類或函數調用。

5 python使用函數"staticmethod()"或"@ staticmethod"指令的方法把普通的函數轉換為靜態方法。靜態方法相當于全局函數。

6 python的構造函數名為__init__,析構函數名為__del__

7 繼承的使用方法:

class Apple(Fruit):

   def …

連接mysql

1 用MySQLdb模塊操作MySQL數據庫非常方便。示例代碼如下:

import os, sys

import MySQLdb

try:

 conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’

except Exception,e:

 print e

 sys.exit()

cursor=conn.cursor()

sql=’insert into address(name, address) values(%s, %s)’

value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))

try

 cursor.executemany(sql,values)

except Exception, e:

 print e

sql=”select * from address”

cursor.execute(sql)

data=cursor.fetchall()

if data

 for x in data:

 print x[0],x[1]

cursor.close()

conn.close()

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2 中則使用 mysqldb。

#!/usr/bin/python3
 
import pymysql
 
# 打開數據庫連接

db = pymysql.connect(host='localhost',
                     user='testuser',
                     password='test123',
                     database='TESTDB')
 
# 使用 cursor() 方法創建一個游標對象 cursor
cursor = db.cursor()
 
# 使用 execute()  方法執行 SQL 查詢 
cursor.execute("SELECT VERSION()")
 
# 使用 fetchone() 方法獲取單條數據.
data = cursor.fetchone()
 
print ("Database version : %s " % data)
 
# 關閉數據庫連接
db.close()
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容

  • Science | 單個細胞通過多模式感知形成決策 原創huacishu圖靈基因2022-07-22 09:23發...
    圖靈基因閱讀 219評論 0 0
  • 皕杰報表是一款純java開發的報表工具軟件,所謂報表部署,就是把報表部署到服務器上,并通過瀏覽器訪問報表的過程。 ...
    拓跋杉月閱讀 213評論 0 0
  • 本文章注意介紹的內容: 1.變量(1)變量的基本介紹(2)變量的賦值2.基本數據類型基本數據類型有6個數字(num...
    可樂W閱讀 493評論 0 0
  • 1.1 列表的定義 List(列表) 是Python中使用最頻繁的數據類型,在其他語言中通常叫做數組 專門用于存儲...
    體面_5376閱讀 877評論 0 0
  • Python語言特性 1 Python的函數參數傳遞 看兩個如下例子,分析運行結果: 代碼一: a = 1 def...
    時光清淺03閱讀 498評論 0 0