1
|
name
=
"Eterniy"
|
上述代碼聲明瞭一個變量,變量名爲: name,變量name的值爲:"Eternity" html
1
2
3
4
5
6
7
|
name
=
"Eternity"
name2
=
name
print
(name,name2)
name
=
"Jack"
print
(
"What is the value of name2 now?"
) #Eternity
|
Python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)python
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256-1,因此,ASCII碼最多隻能表示 255 個符號。程序員
爲了處理漢字,程序員設計了用於簡體中文的GB2312和用於繁體中文的big5。數組
GB2312(1980年)一共收錄了7445個字符,包括6763個漢字和682個其它符號。漢字區的內碼範圍高字節從B0-F7,低字節從A1-FE,佔用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。oop
GB2312 支持的漢字太少。1995年的漢字擴展規範GBK1.0收錄了21886個符號,它分爲漢字區和圖形符號區。漢字區包括21003個字符。2000年的 GB18030是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。如今的PC平臺必須支持GB18030,對嵌入式產品暫不做要求。因此手機、MP3通常只支持GB2312。優化
從ASCII、GB23十二、GBK 到GB18030,這些編碼方法是向下兼容的,即同一個字符在這些方案中老是有相同的編碼,後面的標準支持更多的字符。在這些編碼中,英文和中文能夠統一地處理。區分中文編碼的方法是高字節的最高位不爲0。按照程序員的稱呼,GB23十二、GBK到GB18030都屬於雙字節字符集 (DBCS)。ui
有的中文Windows的缺省內碼仍是GBK,能夠經過GB18030升級包升級到GB18030。不過GB18030相對GBK增長的字符,普通人是很難用到的,一般咱們仍是用GBK指代中文Windows內碼。編碼
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,注:此處說的的是最少2個字節,可能更多。spa
UTF-8,是對Unicode編碼的壓縮和優化,它再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存....net
因此,Python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),在Python2中若是是以下代碼的話會報錯,由於ASCII碼沒法表示中文。
1
2
3
|
#!/usr/bin/env python
print
"你好,世界"
|
改正:應該顯示的告訴python解釋器,用什麼編碼來執行源代碼,即:
1
2
3
4
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print
"你好,世界"
|
當行註釋:# 被註釋內容
多行註釋:""" 被註釋內容 """
1
2
3
|
#name = raw_input("What is your name?") #only on python 2.x
name
=
input
(
"What is your name?"
)
print
(
"Hello "
+
name )
|
輸入密碼時,若是想要不可見,須要利用getpass 模塊中的 getpass方法(在Pycharm中無效),即:
1
2
3
4
5
6
|
import
getpass
# 將用戶輸入的內容賦值給 name 變量
pwd
=
getpass.getpass(
"請輸入密碼:"
)
# 打印輸入的內容
print
(pwd)
|
2 是一個整數的例子。
長整數 不過是大一些的整數。
3.23和52.3E-4是浮點數的例子。E標記表示10的冪。在這裏,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是複數的例子,其中-5,4爲實數,j爲虛數,數學中表示覆數是什麼?。
int(整型)
"hello world"
1
2
3
|
name
=
"Eternity"
print
"i am %s "
%
name
#輸出: i am Eternity
|
PS: %s——字符串;%d——整數;%f——浮點數
1
2
3
|
name_list
=
[
'Eternity'
,
'seven'
,
'eric'
]
或
name_list =
list
([
'Eternity'
,
'seven'
,
'eric'
])
|
基本操做
1
2
3
|
ages
=
(
11
,
22
,
33
,
44
,
55
)
或
ages
=
tuple
((
11
,
22
,
33
,
44
,
55
))
|
1
2
3
|
person
=
{
"name"
:
"mr.wu"
,
'age'
:
18
}
或
person
=
dict
({
"name"
:
"mr.wu"
,
'age'
:
18
})
|
經常使用操做
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
a
=
60
# 60 = 0011 1100
b
=
13
# 13 = 0000 1101
c
=
0
c
=
a & b;
# 12 = 0000 1100
print
"Line 1 - Value of c is "
, c
c
=
a | b;
# 61 = 0011 1101
print
"Line 2 - Value of c is "
, c
c
=
a ^ b;
# 49 = 0011 0001 #相同爲0,不一樣爲1
print
"Line 3 - Value of c is "
, c
c
=
~a;
# -61 = 1100 0011
print
"Line 4 - Value of c is "
, c
c
=
a <<
2
;
# 240 = 1111 0000
print
"Line 5 - Value of c is "
, c
c
=
a >>
2
;
# 15 = 0000 1111
print
"Line 6 - Value of c is "
, c
|
*按位取反運算規則(按位取反再加1) 詳解http://blog.csdn.net/wenxinwukui234/article/details/42119265
場景1、用戶登錄驗證
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 提示輸入用戶名和密碼
# 驗證用戶名和密碼
# 若是錯誤,則輸出用戶名或密碼錯誤
# 若是成功,則輸出 歡迎,XXX!
import
getpass
name
=
raw_input
(
'請輸入用戶名:'
)
pwd
=
getpass.getpass(
'請輸入密碼:'
)
if
name
=
=
"Eternity"
and
pwd
=
=
"cmd"
:
print
(
"歡迎,Eternity!"
)
else
:
print
(
"用戶名和密碼錯誤"
)
|
場景2、猜年齡遊戲
在程序裏設定好你的年齡,而後啓動程序讓用戶猜想,用戶輸入後,根據他的輸入提示用戶輸入的是否正確,若是錯誤,提示是猜大了仍是小了
1
2
3
4
5
6
7
8
9
10
|
user_input
=
int
(
input
(
"input your guess num:"
))
if
user_input
=
=
my_age:
print
(
"Congratulations, you got it !"
)
elif
user_input < my_age:
print
(
"Oops,think bigger!"
)
else
:
print
(
"think smaller!"
)
|
最簡單的循環10次
1
2
|
for
i
in
range
(
10
):
print
(
"loop:"
, i )
|
輸出:
1
2
3
4
5
6
7
8
9
10
|
loop:
0
loop:
1
loop:
2
loop:
3
loop:
4
loop:
5
loop:
6
loop:
7
loop:
8
loop:
9
|
需求一:仍是上面的程序,可是遇到小於5的循環次數就不走了,直接跳入下一次循環
1
2
3
4
|
for
i
in
range
(
10
):
if
i<
5
:
continue
#不往下走了,直接進入下一次loop
print
(
"loop:"
, i )
|
需求二:仍是上面的程序,可是遇到大於5的循環次數就不走了,直接退出
1
2
3
4
|
for
i
in
range
(
10
):
if
i>
5
:
break
#不往下走了,直接跳出整個loop
print
(
"loop:"
, i )
|
死循環代碼
1
2
3
4
|
count
=
0
while
True
:
print
(
"你是風兒我是沙,纏纏綿綿到天涯..."
,count)
count
+
=
1
|
循環100次退出
1
2
3
4
5
6
7
8
|
count
=
0
while
True
:
print
(
"你是風兒我是沙,纏纏綿綿到天涯..."
,count)
count
+
=
1
if
count
=
=
100
:
print
(
"去你媽的風和沙,大家這些脫了褲子是人,穿上褲子是鬼的臭男人.."
)
break
|
回到上面for 循環的例子,如何實現讓用戶不斷的猜年齡,但只給最多3次機會,再猜不對就退出程序。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
my_age
=
28
count
=
0
while
count <
3
:
user_input
=
int
(
input
(
"input your guess num:"
))
if
user_input
=
=
my_age:
print
(
"Congratulations, you got it !"
)
break
elif
user_input < my_age:
print
(
"Oops,think bigger!"
)
else
:
print
(
"think smaller!"
)
count
+
=
1
#每次loop 計數器+1
else
:
print
(
"猜這麼屢次都不對,你個笨蛋."
)
|