1、一行**實現1--100之和
>>> sum(range(1,101))
2、如何在乙個函式內部修改全域性變數
a=5print("修改之前的a的值: %s" % a)
def fn():
global a
a=3fn()
print("修改之後的a的值: %s" % a)
[python@master2 test]$ python3 c.py
修改之前的a的值: 5
修改之後的a的值: 3
3、列出5個python標準庫
sys: 通常用於命令列引數
re: 正則匹配
math: 數**算
datetime:處理日期時間
4、字典如何刪除鍵和合併兩個字典
del和update方法
dict =
dict['name']
del dict['age']
dict2 =
dict.update(dict2)
dict
5、談下python的gil
gil 是python的全域性直譯器鎖,同一程序中假如有多個執行緒執行,乙個執行緒在執行python程式的時候會霸佔python直譯器(加了一把鎖即gil),
使該程序內的其他執行緒無法執行,等該執行緒執行完後其他執行緒才能執行。如果執行緒執行過程中遇到耗時操作,則直譯器鎖解開,使其他執行緒執行。
所以在多執行緒中,執行緒的執行仍是有先後順序的,並不是同時進行。多程序中因為每個程序都能被系統分配資源,相當於每個程序有了乙個python
直譯器,所以多程序可以實現多個程序的同時執行,缺點是程序系統資源開銷大.
6、python實現列表去重的方法
list=[11,21,21,30,34,56,78]
a=set(list)
a[x for x in a]
[34, 11, 78, 21, 56, 30]
7、fun(*args,**kwargs)中的*args,**kwargs什麼意思?
乙個星號*的作用是將tuple或者list中的元素進行unpack,分開傳入,作為多個引數;兩個星號**的作用是把dict型別的資料作為引數傳入。
kwargs是keyword argument的縮寫,args就是argument。我們知道,在python中有兩種引數,一種叫位置引數(positional argument),
都會使得位置無法判斷。因此常見的也是*args 在 **kwargs 前面。
def this_fun(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
this_fun(0,1,2,3,index1=11,index2=22)
[python@master2 test]$ python3 d.py
(2, 3)
8、python2和python3的range(100)的區別
python2返回列表,python3返回迭代器,節約記憶體
[python@master2 test]$ python2
python 2.7.5 (default, may 3 2017, 07:55:04)
[gcc 4.8.5 20150623 (red hat 4.8.5-14)] on linux2
>>> range(100)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
[python@master2 test]$ python
python 3.7.1 (default, dec 14 2018, 19:28:38)
[gcc 7.3.0] :: anaconda, inc. on linux
>>> range(100)
range(0, 100)
10、python內建資料型別有哪些
整型--int
布林型--bool
字串--str
列表--list
元組--tuple
字典--dict
11、with和open對比
運用open
f1=open('d.py','r',encoding='utf-8')
data=f1.read()
print(data)
f1.close
防止檔案讀寫時因為產生ioerror,而導致close()未呼叫。我們可以用try... finally
try:
f=open('d.py','r')
try:
print(f.read())
except:
print("檔案讀取異常")
finally:
f.close()
except:
print('開啟檔案異常')
使用 with open 方法,當檔案讀寫完成後,會自動幫我們呼叫 close 方法
with open('d.py', 'r') as f1:
print(f1.read())
12、列表[1,2,3,4,5],請使用map()函式輸出[1,4,9,16,25],並使用列表推導式提取出大於10的數,最終輸出[16,25]
map()是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。
list=[1,2,3,4,5]
def fn(x):
return (x**2)
res=map(fn,list)
res=[ i for i in res if i >10]
print(res)
[python@master2 test]$ python a.py
[16, 25]
13.python中生成隨機整數、隨機小數、0--1之間小數方法
隨機整數:random.randint(a,b),生成區間內的整數
隨機小數:習慣用numpy庫,利用np.random.randn(5)生成5個隨機小數
0-1隨機小數:random.random(),括號中不傳參
import random
import numpy
>>> random.randint(0,10)
>>> numpy.random.randn(5)
array([-0.21294827, 0.21725878, 1.22016076, 0.01280653, 0.79922363])
>>> random.random()
0.047529962365749134
14.python中斷言方法舉例
a=5assert(a>1)
print('斷言成功,程式繼續向下執行')
b=8assert(b>10)
print('斷言失敗,程式報錯')
執行:[python@master2 test]$ python b.py
斷言成功,程式繼續向下執行
traceback (most recent call last):
file "b.py", line 5, in
assert(b>10)
assertionerror
15.python2和python3區別?列舉5個
1、python3 使用 print 必須要以小括號包裹列印內容,比如print('hi')
python2 既可以使用帶小括號的方式,也可以使用乙個空格來分隔列印內容,比如print 'hi'
2、python2 range(1,10)返回列表,python3中返回迭代器,節約記憶體
3、python2中使用ascii編碼,python中使用utf-8編碼
4、python2中unicode表示字串序列,str表示位元組序列
python3中str表示字串序列,byte表示位元組序列
5、python2中為正常顯示中文,引入coding宣告,python3中不需要
6、python2中是raw_input()函式,python3中是input()函式
16.用lambda函式實現兩個數相乘
>>> sum=lambda a,b:a*b
>>> print(sum(2,3))
17.氣泡排序
lis = [56,12,2,4,100,34,345,-65]
print(lis)
def sortport():for i in range(len(lis)-1):for j in range(len(lis)-1-i):if lis[j]>lis[j+1]:
lis[j],lis[j+1]=lis[j+1],lis[j]
returnlis
sortport()print(lis)[python@master2 sys]$ python3 a.py[56, 12, 2, 4, 100, 34, 345, -65]
[-65, 2, 4, 12, 34, 56, 100, 345]
python部落格園 python 模擬部落格園系統
作業 用 模擬系統。專案分析 一 首先程式啟動,頁面顯示下面5內容供使用者選擇 1.請登入 2.請註冊 3.進入文章頁面 5.進入日記頁面 6.進入收藏頁面 7.登出賬號 8.退出整個程式 二 必須實現的功能 1.註冊功能要求 a.使用者名稱 密碼要記錄在檔案中。b.使用者名稱要求 只能含有字母或者...
python部落格園 python部落格大全
python技術部落格 egon部落格 檢視密碼 xiaoyuanqujing 666 pycharm 問題搜尋 專案前端 django框架 python orm 基礎知識 多執行緒多程序 指定 f引數容易失敗,多程序要加multiprocessing.freeze support 選擇資料夾 寫入...
部落格園基本知識
遇到問題,請提交至 隨筆與文章的區別是什麼?文章不能發布到主頁,也不能發布到個人blog首頁,只能發布在文章檔案與文章分類中。如何在發表文章時使用摘要?在高階選項 advanced options 中,在 摘要 中輸入摘要內容,並選中 使用摘要方式發布 如何在相簿中上傳?進入管理頁面的 相簿 點選左...