Python介紹
壹-Python起源
python的創始人Guido van Rossum(俗稱,龜叔)。1989年爲了打發無聊的聖誕節,決定開發一門新的語言–Python
龜叔希望有一門語言,這種語言能夠像C語言那樣全面的調用計算機的功能接口,又可以輕鬆編程。ABC語言讓龜叔看到了希望。ABC是由荷蘭的CWI開發的,龜叔在CWI工作,並參與了ABC語言的開發。
儘管很好的可讀性和易用性,ABC語言還是沒能流行起來,在當時ABC語言要很高的配置電腦才能運行起來。
ABC也存在一些致命的問題。
- 可拓展性差
- 不能直接進行IO
- 過度革新
所以1989年龜叔開發了Python作爲ABC的一種繼承。1991年第一個Python解釋器誕生。他使用C語言實現的,因此Python語法多來自C語言,但又受到ABC的強烈影響。比如強制縮進。但這些讓Python語言更加的易讀。
Python從一開始特別在意拓展性(extensibility)。pytho可以在多個層次上拓展。在高層上,你可以直接引用.py文件。在底層,你可以引用C語言的庫。
Python將許多機器層面上的細節隱藏,交給編譯器處理,並凸顯出邏輯層面的編程思考。Python程序員可以花更多的時間用於思考程序邏輯,而不是具體實現細節(龜叔有一節T恤,寫着:人生苦短,我用Python)。這一特徵吸引了廣大的程序員。
python的功能越來越強大,現在又是人工智能的時代。pytho正好符合了人工智能時代的需求。因此現在它越來越火。
Life is shot, you need Python. 人生苦短,我用Python
貳-Python優缺點
優點:
- 簡單易學
- 開發效率高
- 面向對象
- 免費,開源
- 可移植性
- 可拓展性
- 豐富的庫
缺點:
- 運行速度慢
- 中文資源缺乏
- 線程不能利用多核
叄-應用場景
- web開發應用
- 科學計算,人工智能
- 服務器軟件
- 操作系統管理,服務器運維的自動化腳本
- 遊戲
肆-Python語言類型
編程語言分爲編譯型語言和解釋型語言,Python屬於解釋型語言。
首先我們需要知道我們在電腦上寫的內容保存到電腦上的時候在磁盤上保存的形式都是二進制01010這種形式來保存。當我們再次打開文件的時候,電腦會將二進制數據轉換爲我們可以看懂的內容,呈現到我們面前。同樣我們的代碼都是使用英文來編寫的,當我們運行我們寫的程序的時候,同樣需要將我們寫的代碼翻譯成二進制數據給電腦運行。因此我們需要一個翻譯工具將我們寫的代碼(源碼)翻譯二進制文件。我們將這個翻譯工具稱之爲編譯器。
解釋型語言和編譯型語言執行過程
伍-註釋
-
什麼是註釋
通過用自己熟悉的語言,在程序中對某些代碼進行標註說明。
-
註釋的作用
能夠大大增加程序的可讀性,注意:註釋不會運行。
-
註釋的分類
註釋分爲多行註釋和單行註釋
(1)單行註釋
以#開頭,右邊的所有內容當作補充說明。只對一行內容起作用。
# 這是我的第一個python程序
print("hello world") # 向控制檯輸出 hello word
單行註釋的位置,可以在代碼的上方或者右側
(2)多行註釋
多行註釋用的是三引號(單引號或者雙引號)包含內容。可以寫多行內容
"""
我是多行註釋
可以註釋多行內容
用來添加大塊註釋
"""
陸-數據類型
Python定義好的數據類型有6種
Number(數字)
String(字符串)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
Python3 的六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組)
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
==下面簡單說一下這些類型=
Number(數字)
Python3 支持 int、float、bool、complex(複數)。
在Python 3裏,只有一種整數類型 int,表示爲長整型,沒有 python2 中的 Long。
像大多數語言一樣,數值類型的賦值和計算都是很直觀的。
內置的 type() 函數可以用來查詢變量所指的對象類型。
print(10) # 10
print(type(10)) # <class 'int'>
print(10.9,type(10.9)) # 10.9 <class 'float'>
str(字符串類型)
使用引號(雙引號或者單引號)包裹的內容都是字符串。
print("哈哈")
print("10")
print("False")
print("我是字符串類型")
list(列表)
定義:
列表是一個可修改的,元素以逗號分隔,以中括號包圍的有序序列。
格式:
變量名 = [元素1,元素2,元素3,…]
names = ["張三","李四","王五"]
print(names) # 打印列表中的內容 ["張三","李四","王五"]
print(type(names))# <class 'list'>查看names變量的數據類型
Tuple(元組)
定義:
元祖是不可修改的,元素以逗號分隔,以小括號包圍的有序序列
可以將元組看成一個不可修改的列表
格式:
變量名 = (元素1,元素2,元素3,…)
tup = ("張三","李四","王五")
print(tup) # 打印元組 ("張三","李四","王五")
print(type(tup)) # 查看類型<class 'tuple'>
set(集合)
定義:
集合是盛放多個數據的一種類型
集合中的元素是無序的,唯一的,不可改變的類型
集合中的元素必須是不可修改類型
可以使用{}或者 set()函數創建
創建一個空集合必須用set()函數 ,而不是{},因爲{}是用來創建空字典的
格式:
- 變量名 = {元素1,元素2,元素3,…}
- 變量名 = set(序列) 例如: 變量名 = set(元組,字符串,…)
sets = {1,2,3,4,5,1,2,3}
print(sets) # 因爲集合的唯一性,所以會自動去重,打印{1,2,3,4,5}
print(type(sets))# <class 'set'>
Dictionary(字典)
定義:
在Python中是唯一內建的映射類型
映射: 我們見過這種類型:name = ‘趙四’,age = 18 或者 name :‘趙四’ ,age:18
age = 18或者age:18,這種格式的數據結構我們稱爲映射(mapping)
映射是指可以通過名字age 引用值 18,一般我們將 age稱之爲 鍵(key) 18叫做值(value)。整體稱之爲鍵值對
格式:
變量名 = { ‘key1’ : “value1” , ‘key2’ : value2 , ‘key3’ : ‘value3’ }
user_info = {"name":"于謙","age":25,"hobby":["抽菸","喝酒","燙頭"]}
print(user_info) # {"age":25,"name":"于謙","hobby":["抽菸","喝酒","燙頭"]} 無序
# 可以用來保存一些特殊的信息,例如:用戶信息,賬號和密碼
柒-變量
變量來源於數學,是計算機中能儲存計算結果,或者能標識值抽象概念。
例如:
# 設長方形的長爲X,寬爲Y。面積是Z
x = 10
y = 5
z = x*y
其中XYZ就是變量,並且x代表的值是10,Y代表的是5,Z代表的是50
python中定義變量和數學中一樣
格式:
變量名 = 值
例如上面的X=10 ,定義一個變量,X的值爲10
讀法:將10賦值給X變量