1. 程式人生 > >Python學習——02-Python基礎——【2-運算符與基本數據類型】——課後作業

Python學習——02-Python基礎——【2-運算符與基本數據類型】——課後作業

英語 lis 轉換 其它 變量註意事項 漢字 cti python strip

  

1、執行 Python 腳本的兩種方式

腳本:腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進制程序執行效率要稍低一些。

技術分享圖片

關於編譯器與解釋器的區別:https://blog.csdn.net/touzani/article/details/1625760

從Hello World 談Python運行原理:https://blog.csdn.net/sxb0841901116/article/details/21418885

2、簡述位、字節的關系


:"位(bit)"是電子計算機中最小的數據單位。每一位的狀態只能是0或1。

  字節:8個二進制位構成1個"字節(Byte)",它是存儲空間的基本計量單位。1個字節可以儲存1個英文字母或者半個漢字,換句話說,1個漢字占據2個字節的存儲空間。

  簡單的說
  字(word) 占2字節
  字節(byte) 占8位
  位(bit) 最小的單位
  比特就是 bit ,就是位。
  1字=2字節
  1字節=8位
  1字=2*8=16位

3、簡述 a sc ii、 u n i c o de、 u t f-8、 gbk 的關系
ASCII:(American Standard Code for Information Interchange,美國信息交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單字節編碼系統,並等同於國際標準ISO/IEC 646。

Unicode:(統一碼、萬國碼、單一碼)是計算機科學領域裏的一項業界標準,包括字符集、編碼方案等。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。

UTF-8:(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken Thompson於1992年創建。現在已經標準化為RFC 3629。UTF-8用1到6個字節編碼Unicode字符。用在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

GBK :是又一個漢字編碼標準,全稱《漢字內碼擴展規範》(GBK),英文名稱 Chinese Internal Code Specification ,中華人民共和國全國信息技術標準化技術委員會 1995 年 12 月 1 日制訂,國家技術監督局標準化司、電子工業部科技與質量監督司 1995 年 12 月 15 日聯合以技監標函 [1995] 229 號文件的形式,將它確定為技術規範指導性文件,發布和實施。這一版的 GBK 規範為 1.0 版。GB 即“國標”,K 是“擴展”的漢語拼音第一個字母。

    a.Unicode 和 UTF-8 有何區別:

                https://www.zhihu.com/question/23374078

    b.GBK和UTF-8是什麽,它們有什麽區別:

 GBK包含中日韓字符集合,他能完美支持簡體中文和英文,但如果在IE沒有安裝簡體中文支持的電腦上閱讀GBK編碼的網頁,中文會變成亂碼,例 如英國人瀏覽您的網站,電腦全是火星文,UTF-8則包含了大部分文字的編碼,可以表達更多的語言,使用UTF-8一個最大的好處就是其他地區的用 戶(美國、印度、臺灣)無需安裝簡體中文支持,就能正常看您的文字,並且不會出現亂碼,通常網絡傳輸也是使用UTF-8編碼。

  • unicode:包含所有國家的字符編碼,
  • utf-8可變長的字符編碼,英文表示一個字節,中文(繁文)表示3個字節
  • ascii美國標誌信息交換代碼,是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,一個字符占一個字節
  • gbk全稱《漢字內碼擴展規範》,一個字符占用兩個字節

4、請寫出 “李傑” 分別用 utf-8 和 gbk 編碼所占的位數

  • 在utf-8中,一個中文字符占用3個字節
  • 在gbk中一個漢字占用2個字節
  • 李傑 = utf-8(6字節)=48
  • 李傑 = gbk(4字節)=32

5、Pyhton 單行註釋和多行註釋分別用什麽?

  • 單行註釋 #被註釋內容 井號(#)常被用作單行註釋符號,在代碼中使用#時,它右邊的任何數據都會被忽略,當做是註釋。
    print 1 #輸出1
    #號右邊的內容在執行的時候是不會被輸出的。

  • 多行註釋 ‘‘‘被註釋內容‘‘‘多行註釋是用三引號‘‘‘ ‘‘‘包含的。

技術分享圖片

6、聲明變量註意事項有那些?


聲明變量:簡單的說就是避免編程時產生不必要的錯誤,一位不同類型變量的存儲格式和長度都不同,所以字節長度不同,聲明變量可以讓計算機知道你更需要用什麽樣的格式存儲變量,從而高效穩定地運行程序。
  • 變量名只能是 字母、數字或下劃線的任意組合
  • 變量名的第一個字符不能是數字
  • 以下關鍵字不能聲明為變量名
  • [‘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‘]
  • 最好不好和python內置的東西重復

7、如有一下變量n1=5,請使用int 的提供的方法,得到該變量最少可以用多少個二進制位表示?

n1=5
v = int(n1.bit_length())
print(v)

執行結果:

3

8.布爾值分別有什麽?

  • 一個布爾值只有True、False兩種值,要麽是True,要麽是False
  • 可以用0或1表示

 a    =    "alex"     
 b    =    a.capitalize()     
print(a)     
print(b)     

執行結果:

 alex
 Alex

10、寫代碼,有如下變量,請按照要求實現每個功能

name="aleX"

a.移除 name 變量對應的值兩邊的空格,並輸入移除後的內容
print(name.strip()) #aleX

b.判斷 name 變量對應的值是否以"al"開頭,並輸出結果
print(name.startswith(‘al‘)) #False

c.判斷 name 變量對應的值是否以"X"結尾,並輸出結果
print(name.endswith(‘X‘)) #False

d.將 name 變量對應的值中的“l”替換為“p”,並輸出結果
print(name.replace(‘l‘,‘p‘)) #aleX

e.將 name 變量對應的值根據“l”分割,並輸出結果。
print(name.split(‘l‘)) #[‘a‘, ‘eX‘]

f.請問,上一題e分割之後得到值是什麽類型(可選)
print(type(name.split(‘l‘))) #<class ‘list‘>

g.將 name 變量對應的值變大寫,並輸出結果
print(name.upper()) #ALEX

h.將 name 變量對應的值變小寫,並輸出結果
print(name.lower()) #alex

i.請輸出 name 變量對應的值的第 2 個字符?
print(name[1:2]) #l

j.請輸出 name 變量對應的值的前 3 個字符?
print(name[:3]) #ale

k.請輸出 name 變量對應的值的後 2 個字符?
print(name[-2:]) #eX

l.請輸出 name 變量對應的值中“e”所在索引位置?
print(name.index(‘e‘)) #2

m.獲取子序列,僅不包含後一個字符。如:oldboy則獲取oldbo;root則獲取roo

字符?

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-      
3 #Author: nulige
4 
5 n1 = "oldboy"
6 n2 = n1.strip(y)
7 print(n2)

執行結果:

1 oldbo

21、字符串是否可叠代對象?如可以請使用for 循環每一個元素?

Python學習——02-Python基礎——【2-運算符與基本數據類型】——課後作業