immutablepython
Ⅰ 幾個python題目
1.【選擇】下面哪個選項不是定義列表的正確方式?(D)
D.myList4=2,3,4,5
答案解析:這是定義元組的方式,而不是列表
2.【選擇】根據下面表達式,a的值是:(C)
C.loWo
3.【填空】請寫出如何切片myList[]的倒數第3~5位。
myList[-3:-5]
4.【判斷】列表內元素的下標是從0開始的。(√)
5.【選擇】下列Python表達式可以將列表反向並改變原列表值的是:(D)
D.myList.reverse()
答案解析:切片會生成新的列表;reversed只是生成新的迭代器;只有list.reverse()會對原表的值進行改變
-----------
1.【判斷】Python語句「x="a","b","c"」中,x是一個元組。(√)
2.【選擇】執行下列Python語句會報錯的是:(A)
A.myTuple[3]=30
答案解析:元組是immutable(不可變)的,所以不能改變元組的值
3.【填空】使用Python內置函數,計算元組myTuple的語句是:
sum(myTuple)
4.【選擇】下列關於Python的描述錯誤的是:(C)
C.對元組內部元素進行排序使用的是sort()
答案解析:元組不可變,所以不能對元素進行排序
------------
1.【選擇】下列關於Python中字元串說法錯誤的是:(D)
D.Python中字元類型是char,字元串的類型是str
答案解析:python字元和字元串類型都是str
3.【填空】請寫出用空格「」合並字元串「Jane」、「Doe」的Python語句:
"Jane"+""+"Doe"
4.【選擇】下列不是Python3中解決路徑中特殊字元問題的選項是:(C)
C.s=u"D: est"
------------
1.【選擇】下列不是序列的是:(C)
C.集合
3.【選擇】下面哪些操作是序列都具有的?(D)
D.以上都是
-----
1.【判斷】Python中符號{}僅用在集合這一數據類型中。(B.×)
3.【填空】語句set("datascience")的結果是:
集合{'d','a','t','s','c','i','e','n'}
4.【選擇】下列關於集合的說法錯誤的是:(A)
A.集合具有互異性,定義集合時不允許出現相同的元素
答案解析:出現了重復也沒事,會自動去重的。
7.【選擇】在Python中對數據進行去重處理,一般會藉助下列哪種數據類型?(C)
C.集合
---------
1.【填空】有兩個列表a=["name","age","sex"],b=["jonh","23","M"],請用一個語句將這兩個列表轉換成字典,其中列表a中的元素為「鍵」,列表b中的元素為「值」。
dict(zip(a,b))
2.【填空】定義一個新字典如下,用print輸出dict1的結果是:
{1:3,2:'a'}
4.【判斷】下面對字典d的定義是正確的。(B.×)
答案解析:列表不能用做鍵。應該用元組('a','b')做鍵。
Ⅱ python賦值問題
你漏了另一個知識點:可變變數和不可變變數。
數值屬於不可變變數,比如數值1,一個程序中,內存中只用一個地址來保存它,不管有多少個變數,賦值為1,都只是指向這個變數。
變數重新賦值,只是把指向變更了,
Ⅲ Python中的字典是什麼
字典(Dictionary)
字典也是Python語言中經常使用的一種數據類型。跟列表類似,字典是另外一種可存儲任意類型的數據,並且字典儲存的數據也是可以修改的。
不同於列表的是,字典每個基本元素都包括兩個部分:鍵(key) 和 鍵對應的值(value)。
- d = {"key1" : 1, "key2" : "hi", "key3":[]}
在字典中,鍵的內容是不可重復的。鍵為不可變數據類型,值可以是任何數據類型。在這里,鍵只支持字元串類型。
字典最大的優勢就是能在海量數據下利用「鍵」快速查找出想要的值,當有很多數據需要存儲的時候,我們給每個值都打個標簽,也就是「鍵」;想要調用這個值時,字典能夠利用這個標簽快速幫我們找到它。但是如果標簽重復了,字典不知道哪個值才是對的,就會報錯哦~
列表是根據排序來記錄每項的值,但是字典是沒有順序的,所以同一字典,每次列印出的排序可能是不同的。「鍵」才是調用字典的關鍵元素。
字典是基礎的數據類型,所以變數也可以被賦值為字典。
鍵和值之間用冒號(:)分割,每對元素之間用逗號(,)分割,整個字典的數據在大括弧{}中,格式如下所示:
Ⅳ 關於python中的賦值變數的問題
同一個地址,類似於ActionScript3, python中的字元串是不變對象,不允許對其中的字元按下標修改.當為某個字元串變數賦新的字元串值時,僅僅是更改這個變數指向的地址
Ⅳ Python中處理時間的幾種方法小結
python中的時間模塊主要有time, datetime。
I, time模塊
time模塊中包含了四種時間格式:
float格式,即給定時間相對於epoch增加的秒數
tuple格式,一個九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的時間
針對這幾種時間格式,time模塊提供了函數在格式之間相互轉換。
asctime(tuple) ->string
ctime(float) ->string
gmtime(float) ->tuple
localtime(float) ->tuple
mktime(tuple) ->float
strftime(format, tuple) ->format string
strptime(formatstring, format) ->tuple
time() -> float
上述函數中,除了time()函數直接返回當前時間相對於epoch的秒數外,其他函數都要求有時間的輸入,如果沒有輸入,則默認使用當前時間。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期簡寫
%A 英文星期的完全
%b 英文月份的簡寫
%B 英文月份的完全
%c 顯示本地日期時間
%d 日期,取1-31
%H 小時, 0-23
%I 小時, 0-12
%m 月, 01 -12
%M 分鍾,1-59
%j 年中當天的天數
%w 顯示今天是星期幾
%W 第幾周
%x 當天日期
%X 本地的當天時間
%y 年份 00-99間
%Y 年份的完整拼寫
%S 秒(00-59)
除了上述的時間轉換函數之外,模塊還提供了下面的函數:
clock() 返回進程的創建時間,以秒計數的float
sleep(float) sleep一段時間,以秒計數
tzset() 更改時區
II, datetime
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時間。datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;date.resolution:date對象表示日期的最小單位。這里是天。date.today():返回一個表示當前本地日期的date對象;date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似於我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
Ⅵ 關於qt+pyqt開發中python的immutable參數傳遞
# a.py
import b
class Window(QMainWindow):
def __init__(self,parent):
........# super function here
self.f = file('/home/somefile.txt')
self.ui.btn_go.clicked.connect(self.onBtnGo)
........
def onBtnGo(self):
self.result = b.func(self.f)
# file:b.py
def func(f):
result = do_some_sub_with_f_here(f)
return result