Python 1

python介紹

python是一種解釋型的,面對對象的。帶有動態語義的高級程序設計語言

python簡史

1989年,Guido(龜叔)爲ABC 語言寫的一個插件。因Monty Python的喜劇團體的原因,故給這個語言起名爲python。linux也是
1989年誕生的,1991年正式發佈linux1.0內核;
1990年, 發佈python的第一個版本;
2001年發佈python2.0版本;
2010年獲年度Tiobe編程語言大獎,TIOBE網站;
        TIOBE 編程語言社區排行榜是編程語言流行趨勢的一個指標,每月更新,這份排行榜排名基於互聯網上有經驗的程序員、課程和第三方廠商的數量。排名使用著名的搜 索                引擎 (諸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)進行計算。請注意這個排行榜只是反映某個編程語言的熱門程度,並不能說明一門編程語言好不好,或者一門語言所編寫的代碼數量多少。
2013年發佈python3.x版本;


python的優點

創始人評價:簡單、優雅、明確
簡單體現在如果你的母語是英語,寫python腳本就像寫文章,很簡單;
優雅體現在python的格式,比如縮進來確定代碼塊,可避免編程人員進行復雜的嵌套;
明確體現在解決問題的方法只有一種最優選項,而perl語言是每個問題有很多最優解,但不利於團隊協作;
有強大的第三方庫模塊,需要實現一複雜功能,只需要調用現有的庫,可快速實現功能。20多年的發展,各種庫都已經完
備,比如:郵件庫,爬蟲庫......
可跨平臺移植,java有Java的虛擬機,python同樣;
是一種面向對象的語言;
是一種可擴展的語言(與C,C++,Java結合)



python的缺點

代碼執行速度慢,相比C語言,不過現在python的異步併發框架導致執行速度慢;
python是開源的編程語言,代碼不能加密,當然有相應的工具可以將python代碼轉換爲exe的二進制可執行碼,但是反解碼也
很容易;



第一個python程序

20170629083029780


輸出中文

ASCII:美國人發明了計算機,用二進制存儲數據,英文字母加各個字符一共128個,每8位存儲一個字符,2^8=256,可通過  ord()  函數去查看字符對應的ASCII碼。

Unicode:但是ASCII碼忽略了中文,韓文,日文等其他國家的文字,這個時候256個字符的對應關係明顯是不夠用的,這時候就用兩個字節對應一個文字,2**16=65536.

UTF-8:英文字符明明可以通過一個字節存儲,Unicode卻需要2個字節來存儲,對於存儲比較小的計算機來說,是浪費很多不必要佔用的空間,這個時候就出現utf-8。那麼什麼是utf-8呢?簡單來說就是可變長度編碼格式,英文字符用ASCII碼來存,而中文呢,就用utf-8來存,這個時候中文就不是兩個字節存儲,而是三個字節來存。

20170629083355504



ipython

20170629083502039



pycharm

20170629083817954




python編程風格
python簡潔明瞭的編程格式,如果不按照python既定的格式進行編寫程序,直接報錯,所以說,剛開始編寫python代碼會常常報錯。這裏我就用C語言和python語言做簡單的比較。

C語言顯示  hello world
#include <stdio.h>
 
void hello()
{
    printf("hello!\n");
}
 
void main()
{
    hello();
}
從上面的代碼我們會發現,C代碼塊是通過花括號  {}  做以區別。

python顯示  hello world
#!/usr/bin/env python
def hello():
    print "hello world"
 
def main():
    hello()
 
main()

根據上面的兩個不同編程語言實現同一功能的分析,總結python編程初級要掌握的編程風格如下:
不要在行尾加分號;
每行不超過80個字符;
Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括號或者某種關鍵字。
增加縮進表示語句塊的開始,而減少縮進則表示語句塊的退出。縮進成爲了語法的一部分。


輸入與輸出
輸出: 告訴用戶程序執行的結果
輸入: 告訴計算機程序所需的信息

20170629084257378


變量
變量是內存中的一塊區域。
變量的命名: 變量名由字母,數字,下劃線組成。
>>> a=1
>>> print a
1
>>> a_1 = 111
>>> _a = 222
>>> print _a
222
>>> 1a = 111
  File "<stdin>", line 1
    1a = 111
     ^
SyntaxError: invalid syntax        //指語法錯誤,無效的語法
 
 
>>> a = 5
>>> b = 3>>> print a + b
8
>>> print a + b +c
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined        //名稱錯誤
變量的特性:
實際存儲在內存上;
變量名最好見名知意;
變量可重新賦值;
>>> number1 = 1
>>> number2 = 2
>>> number1 + number2
3
python中地址變量與c語言剛好相反,一條數據包含包含多個標籤;
>>> a = 1
>>> b = 1
>>> id(a)
10812520
>>> id(b)
10812520




運算符與表達式
賦值運算符:=, +=, -=, /=, *=, %=
算術運算符:+, -, , /, //, %, *

20170629084632891




基本數據類型

數字

  整型

20170629084852669


  長整型

20170629085009534

強制定義爲長整型

20170629085106666

浮點數:表示小數

20170629085201681


複數類型

20170629085250286


字符串

  字符串的定義

# 字符串定義的第一種方式:
>>> str1 = 'our company is westos'
 
# 字符串定義的第二種方式:
>>> str2 = "our company is westos"
 
# 字符串定義的第三種方式:
>>> str3 = """our company is westos"""
 
>>> type(str1)
<type 'str'>
>>> type(str2)
<type 'str'>
>>> type(str3)
<type 'str'>
 
 
>>> say = 'let\'s go'>>> say
"let's go"
>>> say = "let's go "
>>> say
"let's go "
轉義符號
>>> mail = "tom: hello i am westos "
>>> print mail
tom: hello i am westos
>>> mail = "tom:\n hello\n i am westos "
>>> print mail
tom:
hello
i am westos
三重引號
塊註釋
函數的doc文檔
字符串格式化
>>> mail = """tom:
...     i am jack
...     good luck
... """
>>> print mail
tom:
    i am jack
    good luck
>>> mail
'tom:\n\ti am jack\n\tgood luck\n'


字符串索引

20170629085520508


字符串切片

20170629085714685





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章