1、簡述解釋型和編譯型編程語言?
概念:
- 編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然後,可直接運行這個程序。
- 解釋型語言:把做好的源程序翻譯一句,然後執行一句,直至結束!
區別:
- 編譯型語言,執行速度快、效率高;依賴編譯器、跨平臺性差些。如C、C++、Delphi、Pascal,Fortran。
- 解釋型語言,執行速度慢、效率低;依賴解釋器、跨平臺性好。如Java、Basic.
2、Python解釋器種類以及特點
- CPython
- c語言開發的 使用最廣的解釋器
- IPython
- 基於cpython之上的一個交互式計時器 交互方式增強 功能和cpython一樣
- PyPy
- 目標是執行效率 採用JIT技術 對python代碼進行動態編譯,提高執行效率
- JPython
- 運行在Java上的解釋器 直接把python代碼編譯成Java字節碼執行
- IronPython
- 運行在微軟 .NET 平臺上的解釋器,把python編譯成. NET 的字節碼
3、python常見的PEP8規範
- 每級縮進用4個空格
- Python 3中不允許混合使用Tab和空格縮進。
- 限制所有行的最大行寬為79字符。
- 在核心Python發佈的代碼應該總是使用UTF-8(ASCII在Python 2)。
- 推薦絕對路徑導入,因為它們通常更可讀
4、通過代碼實現如下進制轉換:
5、python遞歸的最大層數
得到的最大數字在3925-3929之間浮動,這個是和計算機有關係的,不然也不會是一個浮動的數字了(數學邏輯講求嚴謹)
6、三元運算規則以及應用場景
- 三元運算符就是在賦值變量的時候,可以直接加判斷,然後賦值
- 三元運算符的功能與'if....else'流程語句一致,它在一行中書寫,代碼非常精煉,執行效率更高
- 格式:[on_true] if [expression] else [on_false]
- res = 值1 if 條件 else 值2
7、列舉 Python2和Python3的區別
- input
- 問題在控制檯上看到的到底是什麼
- 打開文件不再支持 file 方法,只能用 open
- range不再返回列表,而是一個可迭代的range對象
- 除法 / 不再是整除,而是得到浮點數,整除需要用雙斜槓 //
- urllib和urllib2合併成了urllib,常用的urllib2.urlopen()變成了urllib.request.urlopen()
- 字符串及編碼相關有大變動,簡單來說就是原來的str變成了新的bytes,原來的unicode變成了新的str。
8、xrange和range的區別
python2中 xrange 用法與 range 完全相同,所不同的是生成的不是一個list對象,而是一個生成器。
9、python的read() 、readline()、readlines()、xreadlines()
- read()會讀取整個文件,將讀取到底的文件內容放到一個字符串變量,返回str類型。
- readline()讀取一行內容,放到一個字符串變量,返回str類型。
- readlines() 讀取文件所有內容,按行為單位放到一個列表中,返回list類型。
- xreadlines()返回一個生成器,來循環操作文件的每一行。
10、列舉布爾值為False的常見值
None、""、0、[]、()、{}
11、字符串、列表、元組、字典每個常用的5個方法(整型,浮點,字符串,布爾型,列表、元組、字典、集合、日期)
字符串:
列表:
元組:
1.用一個可迭代對象生成元組
T = tuple('abc')
對元組進行排序
注意:當對元組進行排序的時候,通常先得將它轉換為列表並使得它成為一個可變對象.或者使用sorted方法,它接收任何序列對象.
T = ('c','a','d','b')
tmp = list(T)
tmp.sort() ==> ['a','b','c','d']
T = tunple(tmp)
sorted(T)
字典:
以下實例展示了 fromkeys()函數的使用方法:
實例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
seq = ('Google', 'Runoob', 'Taobao')
dict = dict.fromkeys(seq)
print "新字典為 : %s" % str(dict)
dict = dict.fromkeys(seq, 10)
print "新字典為 : %s" % str(dict)
以上實例輸出結果為:
新字典為 : {'Google': None, 'Taobao': None, 'Runoob': None}
新字典為 : {'Google': 10, 'Taobao': 10, 'Runoob': 10}
通過zip函數構建字典
D = dict(zip(keyslist,valueslist))
通過賦值表達式元組構造字典(鍵必須是字符串,因為如果不是字符串,構造的時候也會當成是字符串處理)
D = dict(name='Bob',age=42) ==> {'name':'Bob,'age':42}
列出所有的鍵,值.注意得到的是一個可迭代對象,而不是列表.用的時候需要轉換
D.keys()
D.values()
D.items() --> 鍵 + 值
刪除字典(根據鍵)以及長度
D.pop(key)
len(D)
del D[key]
新增或者是修改鍵對應的值
D[key] = value # 如果key已經存在則修改,如果不存在就創建.
字典推導式
D = [x:x**2 for x in range(10) if x %2 == 0]
最後檸檬為大家準備了一些python學習教程,希望可以幫助到大家。
獲取方式:請大家轉發+關注並私信小編關鍵詞:“資料”即可獲取。
閱讀更多 java丶檸檬 的文章
關鍵字: IronPython 淘寶網 考核內容