標籤:入門 utf-8 乘法 計算 沒有 except 字母 組合 beijing
一.python 入門
1.1 python 中文編碼
在學習python中文編碼之前,我們需要瞭解一下什麼是編碼[預設:ascill]:
- 編碼是用預先規定的方法將文字、數字或其他對象編成數位,或將資訊轉換成規定的電脈衝訊號.編碼是資訊從一種形式或格式轉換為另一種形式的過程.
- 然而我們需要瞭解的字元編碼如下:
ASCII碼:美國標準資訊交換碼;主要用來顯示英文和歐洲語言;其最多隻能用 8 位來表示(一個位元組),即:2**8 = 256,所以,ASCII碼最多隻能表示 256 個符號.顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼.即:Unicode
Unicode碼:也叫做萬國碼,目的是為瞭解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536.
Utf-8:是對Unicode編碼的壓縮和最佳化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組儲存、歐洲的字元用2個位元組儲存,中文字元用3個位元組儲存.
- 在python2.x和3.x之間的中文編碼之間有一個區別是:在python2.x系列環境下需要聲明或者指定字元編碼;然而python3.x不需要聲明字元編碼.
- 關於中文編碼如下:
GB2312:國標碼,誕生於1980年,一共收錄了7000多個漢語字元
GBK:1995年,一共收錄了20000多個漢語字元
GB18030:是2000年為了取代GBK1.0而誕生的正式國家標準,同時還收錄了少數民族語言文字
1.2 python and shell 第一個Hello Word程式:
1 #/usr/bin/env python2 3 print ("Hello world")4 5 >>:Hello worldpython
1 #/bin/bash 2 3 echo "Hello world"4 5 #>>:Hello world
Shell
1.3 python 注釋:
#!/usr/bin/env python# -*- coding: UTF-8 -*- # 第一個注釋 #號代表單行注釋 ‘‘‘注釋內容 吧啦吧啦 ‘‘‘之間插入要注釋的內容(或者也可以使用"""之間插入注釋內容)‘‘‘注意事項:多行注釋的內容可以按照相應的格式作為變數傳入參數使用
1.4 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
1.5 python and shell 使用者輸入:
1.5.1 python 使用者輸入:
#!/usr/bin/env python# -*- coding: UTF-8 -*-#使用者前台輸入並賦值給變數namename = input("What‘s your name?") #列印出前台輸入的資訊print (" Welcome to " + name + " BJ ")
1.5.2 shell 使用者輸入:
#/bin/bash #使用者前台輸入並賦值給Uoread -p "what‘s your name" Uo #給變數name賦值name="welcome to beijing" #列印出前台輸入的資訊和變數的資訊echo $Uo$name
1.6 流量控制If....Elif....Else:
1.6.1 python。 if....else語句
#!/usr/bin/env python# -*- coding: UTF-8 -*-#前台輸入.在寫if...else語句時需要注意符號(符號: == " ").變數後必須加空格a = input("age_a:")b = input("age_b:") if a == "10" and b == "20": print(a,b)else: print("Gun.......")
python。 if....elif....else#猜年齡的遊戲開始
#設定變數user_age = 30#使用者前台輸入年齡.python中前台輸入的資訊後台預設為str字串類型user_input = int(input("Please enter the age:"))#if條件判斷if user_input == user_age: print("Welcome to the user Ipuut Correct") elif user_input < user_age: print("Errors ,Please enter age.","正確的年齡是:",user_age) else: print("idiot")
1.6.2 Shell。 if....else語句
#注意:Shell中變數後不能加空格.進行對比時前後必須有空格且需要寫在[]中.then結束語不能直接跟在[]後.需要換行寫.如下#!/bin/basha=10b=20if [ $a == $b ]then echo "This is a and b:"$a$belse echo "Gun...." echo "a and b:"$a$bfi
1.7 for迴圈:
#簡單粗暴的列印十次#注意:迴圈列印數字時需要使用rangefor i in range(10): print("loop:", i ) #以下是迴圈列印字串.先定義個列表names = ["張三","李四","王麻子"] for name in names: print(name)
需求一:還是上面的程式,但是遇到小於5的迴圈次數就不走了,直接跳入下一次迴圈
for i in range(10): if i < 5: #大於5.修改下使用符號> continue #不往下走了,直接進入下一次loop print("loop:", i )
1.8 while 迴圈:
#死迴圈.一直列印並顯示列印次數count = 0while True: print("天涯何處無芳草,何必單戀一隻鳥...",count) count += 1
需求一:迴圈到100次的時候就退出
count = 0while True: print("天涯何處無芳草,何必單戀一隻鳥...",count) count +=1 if count == 100: print("我要變成花心大羅蔔..") break
1.9 資料運算:
資料運算分為七大類分別是:算數運算、比較運算、賦值運算、邏輯運算、成員運算、身份運算、位元運算和運算子優先順序
算數運算:
| 符號 |
描述 |
執行個體 |
| + |
加-兩個對象相加 |
a + b 輸出結果30 |
| - |
減-兩數相減 |
a - b 輸出結果-10 |
| * |
乘-兩個數相成 |
a * b 輸出結果200 |
| / |
除-兩個數相除 |
a / b 輸出結果0.5 |
| % |
模數-返回除法的餘數 |
b % a輸出結果0 |
| ** |
冪-返回a的y次冪 |
a**b為10的20次方.輸出結果100000000000000000000 |
| // |
取整除-返回商的整數部分 |
9//4結果輸出2 9.0//4.0 結果輸出2.0 |
比較運算:
| 符號 |
描述 |
執行個體 |
| == |
等於-比較兩個數是否相等 |
a == b 返回False |
| != |
不等於-比較兩個數是否不相等 |
a != b 返回True |
| <> |
不等於-比較兩個數是否不相等 |
a <> b 返回True |
| > |
大於-返回a是否大於b |
a > b 返回False |
| < |
小於-返回a是否小於b. 返回0表示真1表示假.與False和True等價 |
a < b 返回 True |
| >= |
大於等於-返回a是否大於等於b |
a >= b 返回False |
| <= |
小於等於-返回a是否小於等於b |
a <= b 返回 True |
賦值運算:
| 符號 |
描述 |
執行個體 |
| = |
簡單的賦值運算子 |
c = a+b 將a+b的值賦給c |
| += |
加法賦值運算子 |
c += a 等於c = c + a |
| -= |
減法賦值運算子 |
c -= a 等於c = c - a |
| *= |
乘法賦值運算子 |
c *= a 等於c = c * a |
| /= |
除法賦值運算子 |
c /= a 等於c = c / a |
| %= |
模數賦值運算子 |
c %= a 等於c = c % a |
| **= |
冪賦值運算子 |
c **= a 等於c = c ** a |
| //= |
取整除賦值運算子 |
c //= a 等於c = c // a |
邏輯運算:
| 符號 |
描述 |
執行個體 |
| and |
布爾"與"-如果x為False,x and y返回False.否則它返回y的計算 |
(a and b).返回True |
| or |
布爾"與"-如果x是True,它返回True,否則它返回y的計算值 |
(a or b).返回True |
| not |
布爾"與"-如果x為True,返回False,如果x為False,它返回True |
not (a and b)返回False |
成員運算:
| 符號 |
描述 |
執行個體 |
| in |
在指定的序列中找到值返回True.否則False |
x在y序列中.如果x在y序列中返回True |
| not in |
在指定的序列中沒有找到值返回True.否則False |
x不在y序列中.如果x不在y序列中返回True |
身份運算:
| 符號 |
描述 |
執行個體 |
| is |
判斷兩個標識符是不是引用同一個對象 |
x is y.如果id(x)等於id(y) is返回結果1 |
| is not |
判斷兩個標識符是不是引用自不同對象 |
x is not y.如果id(x)不等於id(y).is not返回結果1 |
位元運算:
| 符號 |
描述 |
執行個體 |
| & |
按位與運算子 |
(a & b)輸出結果: 二進位解釋:0000 1100 |
| | |
按位或運算子 |
(a | b)輸出結果61: 二進位解釋:0011 1101 |
| ^ |
按位異或運算子 |
(a^b)輸出結果49: 二進位解釋:0011 0001 |
| ~ |
按位取反運算子 |
(~a) 輸出結果-61: 二進位解釋:1100 0011 |
| << |
左移動運算子 |
a << 2輸出結果240: 二進位解釋:1111 0000 |
| >> |
右移動運算子 |
a >> 2輸出結果15: 二進位解釋:0000 1111 |
運算子優先順序:
| 符號 |
描述 |
| ** |
指數(最高優先順序) |
| ~ + - |
按位翻轉.一元加號和減號(最後兩個的方法名為[email protected]和[email protected]) |
| * / % // |
乘 除 模數和取整除 |
| + - |
加法減法 |
| >><< |
左移和右移運算子 |
| & |
位‘AND‘ |
| ^ | |
位元運算符 |
| <=<>>= |
比較子 |
| <>==!= |
等於運算子 |
| = %= /= //= -= += *= **= |
賦值運算子 |
| is is not |
身份運算子 |
| in not in |
成員運算子 |
| not or and |
邏輯運算子 |
Python 自動化開發_基本文法