python 基礎二

1、流程控制-while循環,結構以下:python

 

while 條件:學習

  結果編碼

若是條件是真,則直接執行結果,而後再次判斷條件,直到條件是假,中止循環設計

那麼咱們如何終止循環呢?code

1,改變循環條件orm

2,breakutf-8

注意:continue並不能結束循環,只是結束本次循環,繼續下一次循環ci

 

while循環補充:unicode

while 條件:字符串

  循環體

else: # 循環在正常狀況跳出以後會執行這裏

例如:

index = 1

while index < 11

  if index == 8:

    # break

     pass

  else:

    print(index)

  Index = index + 1

else:print(「您好」)

注意:若是循環是經過break退出的,那麼while後面的else將不會被執行,只有在while條件判斷是假的時候纔會執行這個else。

pass:不表示任何內容,爲了代碼的完整性,佔位而已

 

2、流程控制-break和continue

1,break:打斷,完全終止當前本層循環

2,continue:中止本次循環,繼續執行下一次循環

 

3、格式化輸出

如今有如下需求,讓用戶輸入name,age,job,hobby而後輸出以下所示:

--------------- info of Alex Li ---------------

Name   : Alex Li

Age     : 22

job      : Teacher

Hobby   : girl

-------------------- end ---------------------

要怎麼實現呢?你會發現,用字符拼接的方式很難實現這種格式的輸出,因此一塊兒來學一下新姿式,你須要把要打印的格式先準備好,因爲裏面的一些信息是須要用戶輸入的,你沒辦法預先知道,所以能夠先放置一個位置佔位符,再把字符串裏的佔位符與外部的變量作個映射關係就行了,具體以下:

name = input(「Alex Li」)

age = input(「22」)

job = input(「Teacher」)

hobby = input(「girl」)

info = ’’’

--------------- info of %s -----------------    # 這裏的每一個%s就是一個佔位符

Name   : %s

Age     : %s

job      : %s

Hobby   : %s

-------------------- end -------------------  

’’’ % (name , name , age , job , hobby)  # 這行的%就是把前面的字符串與後面的變量關聯起來

 

%s就是表明字符串佔位符,除此以外,還有%d,是數字佔位符,若是把上面age後面的換成%d,就表明你必須只能輸入數字,這時age對應的數據類型必須是int類型,不然程序會報錯。

int(str)  # 字符串轉換成int類型

str(int)  # int轉換成字符串類型

若是你以爲轉換類型麻煩,不想轉換,也能夠所有都用%s,由於任何東西均可以直接轉換成字符串(僅限%s)

如今問題又來了,若是想輸出: 我叫%s,今年多少歲,咱們已經學習了2%的python了

這裏的問題在哪裏呢?沒錯,就是2%,在字符串中若是使用了%s這樣的佔位符,那麼全部的%都將變成佔位符,咱們的2%也變成了佔位符,而上句中「%的」是不存在的,這裏咱們須要使用%%來表示字符串中的%。

注意:若是你的字符串中沒有使用過%s,%d佔位,那麼就不須要考慮那麼多,該%就%,程序不會報錯。

例如:print(「我叫%s,今年22歲了,學習python2%%了」 % ‘lily’)    # 有%佔位符,想輸出「2%」就要寫成「2%%」

     print(「我叫lily,今年22歲了,已經學了80%python了」)   # 沒有佔位符,正常寫便可

 

4、基本運算符

計算機能夠進行的運算有不少種,可不僅有加減乘除這麼簡單,運算按種類可分爲:

算數運算

比較運算

邏輯運算

賦值運算

成員運算

身份運算

位運算

今天咱們暫時學習算數運算,比較運算,邏輯運算,賦值運算

4.1 算數運算

+,-,*,/,%(取餘),**(次冪),//(整除或地板除)

4.2 比較運算

==,!=,<>(不等於),>,<,>=,<=

4.3 邏輯運算

and -- 而且,兩邊同時爲真,結果纔是真,有一個是假,結果爲假

or -- 或者,兩邊只要有一個爲真,結果就爲真

not – 非真即假,非假即真

邏輯運算的進一步研究:

1,在沒有()的狀況下not的優先級高於and,and優先級高於or,即優先級關係:( ) > not > and > or,同一優先級的從左往右。

( ) > not > and > or

例題:判斷下列邏輯語句的True,False

  3 > 4 or 4 < 3 and 1 == 1

  1 < 2 and 3 < 4 or 1 > 2

  2 > 1 and 3 < 4 or 4 > 5 and 2 < 1

  not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

2,x or y,x爲真,值就是x,x爲假,值是y

     x and y,x爲真,值是y,x爲假,值是x

例題:求出下列邏輯語句的值

  8 or 4

  0 and 3

  0 or 4 and 3 or 7 or 9 and 6

4.4 賦值運算

=,+=,-=,*=,/=,%=,**=,//=

 

5、編碼初識

Python2解釋器在加載 .py文件中的代碼時,會對內容進行編碼(默認ascill),而python3對內容進行編碼的默認爲utf-8。

早期,計算機是美國發明的,普及率不高,通常只是在美國使用,因此,最先的編碼結構就是按照美國人的習慣來編碼的,對應數字+字母+特殊字符一共也沒多少,因此就造成了最先的編碼:ASCII碼,直到今天ASCII依然深深的影響着咱們。

ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其餘西歐語言,其最多隻能用8位來表示(一個字節),即2**8 = 256,因此,ASCII碼最多隻能表示256個字符。

隨着計算機的發展以及普及率的提升,流行到歐洲和亞洲,這時ASCII碼就不合適了,好比:中文漢字有幾萬個,而ASCII最多也就256個位置,因此ASCII不行了,怎麼辦呢?這時,不一樣的國家就提出了不一樣的編碼用來適應於各自的語言環境,好比,中國的GBK,GB2312,BIG5,ISO-8859-1等等,這時各個國家均可以使用計算機了。

GBK,國標碼佔用2個字節,對應ASCII碼,GBK直接兼容,由於計算機底層是用英文寫的,你不支持英文確定不行,而英文已經使用了ASCII碼,因此GBK要兼容ASCII。

字母A:0100 0001 #ASCII碼

字母A:0000 0000 0100 0001  #GBK國標碼

因爲國標碼使用兩個字節,因此對於ASCII 碼而言,前8位都是0

 

國標碼的弊端:只能中國用,日本用就垮了,因此國標碼不知足咱們的使用,這時提出了一個萬國碼Unicode,Unicode一開始設計是每一個字符兩個字節,設計完了,發現我大中國漢字依然沒法進行編碼,只能進行擴充,擴充成32位也就是4個字節,這回夠了,可是,問題來了,中國字9萬多,而unicode能夠表示40多億,根本用不了,太浪費了,因而乎,就是提出了新的UTF編碼,便可變長度編碼。

UTF-8:每一個字符最少佔8位,每一個字符佔用的字節數不定,根據文字內容進行具體編碼,好比:英文,就一個字節就夠了;漢字佔3個字節,這時既知足了中文,也知足了節約,也是目前使用頻率最高的一種編碼

UTF-16:每一個字符最少佔16位

GBK:每一個字符佔2個字節,16位

 

編碼小結:

1,ASCII是最先的編碼,至今還在使用,一個字符8位(一個字節)

2,GBK,國標碼,16位,2個字節

3,unicode,萬國碼,32位,4個字節

4,UTF-8,可變長度的unicode

英文:8位,1一個字節

歐洲文字:16位,2個字節

漢字:24位,3個字節

 

單位轉換(經常使用到TB就夠了):

8bit = 1byte    或者    8b = 1B

1024byte = 1KB

1024KB = 1MB

1024MB = 1GB

1024GB = 1TB

1024TB = 1PB

1024PB = 1EB

1024EB = 1ZB

1024ZB = 1YB

1024YB = 1NB

1024NB = 1DB

 

in 和not in

能夠判斷xxx字符串是否出如今xxxxx字符串中

例如:

content = input(「請輸入你的評論」)

if 「蒼老師」 in content or 「邱老師」 in content:

  print(「你輸入的內容不合法」)

else:

  print(「評論成功」)

相關文章
相關標籤/搜索