1. 程式人生 > >python介紹(基礎1)

python介紹(基礎1)

Python介紹(py基礎1)
1.1 py的出生與應用

python的創始人為吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆(中文名字:龜叔)為了在阿姆斯特丹打發時間,決心開發一個新的指令碼解釋程式,作為ABC語言的一種繼承。  

(龜叔:2005年加入谷歌至2012年,2013年加入Dropbox直到現在,依然掌握著Python發展的核心方向,被稱為仁慈的獨裁者)。

1.2 python2與python3的區別

py2.x  原始碼重複,冗長
py3.x  原始碼規範化,簡單化,清晰化

1.3 py的程式語言的劃分

機器語言:
  優點:執行效率高
  缺點:開發效率低,學習難度大
組合語言:
  優點:執行效率高,不如機器語言快
  缺點:學習難度大,開發效率低,比機器語言稍微好點
高階語言:

1.3.1 解釋型:

程式碼逐行解釋,逐行執行。
代表語言: python,php
優點:開發效率高,跨平臺
缺點:執行效率低

1.3.2 編譯型:

將程式碼一次性全部變易成二進位制,然後執行。
代表語言:C  C++
優點: 執行效率高
缺點: 開發效率低,不能跨平臺。

1.4 py的優缺點
1.4.1 優點:

    1、開發效率高,python含有N多個第三方庫。
	2、高階語言,不用考慮底層或者記憶體級別。
	3、可拓展性。可以加入C++的程式。
	4、可嵌入性。可將python程式碼嵌入到C++程式中。
	5、可移植性。不同平臺的移植。

1.5 缺點:

    1、執行速度相對慢。
	2、程式碼不能加密。
	3、執行緒不能利用多CPU。

1.6 py的種類

    1、Cpython: 官方推薦,用C語言寫的。
	2、Jpython: 可以在java平臺上執行的python。可以解釋成java識別的位元組碼。
	3、Ironpython: 可以在.net平臺上執行的,可以解釋成.net識別的位元組碼。
	4、Ipython: 在Cpython基礎上拓展的,互動式直譯器。
	5、pypy: 利用JIT技術,實現了動態編譯,執行速度非常快。

1.7 執行第一個python程式

print (‘hello world’)
python3.x:中英文都可以
python2.x:英文字母,特殊字元,數字都行,中文會報錯。
           中文解決方法:# _*_ encoding:utf-8 _*_

1.8 變數(可變的量)
將軟體的一些目錄放到計算機的指定位置,方便在終端中使用。
1.8.1 why:

		'''
		print(1+2+3+4+5)
		print((1+2+3+4+5)*3/2)
		print(((((1+2+3+4+5)*3/2))+100)/22)
		'''
		x = 1+2+3+4+5
		y = x*3/2
		z = (y+100)/22
		print(z)

1.8.2 what:

變數,將程式運算的中間結果這哪是儲存起來,以便後續程式呼叫。

1.8.3 how:

	1,變數必須要有數字,字母,下劃線,任意組合。
	2,變數不能數字開頭。
	3,不能是python中的關鍵字。
		 ['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']
	4,變數要具有可描述性。
		name = 12 錯
	5,變數不建議使用中文。
	6,變數不能過長。
		fdhsjkfdsakfljfkl = 12

1.8.4 官方推薦:(變數定義的方式)
1.8.4.1 駝峰體

	AgeOfOldboy = 56
	NumberOfStudents = 80

1.8.4.2 下劃線(推薦方式)

	age_of_oldboy = 56
	number_of_students = 80

1.8.5 where:

程式中無處不在,想要暫存一些資料,經常使用的。

1.9 常量

	why: 生活中π,身份證號,G,等等不變的量,程式中也是如此。
	what:常量,一直不變的量。
	how:將變數全部大寫,常量。
		NAME = 'alex'
	where:	設定一些不變的量,放在檔案的最上面。

1.10 註釋
1.10.1 why:

學習中,文言文會出現一些晦澀難懂,典故,這樣需要註釋。

1.10.2 what:

幫助你解釋說明。

1.10.3 how:

	單行註釋:#
	多行註釋:''' 被註釋內容 '''  """ 被註釋內容 """
	註釋不宜多,宜精。

1.10.4 where:

	晦澀難懂的程式語句。
	函式,類,檔案。

1.11 基礎資料型別初識
1.11.1 why:
1.11.1.1 整數(int)

1,2,3,,30,100 ...
	主要用於計算,計數,+-*/%		 	 		 		 		
  在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647 		
  在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807

1.11.1.2 字串(str)

在python中,凡是用引號引起來的資料都是字串
單引號,雙引號,三引號引起來沒有任何區別
name = '太白jin星'
name = "太白jin星"
name = '''太白jin星'''
單雙引號配合使用: msg = "My name is Alex , I'm 22 years old!"
多引號用於換行
msg = '''
今天我想寫首小詩,
歌頌我的同桌,
你看他那烏黑的短髮,
好像一隻炸毛雞。
'''
print(msg)

1.11.1.3 布林值(bool)

True., False
	 作用:用於邏輯運算的判斷

1.12 使用者互動input

name = input('請輸入姓名:')
age = input('請輸入年齡:')
sex = input('請輸入性別:')
msg = "我叫" + name + "今年" + age + "性別" + sex
print(msg)

1.13 流程控制語句if
1.13.1 a、單獨if

if 2 > 3:
    print(666)
print(333)

1.13.2 b、if else. 二必選一

name = input('>>>')
if name == 'alex':
	print('He is SB')
else:
	print(666)

1.13.3 c、if elif elif …

num = int(input('>>>'))

if num == 6:
    print('請你吃飯')
elif num == 4:
    print('跟我回家...')
elif num == 2:
    print('大寶劍')

1.13.4 d、if elif elif … else
1.13.4.1 例子1:

num = int(input('>>>'))
if num == 6:
    print('請你吃飯')
elif num == 4:
    print('跟我回家...')
elif num == 2:
    print('大寶劍')
else:
    print('太笨了你....')
print(666)

1.13.4.1 例子2:

score = int(input("輸入分數:"))
if score > 100:
    print("我擦,最高分才100...")
elif score >= 90:
    print("A")
elif score >= 60:
    print("C")
elif score >= 80:
    print("B")
elif score >= 40:
    print("D")
else:
    print("太笨了...E")

1.13.5 e、if 巢狀

username = input('請輸入使用者名稱:')
password = input('請輸入密碼:')

if username == 'alex' :
	if password == 'sb':
	    print('成功登陸')
	else:
	    print('密碼錯誤')
else:
    print('使用者名稱錯誤')

1.14 流程控制語句while
1.14.1 例子1:

while True:
    print('忐忑')
    print('大悲咒')
    print('海草')
    print('想太多')

1.14.2 例子2:

flag = True
while flag:
   print(111)
   print(222)
   flag = False
   print(333)

1.14.3 例子3:

flag = True
while flag:
   print(111)
   print(222)
   flag = False
   print(333)
print(777)

1.14.4 例子4:

flag = True
count = 1
while flag:
    print(count)
    count = count + 1
    if count == 101:
	    flag = False   


count = 1
while count < 101:
    print(count)
    count = count + 1 # count += 1

1.14.5 例子5:

# break 迴圈中只要遇到break就直接跳出迴圈
while True:
    print(111)
    print(222)
    break
    print(333)
	
flag = True
while flag:
   print(111)
   print(222)
   flag = False
   print(333)

1.14.6 例子6:

# continue: 遇到continue,跳出本次迴圈,繼續下一次迴圈
while True:
    print(111)
    print(222)
    continue
    print(333)

1.14.7 例子7:

# while else: 只要while迴圈被break打斷,則不走else程式。
count = 0
while count <= 5 :
    count += 1
    print("Loop",count)
    if count == 3: 
	    break
else:
    print("迴圈正常執行完啦")
print("-----out of while loop ------")

1.14.8 例子8:

count = 1
while  count <= 3:
    username = input('name>>: ')
    password = input('pass>>: ')
    if username == 'ljx' and password == '123456':
        print ('登入成功')
        while True:
            cmd = input('cmd >>: ')
            print('繼續輸入命令')
            if cmd == 'q':
                break
        break
    else:
        print('使用者名稱或密碼錯誤')
        print('還剩%d次機會' %(3 - count))
    count += 1

1.14.9 例子9:

count = 1
tag = True
while tag:
    if count > 3:
        break
    username = input('pls your name: ')
    password = input('pls your pass: ')
    if username == 'ljx' and password == '123456':
        print('登入成功!!!')
        while tag:
            cmd = input('cmd >>>: ')
            print('繼續輸入命令')
            if cmd == 'q':
                tag = False
    else:
        print('使用者名稱或密碼錯誤!')
        print('輸入錯誤,還剩%d次機會' %(3-count))
    count += 1

1.15 檔案頭

#!/usr/bin/env python
# _*_ coding: utf-8 _*_