Python世界之附加

一、數據類型轉換

1.隱式類型轉換

在隱式類型轉換中,Python 會自動將一種數據類型轉換為另一種數據類型。

對兩種不同類型的數據進行運算,較低數據類型就會轉換為較高數據類型以避免數據丟失。

2.顯式類型轉換

在顯式類型轉換中,用戶將對象的數據類型轉換為所需的數據類型。 使用 int()、float()、str() 等預定義函數來執行顯式類型轉換。

1.int()?強制轉換為整型

x?=?int(1)???# x 輸出結果為 1

y?=?int(2.8)?# y 輸出結果為 2

z?=?int("3")?# z 輸出結果為 3

2.float()?強制轉換為浮點型

x?=?float(1)?? ??# x 輸出結果為 1.0

y?=?float(2.8)???# y 輸出結果為 2.8

z?=?float("3")???# z 輸出結果為 3.0

w?=?float("4.2")?# w 輸出結果為 4.2

3.str()?強制轉換為字符串類型

x?=?str("s1")?# x 輸出結果為 's1'

y?=?str(2)?? ?# y 輸出結果為 '2'

z?=?str(3.0)??# z 輸出結果為 '3.0'

二、推導式

1.列表推導式

[表達式 for 變量 in 列表]

[out_exp_res for out_exp in input_list]

或者

[表達式 for 變量 in 列表 if 條件]

[out_exp_res for out_exp in input_list if condition]

out_exp_res:列表生成元素表達式,可以是有返回值的函數。

for out_exp in input_list:迭代 input_list 將 out_exp 傳入到 out_exp_res 表達式中。

if condition:條件語句,可以過濾列表中不符合條件的值。

①過濾掉長度小于或等于3的字符串列表,并將剩下的轉換成大寫字母:

>>>?names?=?['Tom','Alice','Jerry','Wendy','Smith']

>>>?new_names?=?[name.upper()for?name?in?names?if?len(name)>3]

>>>?print(new_names)

輸出:

['ALICE',?'JERRY',?'WENDY',?'SMITH']

②計算 30 以內可以被 3 整除的整數:

>>>?multiples?=?[i?for?i?in?range(30)?if?i %?3?==?0]

>>>?print(multiples)

輸出:

[0,?3,?6,?9,?12,?15,?18,?21,?24,?27]

2.字典推導式

{ key_expr: value_expr for value in collection }

{ key_expr: value_expr for value in collection if condition }

使用字符串及其長度創建字典:

listdemo?=?['Google',?'Taobao']

# 將列表中各字符串值為鍵,各字符串的長度為值,組成鍵值對

>>>?newdict?=?{key:len(key)?for?key?in?listdemo}

>>>?newdict

輸出:

{'Google':?6,??'Taobao':?6}

3.集合推導式

{ expression for item in Sequence }

{ expression for item in Sequence if conditional }

①計算數字 1,2,3 的平方數:

>>>?setnew?=?{i**2?for?i?in?(1,2,3)}

>>>?setnew

輸出:

{1,?4,?9}

②判斷不是 abc 的字母并輸出:

>>>?a?=?{x?for?x?in?'abracadabra'?if?x?not?in?'abc'}

>>>?a

{'d',?'r'}

>>>?type(a)

<class?'set'>

4.元組推導式

元組推導式可以利用 range 區間、元組、列表、字典和集合等數據類型,快速生成一個滿足指定需求的元組。

(expression for item in Sequence )

(expression for item in Sequence if conditional )

元組推導式和列表推導式的用法也完全相同,只是元組推導式是用?()?圓括號將各部分括起來,而列表推導式用的是中括號?[],另外元組推導式返回的結果是一個生成器對象。

生成一個包含數字 1~9 的元組:

>>>?a?=?(x?for?x?in?range(1,10))

>>>?a

<generator?object?<genexpr>?at?0x7faf6ee20a50>??# 返回的是生成器對象

>>>?tuple(a)?? ? ??# 使用 tuple() 函數,可以直接將生成器對象轉換成元組

(1,?2,?3,?4,?5,?6,?7,?8,?9)

三、lambda(匿名函數)

lambda 函數是一種小型、匿名的、內聯函數,它可以具有任意數量的參數,但只能有一個表達式。且不需要使用?def?關鍵字定義完整函數。

lambda 函數通常用于編寫簡單的、單行的函數,通常在需要函數作為參數傳遞的情況下使用,例如在 map()、filter()、reduce() 等函數中。

1.語法格式

lambda arguments: expression

lambda是 Python 的關鍵字,用于定義 lambda 函數。

arguments?是參數列表,可以包含零個或多個參數,但必須在冒號(:)前指定。

expression?是一個表達式,用于計算并返回函數的結果。

2.示例

①沒有參數:

f = lambda: "Hello, world!"

print(f()) # 輸出: Hello, world!

輸出結果:

Hello, world!

②一個參數:

使用 lambda 創建匿名函數,設置一個函數參數 a,函數計算參數 a 加 10,并返回結果。

x = lambda a : a + 10

print(x(5))

輸出結果:

15

③多個參數:

設置多個參數時,參數使用逗號( , )隔開。

使用 lambda 創建匿名函數,函數參數 a 與 b 相乘,并返回結果。

x = lambda a, b : a * b

print(x(5, 6))

輸出結果:

30

四、end 關鍵字

關鍵字end可以用于將結果輸出到同一行,或者在輸出的末尾添加不同的字符。

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

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

相關文章

Linux設置靜態IP地址

在Linux系統中設置靜態IP地址的步驟如下&#xff1a; 1.使用管理員權限登錄系統。 2.編輯網卡配置文件&#xff1a; 網卡配置文件通常位于 /etc/sysconfig/network-scripts/ 目錄下&#xff0c;可以使用命令 cd /etc/sysconfig/network-scripts 切換到該目錄。 …

Wifi技術知識

參考文章 https://www.163.com/dy/article/FDFT60T70550I80C.html https://www.zhihu.com/tardis/bd/art/485711752?source_id1001 wifi代數 以前大家看電腦手機路由器參數&#xff0c;WiFi都是802.11a/b/n/g/ac/ax&#xff0c;這學名讀起來有些麻煩&#xff0c;現在好了&…

第12屆智能計算與無線光通信國際會議(ICWOC 2024)即將召開!

2024年第12屆智能計算與無線光通信國際會議&#xff08;ICWOC 2024&#xff09;將于2024年6月21-23日在中國重慶召開。隨著深度學習等人工智能技術的不斷進步&#xff0c;以自動化、自治為特征的智能應用預計將激增。本屆會議主題為“光通信智能鏈接”&#xff0c;旨在為相關技…

ubuntu環境下docker容器詳細安裝使用

文章目錄 一、簡介二、ubuntu安裝docker1.刪除舊版本2.安裝方法一3. 安裝方法二&#xff08;推薦使用&#xff09;4.運行Docker容器5. 配置docker加速器 三、Docker鏡像操作1. 拉取鏡像2. 查看本地鏡像3. 刪除鏡像4. 鏡像打標簽5. Dockerfile生成鏡像 四、Docker容器操作1. 獲取…

Qt | TCP服務器端框架搭建

文章目錄 server.hserver.cppmain.cpptcpclientsocket.htcpclientsocket.cpptcpserver.htcpserver.cpp提示運行QTcpServer 是 Qt 框架中的一個類,用于實現 TCP 服務器。它提供了一種方便的方式來創建和管理 TCP 服務器,以便與客戶端進行通信。QTcpServer 類屬于 QtNetwork 模…

Webserver(1): C++實現線程池

在實現線程池之前&#xff0c;首先對線程池中所需要用到的互斥鎖、條件變量和信號量進行了簡單的封裝。 互斥鎖、條件變量和信號量封裝 locker.h頭文件如下&#xff08;已詳細注釋&#xff09; /* 這里面對互斥鎖&#xff0c;條件變量和信號量進行了封裝 保證工作隊列的線程…

微服務架構的流行框架之:Dubbo Spring Cloud

Dubbo Dubbo是一個高性能、輕量級的開源Java RPC&#xff08;Remote Procedure Call&#xff0c;遠程過程調用&#xff09;框架&#xff0c;由阿里巴巴開發并貢獻給了Apache基金會&#xff0c;成為Apache的頂級項目。Dubbo提供了RPC通信和服務治理的解決方案&#xff0c;使得構…

深入理解C語言中的變量和常量

變量和常量 1. 前言2. 預備知識2.1 printf和%d2.2 \n2.3 scanf2.4 scanf在vs中報錯2.5 extern2.6 數組的初始化 3. 變量和常量的區別4. 變量4.1 定義變量的方法4.2 變量的分類4.2.1 局部優先 4.3 變量的使用4.4 變量的作用域4.4.1 局部變量的作用域4.4.2 全局變量的作用域 4.5 …

機器學習|KNN和Kmeans

KNN和Kmeans KNN KNN-K個最近的鄰居&#xff0c;而K是可人先預設出來的。 所謂近朱者赤&#xff0c;近墨者黑。 可以選取離當前最近的K個樣本來作為輔助判斷&#xff0c;因為本樣本和最近的K個樣本應該是處于一種相似的狀態。 以下是一個蘋果和梨的識別任務。 圖上會出現一個未…

深入Spring Boot核心技術:代碼實戰解析

第一章&#xff1a;揭開Spring Boot自動配置的面紗 自動配置原理 讓我們首先通過一個簡化的Spring Boot應用啟動類來直觀感受自動配置的工作原理&#xff1a; java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Sprin…

【軟件設計師】通俗易懂的去了解算法的時間復雜度

&#x1f413; 時間復雜度 常用排序的時間復雜度 時間頻度 算法需要花費的時間&#xff0c;和它語句執行的次數是成正比的&#xff0c;所以會把一個算法種語句執行次數稱為語句頻度和時間頻度、記作T(n)。 定義 時間復雜度就是找到一個無限接近時間頻度T(n)同數量級的函數&am…

小腦萎縮患者生活指南:守護你的每一步

親愛的讀者朋友們&#xff0c;今天我們要聊一聊一個特殊但非常重要的群體——小腦萎縮患者。在這個充滿挑戰的旅程中&#xff0c;我們將一起探索如何用愛和智慧為患者打造一個更加安全、舒適的生活環境。 小腦萎縮是指小腦細胞逐漸減少&#xff0c;導致小腦體積縮小的一種病癥…

全量知識系統問題及SmartChat給出的答復 之16 幣圈生態鏈和行為模式

Q.42 幣圈生態鏈和行為模式 我認為&#xff0c;上面和“幣”有關的一系列概念和技術&#xff0c;按設計模式的劃分 &#xff0c;整體應該都屬于行為模式&#xff0c;而且應該囊括行為模式的所有各個方面。 而行為又可以按照三種不同的導向&#xff08;以目的或用途為導向、過…

互聯網摸魚日報(2024-03-04)

互聯網摸魚日報(2024-03-04) 36氪新聞 Sora來了&#xff0c;你又焦慮了嗎&#xff1f; 最前線&#xff5c;安踏首家球鞋集合店落地北京三里屯 一位中國遙感科學家&#xff0c;決定“跨界”拯救瀕危動物野駱駝 | 最前線 本周雙碳大事&#xff1a;工信部等七部門發文推動制造…

mirthConnect忽略HTTPS SSL驗證

mirthConnect SSL忽略驗證 1、下載https網站證書 點擊不安全---->證書無效 2、查看mirth 秘鑰庫口令 在mirthConnect 的conf目錄下面keystore.storepass 3、導入證書到本地 在jdk的bin目錄下面執行 keytool -importcert -file "下載的網站證書路徑" -keysto…

LeetCode每日一題【c++版】- leetcode 225.用隊列實現棧

題目描述 請你僅使用兩個隊列實現一個后入先出&#xff08;LIFO&#xff09;的棧&#xff0c;并支持普通棧的全部四種操作&#xff08;push、top、pop 和 empty&#xff09;。 實現 MyStack 類&#xff1a; void push(int x) 將元素 x 壓入棧頂。int pop() 移除并返回棧頂元素…

Python中按指定數量分割列表字符串的方法

引言 處理列表數據時&#xff0c;有時我們需要將一個包含長字符串的列表分割成按照特定長度的小字符串的多個列表。這在文本處理、批量數據處理或者當我們需要將數據分塊進行并行處理時非常常見。Python作為一個強大的編程語言&#xff0c;提供了很多方便的方法來實現這一功能…

CV論文--2024.3.4

1、Deep Networks Always Grok and Here is Why 中文標題&#xff1a;深度網絡總是讓人摸不著頭腦&#xff0c;原因如下 簡介&#xff1a;本文探討了深度神經網絡&#xff08;DNN&#xff09;中一種稱為"延遲泛化"或"Grokking"的現象。在接近零的訓練誤差…

使用ssh密鑰提交、拉取代碼的介紹

網絡世界中的數據并不安全 網絡中無時無刻有大量的數據傳輸&#xff0c;傳輸過程中需要經過各種網絡設備和物理媒介你的數據可能會在傳輸的某一個環節被一個“中間人”攔截&#xff0c;造成泄密&#xff0c;甚至會篡改你的數據&#xff0c;讓你發出錯誤的信息 SSH 為 Secure …

MySQL 5.5、5.6、5.7的主從復制改進

主從復制面臨的問題 MySQL一直以來的主從復制都是被詬病,原因是: 1、主從復制效率低 早期mysql的復制是通過將binlog語句異步推送到從庫。從庫啟動一個IO線程將接收到的數據記錄到relaylog中;另外啟動一個SQL線程負責順序執行relaylog中的語句實現對數據的拷貝。 這里的…