錯誤1:
解決方案:
網(wǎng)站:http://blog.csdn.net/u010049282/article/details/52916668
解決方法:
執(zhí)行命令sudo apt-get install libffi-dev
錯誤2:
解決方案:
找到并且殺掉所有的apt-get 和apt進程
運行下面的命令來生成所有含有 apt 的進程列表熔掺,你可以使用ps和grep命令并用管道組合來得到含有apt或者apt-get的進程。
ps -A | grep apt
找出所有的 apt 以及 apt-get 進程
$ sudo kill -9 processnumber
或者
$ sudo kill -SIGKILL processnumber
比如秒紧,下面命令中的9是 SIGKILL 的信號數(shù)屯耸,它會殺掉第一個 apt 進程
$ sudo kill -9 進程ID
或者
$ sudo kill -SIGKILL 進程ID
錯誤3:
解決辦法:
ubuntu下缺少了部分如下的組件耙册,安裝一下即可
sudo apt-get install libssl-dev
But in CentOS the package is named "openssl-devel". So try:
yum install openssl-devel
成功:
####################################################
相關知識點:
isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型聘殖,類似 type()瘪菌。
isinstance() 與 type() 區(qū)別:
type() 不會認為子類是一種父類類型皿桑,不考慮繼承關系。
isinstance() 會認為子類是一種父類類型诲侮,考慮繼承關系镀虐。
如果要判斷兩個類型是否相同推薦使用 isinstance()刮便。
Python 字典(Dictionary) items()方法
描述
Python 字典(Dictionary) items() 函數(shù)以列表返回可遍歷的(鍵, 值) 元組數(shù)組。
語法
items()方法語法:
dict.items()
Python enumerate() 函數(shù)
描述
enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表恨旱、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標搜贤,一般用在 for 循環(huán)當中。
Python 2.3. 以上版本可用仪芒,2.6 添加 start 參數(shù)。
語法
以下是 enumerate() 方法的語法:
enumerate(sequence, [start=0])
參數(shù)
sequence -- 一個序列掂名、迭代器或其他支持迭代對象。
start -- 下標起始位置饺蔑。
返回值
返回 enumerate(枚舉) 對象。
實例
以下展示了使用 enumerate() 方法的實例:
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 小標從 1 開始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
普通的 for 循環(huán)
>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
... print i, seq[i]
... i +=1
...
0 one
1 two
2 three
for 循環(huán)使用 enumerate
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, seq[i]
...
0 one
1 two
2 three
>>>
Python Tuple(元組) tuple()方法
描述
Python 元組 tuple() 函數(shù)將列表轉換為元組南用。
語法
tuple()方法語法:
tuple( seq )
參數(shù)
seq -- 要轉換為元組的序列膀钠。
返回值
返回元組掏湾。
實例
以下實例展示了 tuple()函數(shù)的使用方法:
實例 1
>>>tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple({1:2,3:4}) #針對字典 會返回字典的key組成的tuple
(1, 3)
>>> tuple((1,2,3,4)) #元組會返回元組自身
(1, 2, 3, 4)
- append() 方法向列表的尾部添加一個新的元素。只接受一個參數(shù)肿嘲。
- extend()方法只接受一個列表作為參數(shù)融击,并將該參數(shù)的每個元素都添加到原有的列表中。
Python isinstance() 函數(shù)
描述
isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型雳窟,類似 type()尊浪。
isinstance() 與 type() 區(qū)別:
type() 不會認為子類是一種父類類型,不考慮繼承關系封救。
isinstance() 會認為子類是一種父類類型拇涤,考慮繼承關系。
如果要判斷兩個類型是否相同推薦使用 isinstance()誉结。
語法
isinstance(object, classinfo)
參數(shù)
object -- 實例對象鹅士。
classinfo -- 可以是直接或間接類名、基本類型或者由它們組成的元組惩坑。
返回值
如果對象的類型與參數(shù)二的類型(classinfo)相同則返回 True掉盅,否則返回 False。
實例
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元組中的一個返回 True
True
type() 與 isinstance()區(qū)別:
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
Python 字典(Dictionary) get()方法
描述
Python 字典(Dictionary) get() 函數(shù)返回指定鍵的值以舒,如果值不在字典中返回默認值趾痘。
語法
get()方法語法:
dict.get(key, default=None)
參數(shù)
key -- 字典中要查找的鍵。
default -- 如果指定鍵的值不存在時蔓钟,返回該默認值值永票。
返回值
返回指定鍵的值,如果值不在字典中返回默認值None滥沫。
實例
以下實例展示了 get()函數(shù)的使用方法:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 27}
print "Value : %s" % dict.get('Age')
print "Value : %s" % dict.get('Sex', "Never")
以上實例輸出結果為:
Value : 27
Value : Never
repr() 函數(shù)
描述
repr() 函數(shù)將對象轉化為供解釋器讀取的形式侣集。
語法
以下是 repr() 方法的語法:
repr(object)
參數(shù)
object -- 對象。
返回值
返回一個對象的 string 格式佣谐。
實例
以下展示了使用 repr() 方法的實例:
>>>s = 'RUNOOB'
>>> repr(s)
"'RUNOOB'"
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> repr(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
zip函數(shù)
zip()函數(shù)的作用就是在多個等長的序列中肚吏,每次循環(huán)都從每個序列分別取出一個元素,之后進行元素的聚合狭魂。舉例如下:
s1 = [1,2,3]
s1 = [4,5,6]
s3 = [7,8,9]
for (a,b,c) in zip(s1, s2, s3)
print (a,b,c)
輸出結果為:
(1,4,7)
(2,5,8)
(3,6,9)
說明:每次循環(huán)時罚攀,zip()函數(shù)從每個序列分別從左到右取出一個元素,合并所有元素構成一個tuple并將tuple元素賦值給a, b, c雌澄。
Python strip()方法
描述
Python strip() 方法用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列斋泄。
注意:該方法只能刪除開頭或是結尾的字符镐牺,不能刪除中間部分的字符睬涧。
語法
strip()方法語法:
str.strip([chars]);
參數(shù)
chars -- 移除字符串頭尾指定的字符序列。
返回值
返回移除字符串頭尾指定的字符生成的新字符串痹束。
實例
以下實例展示了strip()函數(shù)的使用方法:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "00000003210Runoob01230000000";
print str.strip( '0' ); # 去除首尾字符 0
str2 = " Runoob "; # 去除首尾空格
print str2.strip();
以上實例輸出結果如下:
3210Runoob0123
Runoob
With語句是什么?
有一些任務祷嘶,可能事先需要設置,事后做清理工作烛谊。對于這種場景丹禀,Python的with語句提供了一種非常方便的處理方式湃崩。一個很好的例子是文件處理接箫,你需要獲取一個文件句柄辛友,從文件中讀取數(shù)據(jù)废累,然后關閉文件句柄邑滨。
如果不用with語句钱反,代碼如下:
file = open("/tmp/foo.txt")
data = file.read()
file.close()
這里有兩個問題:
一是可能忘記關閉文件句柄面哥;
二是文件讀取數(shù)據(jù)發(fā)生異常,沒有進行任何處理归榕。
下面是處理異常的加強版本:
try:
f = open('xxx')
except:
print 'fail to open'
exit(-1)
try:
do something
except:
do something
finally:
f.close()
雖然這段代碼運行良好刹泄,但是太冗長了。
這時候就是with一展身手的時候了盅蝗。除了有更優(yōu)雅的語法风科,with還可以很好的處理上下文環(huán)境產(chǎn)生的異常乞旦。
下面是with版本的代碼:
with open("/tmp/foo.txt") as file:
data = file.read()
map()函數(shù)
描述
map() 會根據(jù)提供的函數(shù)對指定序列做映射兰粉。
第一個參數(shù) function 以參數(shù)序列中的每一個元素調用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表愕秫。
語法
map() 函數(shù)語法:
map(function, iterable, ...)
參數(shù)
function -- 函數(shù)戴甩,有兩個參數(shù)
iterable -- 一個或多個序列
返回值
Python 2.x 返回列表甜孤。
Python 3.x 返回迭代器畏腕。
以下實例展示了 map() 的使用方法:
實例
>>>def square(x) : # 計算平方數(shù)
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 計算列表各個元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數(shù)
[1, 4, 9, 16, 25]
# 提供了兩個列表描馅,對相同位置的列表數(shù)據(jù)進行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
namedtuple
namedtuple是繼承自tuple的子類铭污。namedtuple創(chuàng)建一個和tuple類似的對象,而且對象擁有可訪問的屬性谚鄙。
例子:
from collections import namedtuple
# 定義一個namedtuple類型User闷营,并包含name,sex和age屬性速蕊。
User = namedtuple('User', ['name', 'sex', 'age'])
# 創(chuàng)建一個User對象
user = User(name='kongxx', sex='male', age=21)
# 也可以通過一個list來創(chuàng)建一個User對象规哲,這里注意需要使用"_make"方法
user = User._make(['kongxx', 'male', 21])
print user
# User(name='user1', sex='male', age=21)
# 獲取用戶的屬性
print user.name
print user.sex
print user.age
# 修改對象屬性唉锌,注意要使用"_replace"方法
user = user._replace(age=22)
print user
# User(name='user1', sex='male', age=21)
# 將User對象轉換成字典袄简,注意要使用"_asdict"
print user._asdict()
# OrderedDict([('name', 'kongxx'), ('sex', 'male'), ('age', 22)])
dict與dir()的區(qū)別:
dir()是一個函數(shù)泛啸,返回的是list候址;
__dict__是一個字典,鍵為屬性名匹耕,值為屬性值泌神;
dir()用來尋找一個對象的所有屬性舞虱,包括__dict__中的屬性矾兜,__dict__是dir()的子集椅寺;
并不是所有對象都擁有__dict__屬性返帕。許多內建類型就沒有__dict__屬性篙挽,如list,此時就需要用dir()來列出對象的所有屬性。
__dict__屬性
__dict__是用來存儲對象屬性的一個字典,其鍵為屬性名球订,值為屬性的值殖蚕。
結論
dir()函數(shù)會自動尋找一個對象的所有屬性沉迹,包括__dict__中的屬性胚股。
__dict__是dir()的子集,dir()包含__dict__中的屬性缨伊。
以上這篇基于Python __dict__與dir()的區(qū)別詳解就是小編分享給大家的全部內容了刻坊,希望能給大家一個參考党晋,也希望大家多多支持腳本之家未玻。
startswith()方法:
描述
startswith() 方法用于檢查字符串是否是以指定子字符串開頭,如果是則返回 True旁趟,否則返回 False锡搜。如果參數(shù) beg 和 end 指定值耕餐,則在指定范圍內檢查辟狈。
語法
startswith()方法語法:
str.startswith(str, beg=0,end=len(string));
參數(shù)
str -- 檢測的字符串。
strbeg -- 可選參數(shù)用于設置字符串檢測的起始位置拓春。
strend -- 可選參數(shù)用于設置字符串檢測的結束位置硼莽。
返回值
如果檢測到字符串則返回True煮纵,否則返回False。
實例
以下實例展示了startswith()函數(shù)的使用方法:
#!/usr/bin/python3
str = "this is string example....wow!!!"
print (str.startswith( 'this' ))
print (str.startswith( 'string', 8 ))
print (str.startswith( 'this', 2, 4 ))
以上實例輸出結果如下:
True
True
False
導入模塊匆光,加載路徑
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
高級編程:
python
https://blog.csdn.net/m18903718781/article/details/78428878