搜尋
首頁後端開發Python教學黑馬雲課堂8天深入理解Python影片資料

黑馬雲課堂8天深入理解Python影片資料

Aug 25, 2017 pm 02:53 PM
python深入理解

Python, 是一種物件導向、解釋型電腦程式設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 Python是純粹的自由軟體,原始碼和解釋器CPython遵循 GPL(GNU General Public License)協定 。 Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮排。 Python具有豐富且強大的函式庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模組(尤其是C/C++)很輕鬆地聯結在一起。 《黑馬雲課堂8天深入理解Python影片教學》帶你深入理解Python語言。

黑馬雲課堂8天深入理解Python影片資料

影片播放位址:http://www.php.cn/course/556.html

本影片的困難點在於對C/C++的呼叫:

1、Python呼叫C動態連結函式庫


        Python呼叫C函式庫較簡單,不經過任何封裝就包裝成so,再使用python的ctypes呼叫即可。
(1)C語言檔案:pycall.c

/***gcc -o libpycall.so -shared -fPIC pycall.c*/  #include  #include  
int foo(int a , int b)  
{  
 printf("you input %d and %d\n", a, b);  
 return a+b;  
}  

(2)gcc編譯產生動態函式庫libpycall.so:gcc -o libpycall.so -shared -fPIC pycall.c。使用g++編譯產生C動態函式庫的程式碼中的函式或方法時,需要使用extern "C"來進行編譯。

(3)Python呼叫動態函式庫的檔案:pycall.py
import ctypes  
ll = ctypes.cdll.LoadLibrary  
lib = ll("./libpycall.so")    
lib.foo(1, 3)  
print '***finish***'  

(4)執行結果:

2、Python呼叫C++(類別)動態連結函式庫 

       需要extern "C"來輔助,也就是說還是只能呼叫C函數,不能直接呼叫方法,但是能解析C++方法。不是用extern "C",建構後的動態連結函式庫沒有這些函數的符號表。
(1)C++類別檔案:pycallclass.cpp

#include  
using namespace std;  
#  
class TestLib  
#{  

















#44class public:  
       void display(); ;endl;  
}  
 

void TestLib::display(int a) {  

   cout    TestLib obj;  

   void display() {  
       obj.display()      obj.display(2 );  

     }  

}


#(2)g++編譯產生動態函式庫libpycall.so:g++ -o libpycallclass.so -shared -fPIC pycallclass.cpp。

(3)Python呼叫動態函式庫的檔案:pycallclass.py

import ctypes  ###so = ctypes.cdll.LoadLibrary   ###lib = so("./ libpycallclass.so")   ###print 'display()'  lib.display()  ###print 'display(100)'  lib.display_int(100) #########老師講課輕鬆詼諧,學生講課學起來無壓力。由淺入深,深入淺出,輕鬆歡快是這個老師的整體映像。 ###

以上是黑馬雲課堂8天深入理解Python影片資料的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
什麼是Python Switch語句?什麼是Python Switch語句?Apr 30, 2025 pm 02:08 PM

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中有什麼例外組?Python中有什麼例外組?Apr 30, 2025 pm 02:07 PM

Python 3.11中的異常組允許同時處理多個異常,從而改善了並發方案和復雜操作中的錯誤管理。

Python中的功能註釋是什麼?Python中的功能註釋是什麼?Apr 30, 2025 pm 02:06 PM

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。

Python的單位測試是什麼?Python的單位測試是什麼?Apr 30, 2025 pm 02:05 PM

本文討論了Python中的單位測試,其好處以及如何有效編寫它們。它突出顯示了諸如UNITSEST和PYTEST之類的工具進行測試。

Python中的訪問說明符是什麼?Python中的訪問說明符是什麼?Apr 30, 2025 pm 02:03 PM

文章討論了Python中的訪問說明符,這些說明符使用命名慣例表明班級成員的可見性,而不是嚴格的執法。

Python中的__Init __()是什麼?自我如何在其中發揮作用?Python中的__Init __()是什麼?自我如何在其中發揮作用?Apr 30, 2025 pm 02:02 PM

文章討論了Python的\ _ \ _ Init \ _ \ _()方法和Self在初始化對象屬性中的作用。還涵蓋了其他類方法和繼承對\ _ \ _ Init \ _ \ _()的影響。

python中的@classmethod,@staticmethod和實例方法有什麼區別?python中的@classmethod,@staticmethod和實例方法有什麼區別?Apr 30, 2025 pm 02:01 PM

本文討論了python中@classmethod,@staticmethod和實例方法之間的差異,詳細介紹了它們的屬性,用例和好處。它說明瞭如何根據所需功能選擇正確的方法類型和DA

您如何將元素附加到Python數組?您如何將元素附加到Python數組?Apr 30, 2025 am 12:19 AM

Inpython,YouAppendElementStoAlistusingTheAppend()方法。 1)useappend()forsingleelements:my_list.append(4).2)useextend()orextend()或= formultiplelements:my_list.extend.extend(emote_list)ormy_list = [4,5,6] .3)useInsert()forspefificpositions:my_list.insert(1,5).beaware

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具