原创 pyc文件是怎麼創建的?

pyc文件的觸發 前面我們提到,每一個代碼塊(code block)都會對應一個PyCodeObject對象,Python會將該對象存儲在pyc文件中。但不幸的是,事實並不總是這樣。有時,當我們運行一個簡單的程序時並沒有產生pyc文件,因

原创 給類型對象設置類型和基類信息

內置類對象雖然在底層靜態定義好了,但是還不夠完善。解釋器在啓動之後還要再打磨一下,然後才能得到我們平時使用的類型對象,而這個過程被稱爲類型對象的初始化。 類型對象的初始化,是通過 PyType_Ready 函數實現的,我們來看一下,它位於

原创 如何用JavaScript實現一門編程語言

解析器可以直接操作標記流而不用處理單個字符。爲了降低複雜度,它同樣定義了很多工具函數。這裏首先討論一下構成解析器的主要函數。我們從一個上層的lambda解析器開始講起: function parse_lambda() { ret

原创 C語言中#pragma once的作用是什麼?

1、#pragma once有什麼作用? 爲了避免同一個頭文件被包含(include)多次,C/C++中有兩種宏實現方式:一種是#ifndef方式;另一種是#pragma once方式。 在能夠支持這兩種方式的編譯器上,二者並沒有太大的區

原创 字典是怎麼創建的,支持的操作又是如何實現的?

PyDictObject 的創建 解釋器內部會通過PyDict_New來創建一個新的dict對象。 PyObject * PyDict_New(void) { //new_keys_object表示創建PyDictKey

原创 7 個實用 TypeScript 單行代碼

一般更少的代碼通常意味着是更好的代碼,因此,今天,我將跟大家分享7個TypeScript的單行代碼,其中不乏泛型、斷言等高級用法,希望對大家有所幫助。 1、底部可見 確定頁面底部是否可見。 const bottomVisible = ()

原创 語法以及如何聲明一個類

在今天的教程中,我們將瞭解 JavaScript 類以及如何有效地使用它。 JavaScript 類是創建對象的藍圖。一個類封裝了數據和操作數據的函數。 與 Java 和 C# 等其他編程語言不同,JavaScript 類是原型繼承之上的

原创 vue3.x+ts+vite2環境變量配置

在做項目環境變量配置前,可以先到官網回憶一下環境變量的基本使用, https://cn.vitejs.dev/guide/e... 一、環境模式 首先環境變量是可以分模式的,常用模式如下: .env # 所有

原创 如何把CPP源程序改寫成C語言?

曾經參與過公司的bpp項目,就是bluetooth print profile。由於使用了hpijs的開源包,但是是C++的。由於C++解釋器比C語言解釋器佔用的存儲空間要大500k左右。爲了節省有限的存儲空間,降低成本,同時也爲了提高效

原创 一個超級炫酷的C語言小技巧

C語言常常讓人覺得它所能表達的東西非常有限,它不具有類似第一級函數和模式匹配這樣的高級功能,但是卻非常簡單,並且仍然有一些非常有用的語法技巧和功能,只是沒有多少人知道罷了~ 一、指定的初始化 很多人都知道,像這樣來靜態地初始化數組: in

原创 Python學習之對象的哈希值

楔子 通過字典的底層實現,我們找到了字典快速且高效的祕密,就是哈希表。對於映射型容器,一般會採用平衡搜索樹或哈希表實現,而Python的字典選用了哈希表,主要是考慮到哈希表在搜索方面的效率更高。因爲Python虛擬機重度依賴字典,所以對字

原创 字典是如何擴容的?

這裏先來補充一個之前沒有說的點,PyDictObject裏面有一個ma_used字段,它維護的是鍵值對的數量,充當ob_size;而在PyDictKeysObject裏面有一個dk_nentries,它維護鍵值對數組中已使用的entry數

原创 Python學習之字典的緩存池

楔子 先來簡單回顧一下,我們知道字典裏面有一個ma_keys和ma_values,其中ma_keys是一個指向PyDictKeysObject的指針,ma_values是一個指向PyObject *數組的二級指針。當哈希表爲分離表時,鍵由

原创 15個你應該知道的JavaScript的重要數組方法

我們會在構建的每個應用程序中使用數組。它有幾種方法,其中一些非常令人困惑。我列出了 15 種,我們應該掌握的數組方法,因爲它們經常派上用場。 數組方法的重要一點是有些是可變的,有些是不可變的。在決定針對特定問題使用哪種方法時,務必牢記這一

原创 10 個JavaScript 開發者需要學習掌握的技巧

學會這些技巧,可以幫助我們在寫 JavaScript代碼時,讓代碼變得更加簡潔,同時,也會彰顯你的專業性,還會提升工作效率。 現在,我們就開始今天的內容。 1、三元表達式 JavaScript 中的三元表達式的語法類似於條件 if par