python學習路線

自用

在這里插入圖片描述
在這里插入圖片描述
Task1:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
如果對一個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫:

list1 = ["這", "是", "一個", "測試"]
for i in range (len(list1)):print i ,list1[i]#上述方法有些累贅,利用enumerate()會更加直接和優美:list1 = ["這", "是", "一個", "測試"]
for index, item in enumerate(list1):print index, item
>>>
012 一個
3 測試
#enumerate還可以接收第二個參數,用于指定索引起始值,如:
list1 = ["這", "是", "一個", "測試"]
for index, item in enumerate(list1, 1):print index, item
>>>
123 一個
4 測試#如果要統計文件的行數,可以這樣寫:
count = len(open(filepath, 'r').readlines())
#這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。#可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')): count += 1

列表推導式

在這里插入圖片描述

task2:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

這個用法就和C語言的格式化輸出很像

print('%c' % 97)  # a
print('%f' % 27.658)  # 27.658000
print('%5.1f' % 27.658)  # ' 27.7'

注意:如果我們取的鍵在字典(dict)中不存在,會直接報錯KeyError
C++的Map會創建這個key的元素,為它賦初值為0。
dict創建的語法有些特殊:

dic1 = dict([('apple', 4139), ('peach', 4127), ('cherry', 4098)])
dic2 = dict((('apple', 4139), ('peach', 4127), ('cherry', 4098)))

在這里插入圖片描述

dick的函數keys和vaules在這里插入圖片描述

list.remove(obj) 移除列表中某個值的第一個匹配項
在這里插入圖片描述
remove 和 pop 都可以刪除元素,前者是指定具體要刪除的元素,后者是指定一個索引。在這里插入圖片描述

不知道Python其他 的list刪除會不會有迭代器失效的問題,《Python核心編程》提到的問題,待測。

通過將索引指定為-1,可讓Python返回最后一個列表元素,索引 -2 返回倒數第二個列表元素,以此類推。

Python的數值(列表)切片非常常用,取值范圍前閉后開。x[start : stop : step] step為步長,默認為1。
在這里插入圖片描述

注意最后把 step 設為 -1,相當于將列表反向排列。

tuple(sub) 把一個可迭代對象轉換為元組。
task 3
我為啥之前不復制要截圖捏

函數

內嵌函數
在這里插入圖片描述

閉包

  • 是函數式編程的一個重要的語法結構,是一種特殊的內嵌函數。
  • 如果在一個內部函數里對外層非全局作用域的變量進行引用,那么內部函數就被認為是閉包。
  • 通過閉包可以訪問外層非全局作用域的變量,這個作用域稱為 閉包作用域
def funX(x):def funY(y):return x * yreturn funYi = funX(8)
print(type(i))  # <class 'function'>
print(i(5))  # 40
#這語法巨奇怪有啥用啊

Python 的魔法方法

據說,Python 的對象天生擁有一些神奇的方法,它們是面向對象的 Python 的一切…

它們是可以給你的類增加魔力的特殊方法…

如果你的對象實現了這些方法中的某一個,那么這個方法就會在特殊的情況下被 Python 所調用,而這一切都是自動發生的…

類有一個名為__init__(self[, param1, param2...])的魔法方法,該方法在類實例化時會自動調用。
也就是c++的構造函數

公有和私有

在 Python 中定義私有變量只需要在變量名或函數名前加上“__”兩個下劃線,那么這個函數或變量就會為私有的了。

class JustCounter:__secretCount = 0  # 私有變量publicCount = 0  # 公開變量

繼承

Python 同樣支持類的繼承,派生類的定義如下所示:

class DerivedClassName(BaseClassName):

? ? ? ?statement-1

? ? ? ?? ? ? ?.

? ? ? ?? ? ? ?.

? ? ? ?? ? ? ?.

? ? ? ?statement-N

BaseClassName(基類名)必須與派生類定義在一個作用域內。除了類,還可以用表達式,基類定義在另一個模塊中時這一點非常有用:

class DerivedClassName(modname.BaseClassName):

? ? ? ?statement-1

? ? ? ?? ? ? ?.

? ? ? ?? ? ? ?.

? ? ? ?? ? ? ?.

? ? ? ?statement-N

參考資料:
天池龍珠計劃之Python學習電子書_v0.0.2.pdf
https://blog.csdn.net/churximi/article/details/51648388
http://joyfulpandas.datawhale.club/Content/index.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決使用MinGW編譯C++代碼報cannot find -lxxxx的問題

報錯的截圖如下面所示 我一開始使用target_link_libraries(ThreadTest libsdf_core.dll)這條命令來將dll庫文件和項目文件關聯起來&#xff0c;但是解決不了問題也嘗試在編譯代碼的環境時候&#xff0c;將dll庫文件的絕對路徑加入到編譯環境中&#xff0c;但是也沒有用解決辦法…

Linux搭建深度學習環境使用指南

本文檔歸納不收悉的linux知識點&#xff0c;自用 終端美化&#xff1a;https://zhuanlan.zhihu.com/p/37195261&#xff08;unix終端通用&#xff09; 基礎linux命令&#xff1a;https://blog.csdn.net/q357010621/article/details/80248611 shell是什么&#xff1f;shell是一…

CLion 輸出遇到亂碼解決辦法,GBK和utf-8的轉換

具體操作 File -> Settings -> Default Settings -> Editor -> File Encodings:Global Encoding: UTF-8Project Encoding : UTF-8Default encoding for properties files: UTF-8 圖片展示 然后&#xff0c;在main.cpp右下角選擇語言編碼格式為GBK&#xff0c;在彈…

Vim使用方法歸納

編輯模式i 0 &#xff1a;光標移至行首d0 : 刪除到行首$ &#xff1a;光標移至行尾D/d$ : 刪除到行尾dd &#xff1a; 刪除當前行yy/nyy : 復制當前行/復制n行p/P &#xff1a; 粘貼&#xff08;vim中刪除是剪切&#xff0c;可以刪除后用p粘貼&#xff09;u &#xff1a; 撤回…

區塊鏈中涉及到密碼學的場景

區塊鏈中涉及到密碼學的場景 共識算法&#xff08;Consensus algorithm&#xff09;交易簽名&#xff08;Signing transaction)第二層網絡如何在第一層網絡中驗證&#xff08;Layer2’s verification on Layer1&#xff09;驗證跨鏈交易&#xff08;Verifying the cross chain…

epoll 轉kqueue的用法介紹和實例 實現跨平臺Macos

網上關于kqueue的博客很少 我來補充一個例子echo 的例子 #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include<stdio.h> #include<arpa/inet.h> #include<sys/event.…

區塊鏈中的密碼學,使用ABE結合區塊鏈

ABE 密碼學&#xff0c;以及與區塊鏈結合的價值 背景 區塊鏈技術具備篡改難度高、使用成本低、分布式的優點&#xff0c;本應成為各行各業的重要助力。但是由于鏈上參與方擔心自己的核心數據外泄&#xff0c;不愿將自己的核心數據上鏈&#xff0c;這個原因成為阻止區塊鏈落地…

VMware虛擬機安裝Ubuntu系統教程

所使用的文件如下&#xff1a; VMware Workstation 17 Pro ubuntu-22.04.3-desktop-amd64.iso 一、ubuntu 命名規則及各版本一覽表 1.ubuntu 命名規則&#xff1a; 例如&#xff1a;ubuntu 16.04 LTS 是長期維護版本&#xff1b;ubuntu 17.04 是新特性版本 前兩位數字為發…

C++靜態類型成員變量的初始化順序(單例模式)

對編譯器來說&#xff0c;靜態成員變量的初始化順序和析構順序是一個未定義的行為 #include <string> #include <iostream> using namespace std; class Base{ public:static int b;static int a;}; int Base::b 2; int Base::a b 1;int main() {Base base;cou…

區塊鏈中密碼學與安全技術

區塊鏈的定義 區塊鏈的定義&#xff0c;應當是&#xff1a;區塊鏈是一種按照時間順序將數據進行分布式存儲的塊鏈式數據結構&#xff0c;它利用共識機制進行數據驗證&#xff0c;利用密碼學進行數據保護和用戶安全訪問&#xff0c;利用智能合約來操作數據&#xff0c;從而成為…

面經:服務器相關

阻塞IO 當你去讀一個阻塞的文件描述符時&#xff0c;如果在該文件描述符上沒有數據可讀&#xff0c;那么它會一直阻塞(通俗一點就是一直卡在調用函數那里)&#xff0c;直到有數據可讀。當你去寫一個阻塞的文件描述符時&#xff0c;如果在該文件描述符上沒有空間(通常是緩沖區)…

如何用區塊鏈保障數據安全和承載數據確權

區塊鏈可以確保數據安全&#xff0c;體現在那些方面呢&#xff1f; 主要是兩個維度&#xff0c;一是數據的不可篡改性&#xff1b;另外一個就是數據的隱私安全性。區塊鏈技術本身并不解決任何的安全問題&#xff0c;因此需要搭配安全技術一起使用&#xff0c;比如非對稱加密、…

面經:單例模式

侯捷單例 和劍指不同 &#xfffc; 餓漢式 餓漢式的特點是一開始就加載了&#xff0c;如果說懶漢式是“時間換空間”&#xff0c;那么餓漢式就是“空間換時間”&#xff0c;因為一開始就創建了實例&#xff0c;所以每次用到的之后直接返回就好了。餓漢式有兩種常見的寫法&…

屬性加密技術及基于屬性的ABE算法的訪問控制技術介紹

屬性加密技術 基于身份的加密體制簡介 基于身份的加密體制可以看作一種特殊的公鑰加密&#xff0c;它有如下特點:系統中用戶的公鑰可以由任意的字符串組成。這些字符串可以是用戶在現實中的身份信息&#xff0c;如:身份證號碼、用戶姓名、電話號碼、Email地址等&#xff0c;因…

面經:http協議

總結HTTPS傳輸過程 客戶端先從服務器獲取到證書&#xff0c;證書中包含公鑰 客戶端將證書進行校驗 客戶端生成一個對稱密鑰&#xff0c;用證書中的公鑰進行加密&#xff0c;發送給服務器 服務器得到這個請求后用私鑰進行解密&#xff0c;得到該密鑰 客戶端以后發出后續的請求&…

基于屬性加密的ABE算法的應用場景思考展望

ABE算法先前使用在云計算場景中&#xff0c;和區塊鏈存在交叉應用場景&#xff0c;具體問題體現在 數據的異地存儲、云服務器提供商的不可信、管理員能否對自身數據擁有足夠的控制能力以及如何保證數據的安全有效共享都是亟需解決的問題。 研究背景&#xff1a; 云計算越來越…

面經:設計模式

什么是接口隔離原則&#xff08;Interface Segregation Principle&#xff09; 定義&#xff1a;客戶端不應該依賴它不需要的接口&#xff1b;一個類對另一個類的依賴應該建立在最小的接口上。概括的說就是&#xff1a;建立單一接口&#xff0c;不要建立臃腫龐大的接口。&…

區塊鏈、密碼和銀行之間的衍生關系

銀行場景中密碼服務 設置密碼 用戶在注冊的時候&#xff0c;如果使用弱密碼&#xff0c;系統會檢測出來。我的猜測是將弱密碼的hash運算和用戶輸入的密碼hash比對&#xff0c;如果一致&#xff0c;禁止用戶注冊。 1、不要設置簡單密碼&#xff0c;您設置的密碼必須符合中信銀…

面經:多線程 線程池

使用線程池 當進程被初始化后&#xff0c;主線程就被創建了。對于絕大多數的應用程序來說&#xff0c;通常僅要求有一個主線程&#xff0c;但也可以在進程內創建多個順序執行流&#xff0c;這些順序執行流就是線程&#xff0c;每一個線程都是獨立的。 線程是進程的組成部分&am…

AIgorand區塊鏈中VRF隨機函數的應用

VRF&#xff08;Verifiable Random Function&#xff09; 可驗證隨機函數可以看作是一個隨機預言機&#xff0c;即可以通過任意的一個輸入&#xff0c;獲得一個隨機數輸出&#xff1a;輸出的結果&#xff08;Output&#xff09;是一個隨機數&#xff0c;其數值會均勻分布在值域…