Python代碼編程基礎

字符串

str.[]實現根據下標定位實現對元素的截取

for 循環可以實現遍歷

while 循環可以在實現遍歷的同時實現對某一下標數值的修改

字符串前加 r 可以實現對字符串的完整內容輸出

字符串前加 f 可以實現對字符串內{}中包裹內容的格式化輸出,僅在 v3.6 之后可用

對字符串使用*****、**+**實現字符串多次打印與字符串拼接

img

img

img

img

列表

列表定義

list = [“1”, “2”, “3”, 31, 431, “fengjiawei 最帥”, [“列表嵌套列表”]]

list.sort() 對列表進行排序,無返回值

list.sort(reverse = True) 對列表進行逆排序,無返回值

sorted(list) 直接返回排序后的列表

列表增

list.append(object)表示在列表最后加上某一對象,可以是列表也可以是別的元素類型

list1.extend(list2)表示將 list2 里的元素擴展到 list1 中去,list2 只能是列表

list.insert(1,object)表示在下標為 1 的位置加上 object

列表刪

list.remove(列表中的某一個元素)表示刪除列表中找到的符合該元素名稱的第一個元素

list.pop()表示彈出列表中的最后一個元素,返回值為彈出的元素

del list[下標] 表示刪除列表中的某一個元素

列表改

list[下標] = xxxx 表示直接對列表某一下標進行修改

列表查

in/not in

元素 in list 如果有返回 true,否則返回 false

list.index(要查找的元素,查找開始的位置,查找結束的位置+1)返回查找的第一個元素下標

# myList = ["a", "b", "c", "d"]
# for i, x in enumerate(myList):  # 轉換為枚舉類型,使用枚舉函數,同時拿到列表中的下標和元素內容
#     print(i, x)

列表推導式

列表推導式(List Comprehension)是一種語法結構,用于在Python中創建新的列表。語法格式如下:

expression for item in iterable if condition
  • expression 是一個表達式,用于定義新列表中的元素。
  • item 是可迭代對象中的每個元素。
  • iterable 是一個可迭代對象,例如列表、元組、字符串等。
  • condition 是一個可選的條件表達式,用于篩選滿足條件的元素。
# 生成一個包含 1 到 10 的平方數的列表
squares = [x**2 for x in range(1, 11)]
print(squares)  # 輸出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 生成一個只包含偶數的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)  # 輸出:[2, 4, 6, 8, 10]# 生成一個將字符串列表中的元素轉換為大寫的列表
words = ['apple', 'banana', 'cherry']
upper_words = [word.upper() for word in words]
print(upper_words)  # 輸出:['APPLE', 'BANANA', 'CHERRY']

元組

元組最大的特性就是無法進行修改

tuple = (“avr”, “nn”, “faafa”, 2 , 1)

元組增

tup3 = tup1+tup2 進行元組連接

元組刪

del tuple 是刪除整個元組而不是刪除元組內的元素

元組改

元組內的元素無法進行修改

元組查

tup[下標]訪問對應元組元素

字典

字典是鍵值對的集合

dic{“key1” : “value1”, “key2” : “value2”}

字典中直接訪問不存在的鍵會報錯,如 dic[“key3”]

使用 get 方法訪問不存在的值不會報錯,會返回 None, 如 dic.get(“key3”)

還可以使用 get 方法設定不存在的鍵對應的值,如 dic.get(“key3”,“value3”)

值的注意的是,如果使用 get 方法得到原本的字典里相應的值了,那么 get 設定的值不會起作用,如 dic.get[“key1”,“value4”]返回值還是"value1"

字典增

直接增加相應的鍵值對即可

如 dic[“key3”] = “value3”

字典刪

del 刪除整個鍵值對或者直接刪除整個字典

del dic[“key1”]刪除第一個鍵值對

del dic 直接刪除整個字典

dic.clear()清除整個字典,使 dic 變為空字典{}

字典改

直接將相應的 value 賦值給對應的鍵上面就行

字典查

# print(dic.keys())  # 得到所有的鍵(列表)
# print(dic.values())  # 得到所有的值(列表)
# print(dic.items())  # 得到所有的項(列表),每個鍵值對是一個元組# 遍歷所有的值
# for key in info.keys():
#       print(info[key])
# for key, value in info.items():
#     print("key=%s,value=%s"%(key, value))

集合

set{1, 2, 3, 4}常用來進行集合相關的操作與 dic 類似,但不存儲 value,key 不重復

set 是無序的,重復元素在 set 中被自動過濾,并且從小到大以順序顯示

s = set([1, 2, 3, 3, 5])

s 為{1, 2, 3, 5}

集合增

set.add(key)向集合增加元素

set.update(set1)更新集合,其實質就是將集合 set1 中的元素加入 set 中

集合刪

set.remove(5)刪除某一元素

set.pop()彈出元素,返回值為彈出的元素(最小,在最左邊的元素)

set.clear()清除元素

del set 刪除集合

集合改

沒法改

集合查

for i in set:

print(i)

是否有序是否可變類型
列表[]有序可變類型
元組()有序不可變類型
字典{}無序key不可變,val可變
集合{}無序可變類型(不重復)

函數

函數定義

def function()

全局變量與局部變量

函數內部是局部變量,外部是全局變量

優先使用函數內部局部變量,函數內部沒有局部變量則使用全局變量,可以在變量前加上 global 關鍵字來使用全局變量

常見函數

bin(int/long)返回二進制數

upper(string)返回大寫字符串

lower(string)返回小寫字符

title(string)首字母大寫

ord(string)返回 ASCII 碼

匿名函數

lambda函數的特點包括:

  • 只能包含一個表達式,不能包含多個語句。
  • 不能有函數體,因此沒有return語句,表達式的結果就是函數的返回值。
  • 可以使用任意數量的參數,包括可選參數和默認參數。
  • 可以將lambda函數賦值給一個變量,也可以直接調用lambda函數。
# 匿名函數只有一行,不需要函數體,基本格式為lambda arguments: expression
add = lambda x, y: x+y
print(add(3,2))  # 輸出結果為5
dic = lambda : defaultdic
print(dic)  # <function <lambda> at 0x000001E89DFF6F70>
dic = lambda x, y : defaultdic
print(dic(3,4))  # <class 'collections.defaultdict'>

Zip函數

zip()是一個Python的內置函數,可以將多個可迭代對象(列表、元組等)按照索引位置一一配對,然后返回一個新的迭代器。

其常用的操作有:

遍歷多個可迭代對象
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y) # 輸出:1 a, 2 b, 3 c
創建字典
keys = ['name', 'age', 'gender']
values = ['Alice', 25, 'Female']
person_dict = dict(zip(keys, values))
print(person_dict) # 輸出:{'name': 'Alice', 'age': 25, 'gender': 'Female'}
解壓縮操作
pairs = [(1, 'a'), (2, 'b'), (3, 'c')]
numbers, letters = zip(*pairs)
print(numbers) # 輸出:(1, 2, 3)
print(letters) # 輸出:(a, b, c)# 實例
import nltk # 引入NLTK庫
tagged_sents = nltk.corpus.brown.tagged_sents(tagset='universal')
# zip(*sent)生成的是一個可迭代的對象,其中將每個句子中的詞與標簽拆開分別組成了一對元組,再使用zip(*(zip(*sent)可以將多個句子中的詞組合成一個二階元組,標簽也是。
sents, postags = zip(*(zip(*sent) for sent in tagged_sents))

文件

f = open("文件路徑", "讀取方式")
f.close()

img

文件讀

f = open("xxx", "r")
f.readline()  # 讀一行,光標移動到下一行第一個字節
f.readlines()  # 讀所有行,按行為單位存儲在列表里

文件寫

f = open("xxx", "w")
f.write("xxxx")  # 向文件內部寫入

文件操作 OS

import os
# os.rename("test1.txt", "test3.txt")  # 重命名
# os.remove("test3.txt")  # 刪除
# os.mkdir("張三")  # 創建文件夾
# os.getcwd()  # 獲取當前目錄
# os.chdir()  # 改變目錄
# os.removedirs("張三")  # 刪除當前目錄

錯誤和異常

try:print("-----------test1----------")f = open("123.txt", "r")  # 用只讀模式打開了一個不存在的文件,報錯print("-----------test2----------")  # 這句代碼不會執行print(num)
# except (IOError, NameError) as result:  # 文件沒找到,屬于 IO 異常(輸入輸出異常),異常類型要被捕獲,需要一致
#     print("-----------test3----------")  # 捕獲異常后執行的語句except Exception as result:  # 文件沒找到,屬于 IO 異常(輸入輸出異常),異常類型要被捕獲,需要一致,Exception 可以承接任何異常print("-----------test3----------")  # 捕獲異常后執行的語句pass

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

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

相關文章

5月9號.

v-for: v-bind: v-if&v-show: v-model: v-on: Ajax: Axios: async&await: Vue生命周期: Maven: Maven坐標:

Spring 必會之微服務篇(1)

目錄 引入 單體架構 集群和分布式架構 微服務架構 挑戰 Spring Cloud 介紹 實現方案 Spring Cloud Alibaba 引入 單體架構 當我們剛開始學開發的時候&#xff0c;基本都是單體架構&#xff0c;就是把一個項目的所有業務的實現功能都打包在一個 war 包或者 Jar 包中。…

計算機的基本組成

#靈感# 記錄下基礎知識&#xff0c;此處專指計算機硬件方面&#xff0c;捎帶記下芯片知識。 綜述&#xff1a; 計算機硬件的基本組成包括運算器、控制器、存儲器、輸入設備和輸出設備五大部分。其中&#xff0c;集成在一起的運算器和控制器稱為 CPU&#xff08;處理器&#x…

【Python 列表(List)】

Python 中的列表&#xff08;List&#xff09;是最常用、最靈活的有序數據集合&#xff0c;支持動態增刪改查操作。以下是列表的核心知識點&#xff1a; 一、基礎特性 有序性&#xff1a;元素按插入順序存儲可變性&#xff1a;支持增刪改操作允許重復&#xff1a;可存儲重復元…

Qt 的原理及使用(1)——qt的背景及安裝

1. Qt 背景介紹 1.1 什么是 Qt Qt 是?個 跨平臺的 C 圖形??界?應?程序框架 。它為應?程序開發者提供了建?藝術級圖形 界?所需的所有功能。它是完全?向對象的&#xff0c;很容易擴展。Qt 為開發者提供了?種基于組件的開發模 式&#xff0c;開發者可以通過簡單的拖拽…

多分類問題softmax傳遞函數+交叉熵損失

在多分類問題中&#xff0c;Softmax 函數通常與交叉熵損失函數結合使用。 Softmax 函數 Softmax 函數是一種常用的激活函數&#xff0c;主要用于多分類問題中。它將一個實數向量轉換為概率分布&#xff0c;使得每個元素的值在 0 到 1 之間&#xff0c;且所有元素的和為 1。 …

數智讀書筆記系列032《統一星型模型--一種敏捷靈活的數據倉庫和分析設計方法》

引言 在當今數字化時代,數據倉庫作為企業數據管理的核心基礎設施,承擔著整合、存儲和提供企業數據的關鍵角色。隨著商業環境的快速變化和業務需求的日益復雜,數據倉庫的設計方法也在不斷演進,以適應新的挑戰和要求。 背景與意義 數據倉庫領域長期存在著兩種主流方法論之…

RT-Thread 深入系列 Part 1:RT-Thread 全景總覽

摘要&#xff1a; 本文將從 RTOS 演進、RT-Thread 的版本分支、內核架構、核心特性、社區與生態、以及典型產品應用等多維度&#xff0c;全面呈現 RT-Thread 的全景圖。 關鍵詞&#xff1a;RT-Thread、RTOS、微內核、組件化、軟件包管理、SMP 1. RTOS 演進與 RT-Thread 定位 2…

[docker基礎一]docker簡介

目錄 一 消除恐懼 1) 什么是虛擬化&#xff0c;容器化 2)案例 3)為什么需要虛擬化&#xff0c;容器化 二 虛擬化實現方式 1)應用程序執行環境分層 2)虛擬化常見類別 3)常見虛擬化實現 一&#xff09;主機虛擬化(虛擬機)實現 二&#xff09;容器虛擬化實現 一 消除恐…

PostgreSQL 的 pg_advisory_lock 函數

PostgreSQL 的 pg_advisory_lock 函數 pg_advisory_lock 是 PostgreSQL 提供的一種應用級鎖機制&#xff0c;它不鎖定具體的數據庫對象&#xff08;如表或行&#xff09;&#xff0c;而是通過數字鍵值來協調應用間的并發控制。 鎖的基本概念 PostgreSQL 提供兩種咨詢鎖(advi…

SGLang 實戰介紹 (張量并行 / Qwen3 30B MoE 架構部署)

一、技術背景 隨著大語言模型&#xff08;LLM&#xff09;的飛速發展&#xff0c;如何更高效、更靈活地駕馭這些強大的模型生成我們期望的內容&#xff0c;成為了開發者們面臨的重要課題。傳統的通過拼接字符串、管理復雜的狀態和調用 API 的方式&#xff0c;在處理復雜任務時…

微服務中 本地啟動 springboot 無法找到nacos配置 啟動報錯

1. 此處的環境變量需要匹配nacos中yml配置文件名的后綴 對于粗心的小伙伴在切換【測試】【開發】環境的nacos使用時會因為這里導致項目總是無法啟動成功

Lua從字符串動態構建函數

在 Lua 中&#xff0c;你可以通過 load 或 loadstring&#xff08;Lua 5.1&#xff09;函數從字符串動態構建函數。以下是一個示例&#xff1a; 示例 1&#xff1a;基本動態函數構建 -- 動態構建一個函數 local funcStr "return function(a, b) return a b end"-…

【Python】?Python單元測試框架unittest總結

1. 本期主題&#xff1a;Python單元測試框架unittest詳解 unittest是Python內置的單元測試框架&#xff0c;遵循Java JUnit的"測試驅動開發"&#xff08;TDD&#xff09;理念&#xff0c;通過繼承TestCase類實現測試用例的模塊化組織。本文聚焦于獨立測試腳本的編寫…

【Python 實戰】---- 使用Python批量將 .ncm 格式的音頻文件轉換為 .mp3 格式

1. 前言 .ncm 格式是網易云音樂專屬的加密音頻格式,用于保護版權。這種格式無法直接播放,需要解密后才能轉換為常見的音頻格式。本文將介紹如何使用 Python 批量將 .ncm 格式的音頻文件轉換為 .mp3 格式。 2. 安裝 ncmdump ncmdump 是一個專門用于解密 .ncm 文件的工具。它…

Linux 學習筆記2

Linux 學習筆記2 一、定時任務調度操作流程注意事項 二、磁盤分區與管理添加新硬盤流程磁盤管理命令 三、進程管理進程操作命令服務管理&#xff08;Ubuntu&#xff09; 四、注意事項 一、定時任務調度 操作流程 創建腳本 vim /path/to/script.sh # 編寫腳本內容設置可執行權…

YOLO目標檢測算法

文章目錄 前言一、目標檢測算法簡介1、傳統目標檢測算法&#xff08;1&#xff09;R-CNN算法簡介&#xff08;2&#xff09;Fast R-CNN算法簡介&#xff08;3&#xff09;Faster R-CNN算法簡介 2、目標檢測中的算法設計范式&#xff08;1&#xff09;one-stage&#xff08;2&am…

【軟件設計師:軟件】20.軟件設計概述

一、軟件設計基本原則 一、軟件設計基本原則 1. 模塊 是指執行某一特定任務的數據結構和程序代碼。 將模塊的接口和功能定義為其外部特性將模塊的局部數據和實現該模塊的程序代碼稱為內部特性。在模塊設計時,最重要的原則就是實現信息隱蔽和模塊獨立。 2 . 信息隱蔽 將每…

軟件工程之面向對象分析深度解析

前文基礎&#xff1a; 1.軟件工程學概述&#xff1a;軟件工程學概述-CSDN博客 2.軟件過程深度解析&#xff1a;軟件過程深度解析-CSDN博客 3.軟件工程之需求分析涉及的圖與工具&#xff1a;軟件工程之需求分析涉及的圖與工具-CSDN博客 4.軟件工程之形式化說明技術深度解…

需求分析階段測試工程師主要做哪些事情

在軟件測試需求分析階段&#xff0c;主要圍繞確定測試范圍、明確測試目標、細化測試內容等方面開展工作&#xff0c;為后續測試計劃的制定、測試用例的設計以及測試執行提供清晰、準確的依據。以下是該階段具體要做的事情&#xff1a; 1. 需求收集與整理 收集需求文檔&#x…