python的種類
- Cpython
Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。
- Jyhton
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。
- IronPython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)
- PyPy(特殊)
Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
Python 的環境
Windows:
下載地址:https://www.python.org/downloads/
首先區分你當前的操做系統,而後選擇相對應的內容進行點擊,我當前操做系統是Windows我選擇的是普通電腦系統.下一步以下圖:
而後選擇和你電腦相對應的點擊,而後就自動下載了
Linux:
自帶python環境
1
2
3
4
5
6
|
[meet@r usr]$ python37
-
V
Python
3.7
.
0
[meet@r usr]$ python3
-
V
Python
3.4
.
9
[meet@r usr]$ python2
-
V
Python
2.7
.
5
|
更新python環境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1
、安裝gcc,用於編譯Python源碼
yum install gcc
2
、下載源碼包,https:
/
/
www.python.org
/
ftp
/
python
/
3
、解壓並進入源碼文件
4
、編譯安裝
.
/
configure
make
all
make install
5
、查看版本
/
usr
/
local
/
bin
/
python2.
7
-
V
6
、修改默認Python版本
mv
/
usr
/
bin
/
python
/
usr
/
bin
/
python2.
6
ln
-
s
/
usr
/
local
/
bin
/
python2.
7
/
usr
/
bin
/
python
7
、防止yum執行異常,修改yum使用的Python版本
vi
/
usr
/
bin
/
yum
將頭部
#!/usr/bin/python 修改成 #!/usr/bin/python2.6
|
Python 入門
1、'Hello World!'
1
2
3
4
5
|
python2寫法:
print
'hello world'
python3寫法:
print
(
'hello world'
)
|
2、執行(解釋器)
明確的指出 hello.py 腳本由 python 解釋器來執行。執行Python代碼時,若是導入了其餘的 .py 文件,那麼,執行過程當中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯以後產生的字節碼。
1
2
3
|
[meet@r usr]$ ls a.py
*
a.py a.pyc
[meet@r usr]$
|
1
2
3
|
#!/usr/bin/env python
print
"你好,世界"
|
改正:應該顯示的告訴python解釋器,用什麼編碼來執行源代碼,即:
1
2
3
4
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print
"你好,世界"
|
3、變量
一、聲明變量
1
2
3
4
5
|
name
=
'Meet'
# 這樣的形式就是在定義一個變量
name 是一個變量名
=
是一個賦值操做
'Meet'
是一個值
|
變量的做用:暱稱其代指內存裏某個地址中保存的內容
變量定義的規則:
- 變量名只能是 字母、數字或下劃線的任意組合
- 變量名的第一個字符不能是數字
- 如下關鍵字不能聲明爲變量名
- ['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']
- 變量名建議不使用拼音和中文
- 變量的要具備意義
- 變量名不要過長
- 變量名要區分大小寫
- 變量名推薦寫法:
- 駝峯體 MeetTheGirl
- 下劃線 meet_the_girl
練習
1
2
3
4
5
6
|
ab c
=
'meet'
_
=
'meet'
7b
=
'meet'
a_c
=
'meet'
user_name
=
'meet'
<br>UserName
=
'meet'
<br>
以上那個是能夠成立的,下邊這個倆個都是變量命名的規範.倒數第二是下劃線方法,官方推薦使用這用,倒數第一這個是駝峯體
|
二、變量的賦值
1
2
|
name1
=
'Meet'
name2
=
'Guo'
|
1
2
|
name1
=
'Meet'
name2
=
name1
|
4、程序交互(用戶交互)
輸入用戶名
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#將用戶輸入的內容賦值給name變量
python2的寫法
name
=
raw_input
(
"請輸入用戶名:"
)
print
name
python3的寫法
name
=
input
(
"請輸入用戶名:"
)
print
(name)
|
輸入密碼時,若是想要不可見,須要利用getpass 模塊中的 getpass方法,即:
1
2
3
4
5
6
|
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import
getpass
pwd
=
getpass.getpass(
"請輸入密碼:"
)
print
(pwd)
|
注意:這個密碼不可見的方法只能在終端中實現
須要注意的是input程序交互獲取到的內容是字符串,咱們看下面的簡單示例:
1
2
3
4
5
6
7
8
9
10
11
12
|
num
=
input
(
'請輸入數字:'
)
print
(num
+
5
)
結果:
請輸入數字:
6
Traceback (most recent call last):
File
"D:/python_object/test.py"
, line
350
,
in
<module>
print
(num
+
5
)
TypeError: must be
str
,
not
int
# 報錯了,提示咱們類型錯誤,數字和字符串是不能相加的.但是咱們輸入的明明是數字啊.其實咱們看着輸入的是
# 數字可是input獲取到的都是字符串
|
練習
讓用戶輸入用戶名和密碼(密碼是不能夠見的),而後將用戶名和密碼打印出來
變量的小高級
1
2
3
4
5
|
age1
=
18
age2
=
age1
age1
=
12
age3
=
age2
print
(age1,age2,age3)
|
常量:
常量就是將變量名大寫,儘可能保持不更改的一種量
練習
1
2
3
4
|
age
=
12
age
=
12
+
1
age1
=
age
+
1
print
(
"我今年:"
,age1)
|
1
2
3
4
5
|
name1
=
'alex'
name2
=
name1
name1
=
'wusir'
name3
=
name2
打印name1,name2name3分別對應的值是什麼
|
5、註釋
單行註釋:#Meet
多行註釋:'''Meet'''
1
2
3
4
5
6
7
8
9
10
|
單行註釋(當行註釋)
# Meet
多行註釋
'''
M
e
e
t
'''
|
6、基礎數據類型(int,str,bool)
int是整型;也就是咱們從小就接觸的數學中的整數,整型在計算機中運於計算和比較在32位機器上int的範圍是: -2**31~2**31-1,即-2147483648~2147483647
在64位機器上int的範圍是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807
夠你用了吧. 注意這些是整數.
1
2
3
4
5
|
num1
=
2
num2
=
3
print
(num1
+
num2)
結果:
5
# 整型就和咱們學的數學同樣能夠進行加減乘除
|
str是字符串;也就是咱們從小就接觸的中文,若是咱們在程序中直接把中文寫入,程序是不能分辨這是個什麼鬼東西.因此咱們要遵循一種規則
讓計算機可以識別,這個規則就是隻要是用引號引發來就是字符串
在Python中,凡是用引號引發來的,全是字符串.
數字類型有 +-*/ 字符串串有麼?
字符串只有 + *。
1
2
3
4
5
6
7
8
9
10
|
#字符串的拼接
s1
=
'a'
s2
=
'bc'
#print(s1 + s2)
#相乘
str
*
int
name
=
'堅強'
#print(name*8
|
字符串能夠用單引號,雙引號,或者三引號引發來,沒有什麼區別,只是一些特殊的格式須要不用的引號 好比:
1
|
msg
=
"My name is Alex , I'm 22 years old!"
這個就須要單雙引號配合。
|
1
2
3
4
5
6
7
8
9
10
11
|
msg
=
""" 今天我想寫首小詩,
歌頌個人同桌,
你看他那烏⿊的短髮,
好像⼀一隻炸毛雞。
"""
|
想多行賦值一個字符串,就須要三引號。
bool是布爾值;其實這個東西也是咱們很小就接觸的東西,俗話說人要<明辨是非>.其實這個bool值就是咱們所說的是非,布爾值中一共分爲倆個狀態
True 就對應咱們話中的是,白話來講就是真
False 就對應咱們話中的非,白話來講就是假
例如咱們想讓計算機幫咱們作一下倆個的大小比較
1
2
3
4
5
6
7
|
print
(
3
>
7
)
結果:
False
print
(
7
>
3
)
結果:
True
|