1. 程式人生 > >python3學習筆記(0)

python3學習筆記(0)

utf-8 xxx 初識 login inux 接口 動態 phi python環境

一、編程語言主要從以下幾個角度分類:
1、編譯型和解釋型
2、靜態語言和動態語言
3、強類型定義語言和弱類型定義語言

編譯型:程序運行前先由負責翻譯的程序將代碼轉換成可執行代碼進行執行。例如C/C++、Pascal/Delphi、VB。其優點為運行速度快,對系統要求低,適用於開發操作系統、大型應用程序、數據庫系統等。
解釋型:程序運行時每直行到一條指令就由解釋程序將所執行到的代碼轉換成可執行代碼進行執行,如此反復,直至程序直行完畢。例如Java、JavaScript、VBScript、Perl、Python。適用於網頁腳本、服務器腳本及輔助開發接口這樣對速度要求不高,但對不同系統平臺間的兼容性有一定要求的程序。
靜態語言:即靜態類型語言,在寫程序時要聲明所有變量的數據類型,數據類型會在編譯期間進行檢查。例如C/C++
動態語言:即動態類型語言,在寫程序時不用給任何變量指定數據類型,在運行期間才去做數據類型檢查。例如Python、Ruby
強類型定義語言:即強制數據類型定義的語言,一旦一個變量被指定了一個數據類型,如果不經過強制轉換,那麽它永遠就是這個數據類型了。
弱類型定義語言:即數據類型可以被忽略的語言,一個變量可以賦不同類型的值。

Python是動態語言、強類型定義語言(類型安全的語言)
VBScript是動態語言、弱類型定義語言(類型不安全的語言)
Java是靜態語言、強類型定義語言(類型安全的語言)

二、Python:解釋型語言、動態語言、強類型定義語言
優點如下:
1、優雅、明確、簡單易懂
2、開發效率高,有強大的第三方庫
3、高級語言,無需考慮內存一類的底層細節
4、可移植性強,可以兼容多平臺
5、可擴展性強,可以在python中使用其他程序,例如C/C++
6、可嵌入性強,可以將python腳本嵌入到其他程序,例如C/C++
缺點如下:
1、運行速度比編譯型語言慢
2、源碼以明文形式存放,不能加密
3、線程不能利用多CPU

python解釋器有:
1、CPython,用C語言開發的,使用最廣泛的
2、IPython,基於CPython開發的
3、PyPy,另一種解釋器,可以提高代碼的執行速度。
4、JPython,用Java開發的
5、IronPython,用C#開發的

Linux中,第一行用“#!/usr/bin/env python”,找python環境變量
系統自帶的環境變量在/usr/bin/,後裝的環境變量在/usr/local/bin/。

三、變量:
name = “Alex Li”
name2 = name
name = “PaoChe Ge”
print(name,name2)
以上代碼中,name2被賦值的是name所指向的內存地址,因此name的賦值發生改變,name2不會發生改變。

四、變量定義規則:
1、變量名只能是字母、下劃線、數字的組合
2、變量名第一個字符不能是數字
3、不能用關鍵字作為變量名
4、3.X中可以用中文作為變量名,但不建議這樣做。

五、字符編碼:
python3.X默認使用UTF-8。
python2.X默認使用ASCII碼,需要使用 # -*- coding:utf-8 -*- 來聲明使用的字符集後,方可使用中文。

六、註釋方法:
1、單行註釋:#
2、多行註釋:‘‘‘‘‘‘或者"""""",常用單引號
另,單引號或雙引號還可以打印多行,例如:
msg = ‘‘‘
name = “Alex Li”
name2 = name
name = “PaoChe Ge”
‘‘‘
print (msg)

七、用戶輸入:
1、intput輸入的值,默認為字符串類型。
input()
例1:
name = input("what`s your name?")

八、格式化輸出:
name = qj
age = 30
job = it
salary = 6000

例1:字符串拼接方法,不建議,因為會在內存中開辟多塊內存空間。
info = ‘‘‘
---------- info of ‘‘‘ + name + ‘‘‘ ---------
Name:‘‘‘ + name + ‘‘‘
Age:‘‘‘ + age + ‘‘‘
job:‘‘‘ + job + ‘‘‘
Salary:‘‘‘ + salary

例2:使用%s、%d、%f占位
info = ‘‘‘
---------- info of %s ---------
Name:%s
Age:%d
job:%s
Salary:%d
‘‘‘ % (name,name,age,job,salary)
print(info)
%s:代表字符串
%d:代表整數(需強制相關變量為整數類型)
%f:代表浮點即小數(需強制相關變量為浮點類型)
打印變量類型:print(type(變量名))
強制轉換變量類型為整形:age = int(input(age))
強制轉換變量類型為字符串:age = str(input(age))

例3:使用{}占位(官方建議使用此方式)
info = ‘‘‘
---------- info of {_name} ---------
Name:{_name}
Age:{_age}
job:{_job}
Salary:{_salary}
‘‘‘ .format(_name = name,_age = age,_job = job,_salary = salary)
print(info)

例4:使用{}占位,花括號中不指定參數
info = ‘‘‘
---------- info of {0} ---------
Name:{0}
Age:{1}
job:{2}
Salary:{3}
‘‘‘ .format(name,age,job,salary)
print(info)

九、初識模塊
1、使用模塊前需先導入
例:
import XXXX
2、實現輸入為密文模塊 getpass()
例:
import getpass
password = getpass.getpass("password")

十、判斷
1、python中if語句的子語句必須要縮進,因為python中if語句沒有開始和結束標誌符
2、if主語句必須以冒號結尾
3、所有的頂級代碼必須頂格寫
例1:
import getpass
username = input("username:")
password = getpass.getpass("password:")
_username = qj
_password = 123
if username == _username and password == _password:
print("welcome user {name} login....".format(name=name))
else:
print("invalid username or password!")
例2:猜年齡遊戲
age_of_oldboy = 56
guess_age = int(input("guess age:"))
if age_of_oldboy == guess_age:
print("yes,you got it!")
elif age_of_oldboy < guess_age:
print("think smaller....")
else:
print("think bigger....")

python3學習筆記(0)