Python基礎語法(上)

常量和表達式

我們可以使用python來進行一些+ - * / %的一些運算

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

python中的運算規則與數學當中一致,先乘除后加減,有括號的先計算括號里面的。

形如 1 + 2 - 3 這樣是算式, 在編程語言中稱為 表達式, 算式的運算結果, 稱為 表達式的返回值。

其中 1, 2, 3 這種稱為 字面值常量, + - * / 這種稱為 運算符 或者 操作符。

需要值得注意的是:在python中,2 / 3 == 0.6666....,而不是0,在C/C++,java中,整數除以整數的結果還是整數,并且會把小數部分舍棄。

而可能又有人出現疑問,為什么 1 + 2/3的結果是1.666666...5而不是1.666666....7,是因為在編程運算中,一般沒有“四舍五入”這樣的規則,在IEEE754標準下,在內存中表示浮點數的時候,可能會出現微小的誤差。

變量

變量可以被認為是一塊能夠容納數據的空間。

變量命名規則

1.變量命名必須由數字,字母,下劃線構成,不能包含其他特殊符號

2.數字不能作為開頭

3.變量名不能和Python的‘關鍵字’重復

4.變量名大小寫敏感. num 和 Num 是兩個不同的變量名

非必須規則:變量名使用有描述性的單詞來表示, 盡量表達出變量的作用.

變量的類型

變量里面存儲的不僅僅是數字, 還可以存儲其它種類的數據. 為了區分不同種類的數據, 我們引入了 "類型" 這樣的概念。

python中變量的類型,不需要在定義變量的時候顯式聲明而是依靠初始化語句,根據初始化的值的類型進行確定的。

(1)整數

a = 10
print(type(a))

Python 的 int 類型變量, 表示的數據范圍是沒有上限的. 只要內存足夠 大, 理論上就可以表示無限大小的數據,因此在python中就沒有long這樣的類型了。

(2)浮點數

b = 0.3
print(type(b))

python和 C++ / Java 等語言不同, Python 的小數只有 float 一種類型, 沒有 double 類型. 但是實際上 Python 的 float 就相當于 C++ / Java 的 double, 表示雙精度浮點數。

一個二進制位,稱為一個bit,8個bit放在一起就是一個字節。

(3)字符串

e = 'h'
print(type(e))
c='hell0'
print(type(c))

?

使用 ' ' 或者 " " 引起來的, 稱為 字符串. 可以用來表示文本

Python和C/C++,不同的是,只有字符串類型,因此單個字符,也是字符串類型。

如果字符串里包含了雙引號,我們就用單引號引起來,反之則用雙引號引起來,如果既包含雙引號又包含單引號,就使用三引號'''? ?"""括起來。

(4)布爾

布爾類型是一個特殊的類型, 取值只有兩種, True (真) 和 False (假)。

多類型的意義

(1) 類型決定了數據在內存中占據多大空間

(2) 類型其實約定了能對這個變量做什么樣的操作.

int/float類型能夠進行 + - * /等操作,但不能使用len

str類型能進行+ 操作,但不能進行- * /等,可以使用len

動態類型和靜態類型

動態類型:運行過程中,變量的類型可能會發生改變。

靜態類型:程序運行過程中,變量的類型始終不變。

輸入輸出

num = input("請輸入一個整數:")
print(type(num))

?

值得注意的是:input返回的值是str類型。

如果我們要將得到的input返回值進行運算,就需要將它轉換成int類型。int()。

a = input('請輸入第一個整數: ')
b = input('請輸入第二個整數: ')
a = int(a)
b = int(b)
print(f'a + b = {a + b}')

?

print(f 'a = {a}') ,這個語法叫做格式化字符串,f-string此處的f表示“format”,此時就可以使用{ }這樣的語法,往字符串里嵌入變量或者表達式。

運算符

(1)算術運算符

像 + - * / % ** // 這種進行算術運算的運算符, 稱為算術運算符。

我們重點介紹一下//運算符。

// 地板除法(取整除法),會針對計算的結果進行“向下取整”。

print(7//2)
print(-7//2)

?

(2)關系運算符

像 < >= == != 這一系列的運算符稱為 關系運算符, 它們是在比較操作數之間的關系。

1.關系運算符對應的表達式,值是布爾類型

表達式符合要求,為真

不符合要求,為假

2.關系運算符不光可以針對數字進行比較,還能夠比較“字符串”

字典序!先看首字母,首字母越靠前就越小。小寫字母大于大寫字母。也可以看相關的ASII碼值。a的值為:97,A的值為:65。首字母相等就依次向后比較。

(3)邏輯運算符

and 并且 兩側操作數均為True,最終結果也為True,否則為False。(一假則假)

or 或者 兩側操作數均為False,最終結果為False,否則為True。(一真則真)

not 邏輯取反 操作數本身為False,結果為True。操作數本身為True,結果為False。

短路求值

對于and操作來說,如果左側表達式為False,那么結果也就為False,右側表達式就不必求值。

對于or操作來說,如果左側表達式為True,那么結果也就為True,右側表達式就不必求值。

總結:

在Python中,報錯通常有兩種情況

1.語法錯誤,在程序運行前,Python解釋器,就能把錯誤識別出來。

2.運行錯誤,在程序運行之前,識別不了的代碼,必須要執行到相應代碼,才能發現問題。

如果把布爾類型的值和整數進行算術運算,此時就會把True當作1,False當作0。

在Python中,一個語句寫完了之后,可以加上分號,也可以不加。通常情況下都是不加的。

如果把多個語句寫到了同一行,這個時候語句就要加上分號。

?

?

?

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

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

相關文章

數圖閃耀2025深圳CCFA中國零售博覽會:AI+零售數字化解決方案引發現場熱潮

展會時間&#xff1a;2025年5月8日—10日 地點&#xff1a;深圳國際會展中心&#xff08;寶安新館&#xff09; 【深圳訊】5月8日&#xff0c;亞洲規模最大的零售行業盛會——2025 CCFA中國零售博覽會在深圳盛大開幕。本屆展會匯聚全球25個國家和地區的900余家參展商&#xff…

方法:批量識別圖片區域文字并重命名,批量識別指定區域內容改名,基于QT和阿里云的實現方案,詳細方法

基于QT和阿里云的圖片區域文字識別與批量重命名方案 項目場景 ??企業檔案管理??:批量處理掃描合同、發票等文檔,根據編號或關鍵信息自動重命名文件??醫療影像管理??:識別X光、CT等醫學影像中的患者信息,按姓名+檢查日期重命名??電商訂單處理??:從訂單截圖中提…

Mybatis解決以某個字段存在,批量更新,不存在批量插入(高效)(一)

背景 在開發企業級應用時&#xff0c;我們經常需要處理批量數據的插入和更新操作。傳統的逐條處理方式性能低下&#xff0c;而簡單的REPLACE INTO或INSERT ... ON DUPLICATE KEY UPDATE在某些場景下又不夠靈活。本文將介紹一種基于臨時表的高效批量插入/更新方案&#xff0c;解…

JVM、JRE、JDK的區別

JVM JVM全稱Java虛擬機(Java Virtual Machine, JVM),它是運行java字節碼的虛擬機&#xff0c;JVM針對不同的系統有不同的實現&#xff0c;目的運行相同的字節碼有同樣的結果&#xff0c;JVM是“一次編譯&#xff0c;到處運行”實現的關鍵。如下不同的編程語言編譯生成字節碼文…

神經元和神經網絡定義

在深度學習中&#xff0c;神經元和神經網絡是構成神經網絡模型的基本元素。讓我們從基礎開始&#xff0c;逐步解釋它們的含義和作用。 1?? 神經元是什么&#xff1f; 神經元是神經網絡中的基本計算單元&#xff0c;靈感來自于生物神經系統中的神經元。每個人的腦中有數以億…

CDGP重點知識梳理

寫在前面 全文11700字,共82個重點知識 目 錄 考點分布 考試要求 第一章 數據管理-5%

Ubuntu 22.04 安裝配置遠程桌面環境指南

在云服務器或遠程主機上安裝圖形化桌面環境,可以極大地提升管理效率和用戶體驗。本文將詳細介紹如何在 Ubuntu 22.04 (Jammy Jellyfish) 系統上安裝和配置 Xfce4 桌面環境,并通過 VNC 實現遠程訪問。 系統環境 操作系統:Ubuntu 22.04 LTS (Jammy Jellyfish)架構:AMD64安裝…

node提示node:events:495 throw er解決方法

前言 之前開發的時候喜歡使用高版本&#xff0c;追求新的東西&#xff0c;然后回頭運行一下之前的項目提示如下 項目技術棧&#xff1a;node egg 報錯 node:events:495 throw er; // Unhandled error event ^ Error: ENOENT: no such file or directory, scandir F:\my\gi…

【軟件設計師:軟件工程】9.軟件開發模型與方法

一、軟件危機與軟件工程 軟件危機與軟件工程是計算機科學發展中密切相關的兩個概念。 1.軟件危機(Software Crisis) 背景:20世紀60年代至80年代,隨著計算機硬件性能提升,軟件規模與復雜度劇增,傳統開發方法難以應對,導致大量項目失敗。 表現: 成本失控:開發周期長、…

范式之殤-關系代數與參照完整性在 Web 后臺的落寞

最近參加了一個PostgreSQL相關的茶會&#xff0c;感慨良多。原本話題是PostgreSQL 在 SELECT 場景中憑借其成熟的查詢優化器、豐富的功能特性和靈活的執行策略&#xff0c;展現出顯著優勢。在窗口函數&#xff08;Window Functions&#xff09;、JOIN 優化、公共表表達式&#…

WebRTC工作原理詳細介紹、WebRTC信令交互過程和WebRTC流媒體傳輸協議介紹

簡介 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一項允許在網頁瀏覽器之間進行音視頻通信的技術&#xff0c;基本不需要安裝額外的插件。它的核心特點是支持低延遲的點對點&#xff08;P2P&#xff09;通訊&#xff0c;常用于視頻聊天、實時文件共享、多人…

【大語言模型ChatGPT4/4o 】“AI大模型+”多技術融合:賦能自然科學暨ChatGPT在地學、GIS、氣象、農業、生態與環境領域中的應用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千問為代表AI大語言模型帶來了新一波人工智能浪潮&#xff0c;可以面向科研選題、思維導圖、數據清洗、統計分析、高級編程、代碼調試、算法學習、論文檢索、寫作、翻譯、潤色、文獻輔助…

提升編程效率的利器:Zed高性能多人協作代碼編輯器

在當今這個快節奏的開發環境中&#xff0c;一個高效、靈活的代碼編輯器無疑對開發者們起著至關重要的支持作用。Zed&#xff0c;作為來自知名編輯器Atom和語法解析器Tree-sitter的創造者的心血之作&#xff0c;正是這樣一款高性能支持多人合作的編輯神器。本文將帶領大家深入探…

基于51單片機步進電機控制—9個等級

基于51單片機步進電機控制 &#xff08;仿真&#xff0b;程序&#xff0b;設計報告&#xff09; 功能介紹 具體功能&#xff1a; 1.使用L298驅動步進電機轉動&#xff0c;可分為9個速度等級&#xff08;1級最快&#xff0c;9級最慢&#xff09;&#xff1b; 2.使用74HC595驅…

【某OTA網站】phantom-token 1004

新版1004 phantom-token 請求頭中包含phantom-token 定位到 window.signature 熟悉的vmp 和xhs一樣 最新環境檢測點 最新檢測 canvas 下的 toDataURL方法較嚴 過程中 會用setAttribute給canvas 設置width height 從而使toDataURL返回不同的值 如果寫死toDataURL的返回值…

LSTM的簡單模型

好的&#xff0c;我來用通俗易懂的語言解釋一下這個 LSTMTagger 類是如何工作的。 1?? 類的目的 這個 LSTMTagger 類是一個用于自然語言處理&#xff08;NLP&#xff09;任務的模型&#xff0c;目的是標注輸入的句子&#xff0c;通常用于詞性標注&#xff08;例如&#xff…

每天批次導入 100 萬對賬數據到 MySQL 時出現死鎖

一、死鎖原因及優化策略 1.1 死鎖原因分析 批量插入事務過大&#xff1a; Spring Batch 默認將整個 chunk&#xff08;批量數據塊&#xff09;作為一個事務提交&#xff0c;100 萬數據可能導致事務過長&#xff0c;增加鎖競爭。 并發寫入沖突&#xff1a; 多個線程或批處理作…

DeepResearch深度搜索實現方法調研

DeepResearch深度搜索實現方法調研 Deep Research 有三個核心能力 能力一&#xff1a;自主規劃解決問題的搜索路徑&#xff08;生成子問題&#xff0c;queries&#xff0c;檢索&#xff09;能力二&#xff1a;在探索路徑時動態調整搜索方向&#xff08;劉亦菲最好的一部電影是…

跟我學C++中級篇——STL容器的查找對比

一、C標準庫的查找 在C的STL中&#xff0c;對容器或相關序列的查找中&#xff0c;有兩種方式&#xff0c;一種是std::find&#xff0c;另外一種是std::search。而且在它們的基礎上&#xff0c;還衍生出std::find_if、std::find_if_not、std::find_end等和std::search_n、range…

SpringAI框架中的RAG知識庫檢索與增強生成模型詳解

SpringAI框架中的RAG知識庫檢索與增強生成模型詳解 一、RAG簡介 RAG&#xff08;Retrieval-Augmented Generation&#xff09;可以通過檢索知識庫&#xff0c;克服大模型訓練完成后參數凍結的局限性&#xff0c;攜帶知識讓大模型根據知識進行回答。 二、SpringAI框架支持的R…