一)基礎介紹
1、前提
各種各樣的底層丑陋無比的硬件接口(比如顯示器、聲卡、顯卡、網卡等),那么我們該如何協調這些硬件進行工作呢?那么“操作系統”就派上用途了,其實操作系統也是一個軟件,操作系統可以協調各硬件工作。那么此時我們需要聽音樂,在網站下載了一個“QQ音樂”,其實這個“QQ音樂”也就是一個軟件,這個軟件是安裝在操作系統上的。當我們要播放音樂的時候,該“QQ音樂”通過操作系統提供的接口,調用底層的硬件資源,然后我們就能聽到聲音咯。
所以說 我們目前的開發,就是相當于開發一個應用程序,類似于"QQy音樂”和 web網站等,那么開發這些東西,可以采用的開發語言咯。
2、開發語言分類
高級語言: Java C# PHP Ruby Go Python C++
低級語言: C語言 匯編語言
注意:每種語言之間的規則是不一樣的
機器碼和字節碼:
機器碼:是計算機可以識別的東西
字節碼: 字節碼的實現方式是通過編譯器和虛擬機器。編譯器將源碼編譯成字節碼,特定平臺上的虛擬機器將字節碼轉譯為可以直接執行的指令。字節碼的典型應用為Java語言。
3、python的種類
Cpython
CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然后運行在Python虛擬機上
Jrhton
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然后在JVM上運行
IronPython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然后在CLR上運行。(與Jython類似)
Python的種類還有很多很多,如下圖:


一般情況,我們會選擇Cpython來學習
4、python內部執行過程如下
(yuki353) [www@python syntax]$ vim stu01.py
(yuki353) [www@python syntax]$ chmod u+x stu01.py
(yuki353) [www@python syntax]$ ./stu01.py
hello world

5、pyc文件是什么
執行Python代碼時,如果導入了其他的 .py 文件,那么,執行過程中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯之后產生的字節碼。
6、注釋
當行注視:# 被注釋內容
多行注釋:""" 被注釋內容 """
7、 解釋器和編碼
#!/usr/bin/env python
# -*- coding:utf-8 -*-
二)變量
1) 聲明變量
(yuki353) [www@python syntax]$ vim stu02.py
#!/usr/bin/env python
# -*- coding:utf8 -*
name = "louis" ----聲明
print(name)----打印
變量: name 變量的值為louis
變量的作用: 代指內存里某個地址中保存的內容
規則:
變量只能是字母、數字、下劃線的任意組合
變量不能以數字開頭
關鍵字不能聲明為變量
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
三)條件語句
語法:
if 條件:
print()
else:
print( )
(注意:代碼塊縮進要統一,建議最好最四個空格表示)
2)if語句嵌套
if 條件1:
if 條件2:
print()
esle:
print( )
else:
print( )
3) 多條件判斷
#!/usr/bin/env python
# -*- coding:utf8 -*-
level = input('請輸入會員級別:')
if level == "高級會員":
print('meinv')
elif level == '白金會員':
print('dana')
elif level == '鉑金會員':
print('xiaomingx')
else:
print('chengguan')
注意:
if 1 == 1:
pass
添加pass: 表示什么都不執行,不能為空
案例:
getpass: 提示用戶輸入密碼,密碼不顯示
import getpass
name = input('請輸入用戶名:')
pwd = getpass.getpass('請輸入密碼:')
if name == 'louis' and pwd == 'A1234':
print('wecomot louis')
else:
print('用戶名和密碼錯誤')
測試:
(yuki353) [www@python syntax]$ ./stu02.py
請輸入用戶名:louis
請輸入密碼:
wecomot louis
(yuki353) [www@python syntax]$ vim stu02.py
(yuki353) [www@python syntax]$ ./stu02.py
請輸入用戶名:louis
請輸入密碼:
用戶名和密碼錯誤
四) 循環語句
語法:
while 條件:
# 循環體
# 如果條件為真,那么循環體則執行
# 如果條件為假,那么循環體不執行
案例:用戶登錄(3次機會)
import getpass
i = 1
while i <= 3:
name = input('請輸入用戶名:')
pwd = getpass.getpass('請輸入密碼:')
if name == 'louis' and pwd == 'A1234':
print('suc')
break
else:
print('fail')
i = i + 1
(yuki353) [www@python syntax]$ ./yonghu.py
請輸入用戶名:sdf
請輸入密碼:
fail
請輸入用戶名:sdfsd
請輸入密碼:
fail
請輸入用戶名:sdfsdf
請輸入密碼:
fail
案例:1-100已內所有奇數
#!/usr/bin/env python
# -*- coding:utf8 -*-
i = 0
while i <= 100:
if i % 2 == 0:
pass
else:
print(i)
i = i + 1
案例:輸入1-100以內所有數之和
sum = 0
i = 1
while i <= 100:
sum = sum + i
i = i + 1
print(sum)
案例:求1-2+3-4+5 ... 99的所有數的和
#-*- coding:utf8 -*
sum = 0
i = 1
while i < 99:
temp = i % 2
if temp == 0:
sum = sum -i
else:
sum = sum +i
i = i + 1
print(sum)
2) continue: (終止當前循環)
在循環里,遇到conitune,就跳過這次,執行進行下一次循環
count = 0
while count < 11:
if count == 7:
count = count + 1
continue
print(count)
count = count + 1
(當遇到count == 7的時候,就跳過print(count),直接進入下一個循環)
count = 0
while count < 10:
if count == 7:
count = count + 1
continue
print(count)
count = count + 1
3) break:(終止所有循環,break用于退出所有循環)
在循環里,遇到break,跳出循環
count = 0
while count < 10:
if count == 7:
count = count + 1
break
print(count)
count = count + 1
~
(yuki353) [www@python syntax]$ python stu01.py
0
1
2
3
4
5
6