如今深圳市場行情,高級測試工程師由於都須要對編程語言有較高的要求,可是大部分又沒有python筆試機試題,因此面試必問python基礎,這裏我整理一下python基本概念,陸續收集到面試中python相關問題都會整理在這裏python
(一)python數據類型問題list面試
1,Python3 數據類型有哪些?編程
Number 數字
String 字符串
List 列表
Tuple 元組
Dictionary 字典
Set 集合
Null 空值
Boolean 布爾值
一共8種,前6種爲常見數據類型。
(二)Python的數據類型概念,這裏會問數據類型區別,例如,list和set區別,list和tuple區別等等:api
1,Number 數字:
int(整型)
float(浮點型)
complex(複數)
2,String 字符串:app
可使用單引號('')或雙引號("")來表示字符串;
多行字符串可使用三重引號 ''' 或 """來表示;
字符串能夠被索引和截取;
加號(+)是字符串的鏈接符, 星號(*) 表示複製當前字符串,緊跟的數字爲複製的次數;
字符串內部既包含又包含能夠用轉義字符來標識
好比:
表示換行,表示製表符,字符自己也要轉義,因此表示的字符就是
'",\'I\'m \"OK\"!'\n\t\\\\
3,List 列表:編程語言
列表是有序的元素序列;
元素的類型能夠不一樣,支持數字、字符串,列表;
用 標識,內部元素用逗號分隔;
能夠被索引和截取;
列表中元素的值能夠被改變;[]
4,Tuple 元組:函數
元組與列表相同,也是有序序列,惟一的區別是元組是不可變的;
用 標識,內部元素用逗號分隔;
能夠被索引和截取,可是不能被更改;
能夠包含可變的對象,例如:List;
構造一個空的或者包含一個元素的元組比較特殊,因此要採用一些額外的語法規則:()
>>> tup1 = () # 空元組 >>> tup2 = (5, ) # 一個元素,須要在元素後添加逗號
5,Set 集合:測試
集合是一個無序不重複元素集;
用 標識,內部元素用逗號分隔;{}
可使用大括號 {}
或者 set() 函數建立集合,注意: 要建立一個空集合,必須使用 set() 而不是 {}
,由於 {}
用於建立一個空字典。spa
>>> s = {5, 'Python', 1+2j} >>> type(s) <class 'set'>
索引就沒有任何意義,切片操做符 [] 不起做用;
不重複,是指集合中相同的元素會被自動過濾掉,只保留一份;code
>>> s = {"PHP", "Python", "Java", "Python", "PHP"} >>> s {'PHP', 'Python', 'Java'} # 去重
進行成員測試(使用in關鍵字)
s = {'a',10,'b',1 + 3j,5.5} if( 'b' in s): print('b在集合中') else: print('b不在集合中')
集合運算
s1 = {'a','b','c'}
s2 = {'b','c','e'}
print(s1 - s2) # a和b的差集,結果爲{'b'}
print(s1 | s2) # a和b的並集,結果爲{'a','b','c','e'}
print(s1 & s2) # a和b的交集,結果爲{'b','c'}
print(s1 ^ s2) # a和b中不一樣時存在的元素,結果爲{'a','e'}
6,Dictionary 字典:
字典是鍵值對的無序集合;
有大量的數據時會使用;
用 {}
標識,其中的每一個元素都以 key:value
對的形式出現,key 和 value 能夠是任何類型,注意: 字典中的 key 必須是惟一的;
能夠用 key 來檢索相應的 value;
內置函數:keys()、values()、clear()
>>> d.keys() # 全部鍵
dict_keys(['name', 'site'])
>>>
>>> d.values() # 全部值
dict_values(['Python', 'www.python.org'])
>>>
>>> d.clear() # 清空字典
>>> d
{}
(三)python經常使用函數方法list:
1,內置函數
type() :獲取變量或值的類型
>>> type(i)
<class 'int'>
isinstance() :來檢查一個對象是否屬於一個特定的類
>>> isinstance(c, complex)
True
eval():能夠將字符串轉成有效的表達式(列表list,元組tuple,字典dict,集合set)來求值或者計算結果
a = '[1,2,3,4,5]' print(type(a)) print(type(eval(a)))
——————————————————————————————————————————————————
<class 'str'>
<class 'list'>
len():返回字符串的長度;
.lower():將字符串中的大寫字母轉化成小寫並返回,不改變原來的字符串;
.upper():將字符串中的小寫字母轉化成大寫並返回,不改變原來的字符串;
.swapcase():將字符串中的大寫字母轉化成小寫,小寫字母轉化成大寫,並返回,不改變原來的字符串;
.capitalize():返回字符串中的首字母大寫,其他字母小寫,不改變原來的字符串;
islower():測試全部字符是否均爲小寫形式;
isupper():測試全部字符是否均爲大寫形式;
replace(old,new):將字符串中全部子串old替換爲new並返回;
split():將空格分隔的單詞以列表的形式返回;
strip():刪除字符串兩端的空白符並返回;
len(L): 返回列表L中的元素數量
max(L): 返回列表L中的最大值
min(L): 返回列表L中的最小值
sum(L): 返回列表L中全部元素的和
L.append(v) 將值v添加到列表L中
L.insert(i,v) 將值v插入到列表L的索引i處,同時將其後的元素日後移以便騰出位置
L.remove(v) 從列表L中移除第一次找到的值v
L.reverse() 反轉列表L中的值的順序
L.sort() 隊列表L中的值以升序排序(字符串以字母表順序爲準)
L.pop() 移除並返回列表L的最後一個元素(該列表不得爲空)
add :往集合中添加一個元素
clear :移除集合中的全部元素
difference -: 根據一個集合中不存在於另外一個集合中的元素,建立中一個新的集合
intersection &: 根據兩個集合中共有的元素,建立出一個新的集合
issubset <=: 判斷一個集合的全部元素是否都包含於另外一個集合
issuperset >= :判斷一個集合是否包含了另外一個集合中的全部元素
remove :移除集合中的一個元素
symmetric_difference :^ 根據兩個集合中全部不存在於對方的元素,建立出一個新的集合
union :根據兩個集合中全部的元素,建立出一個新的集合
clear :清空字典內容
get :返回關鍵字所關聯的值,若是指定鍵不存在,則返回默認值
keys :以列表的形式返回字典中的全部鍵。所得列表中的每一個條目確定是惟一的
items :返回(key,value)列表
values :以列表的形式返回字典中的全部值。所得列表中的每一個條目不必定是惟一的
update: 用另外一個字典的內容對當前字典進行更新