03python基礎知識01

来源:https://www.cnblogs.com/palien/archive/2022/11/10/16878009.html
-Advertisement-
Play Games

這一篇文章主要介紹一些python的基礎知識,包括演算法、數字和表達式、變數、語句、獲取用戶輸入等。 什麼是演算法 什麼是電腦編程呢?簡單的來說,電腦編程就是告訴電腦如何做。 而演算法只不過是流程或菜譜的時髦說法,詳盡的描述瞭如何完成某項任務,以便於電腦更好的執行。 例如下麵的菜譜,雞蛋火腿腸: ...


這一篇文章主要介紹一些python的基礎知識,包括演算法、數字和表達式、變數、語句、獲取用戶輸入等。

什麼是演算法

什麼是電腦編程呢?簡單的來說,電腦編程就是告訴電腦如何做。

演算法只不過是流程或菜譜的時髦說法,詳盡的描述瞭如何完成某項任務,以便於電腦更好的執行。

例如下麵的菜譜,雞蛋火腿腸:

  • 先取一些火腿腸
  • 再加些火腿腸和雞蛋
  • 如果喜歡吃辣,加些辣味火腿腸
  • 煮熟為止
  • 記得每隔10min檢查一次

這個菜譜很簡單,但是具有一定的結構性。它由一系列必須按順序執行的操作說明組成,其中有些可以直接完成;有些需要特別註意;還有些需要重覆。

演算法也是一樣,由對象(原料)和語句(操作說明)組成。 

數和表達式

1、互動式Python解釋器可以當作計算器使用,支持簡單的數學運算:

>>> 2+2
4   
>>> 

2、在Python中,除法運算的結果為小數,即浮點數

>>> 1 / 2
0.5 
>>> 1 / 1
1.0 
>>> 

3、Python中的 整除運算//)可以丟棄小數部分,註意這裡並不是四捨五入:

>>> 10 // 3
3
>>> 10 // -3
-4
>>> -10 // 3
-4
>>> -10 // -3
3

4、Python中求餘/求模****運算%)表示取餘數:

>>> 10 % 3
1
>>> 10 % -3
-2
>>> -10 % 3
2
>>> -10 % -3 
-1
  • 基於除法運算的原理和上面的取整運算,就很容易理解最終的餘數是多少了。
  • 對於有負數的除法,記住:餘數不能為0。例如 -10 / 3 = -3··· -1 或 -10 / 3 = -4··· 2,顯然正確的計算方法為後者。
  • 取模用於條件判斷很有用,例如上面菜單中10mim檢查一次可以通過 x % 10 == 0 是否成立來實現。

5、Python中乘方/求冪運算通過多個 *實現:

>>> 2 ** 3
8
>>> -3 ** 2 # 乘方運算的優先順序比求負高,等價於-(3**2),所以結果是-9
-9
>>> (-3) ** 2
9

6、十六進位、八進位和二進位

>>> 0xaf # 十六進位寫法
175
>>> 0o10 # 八進位寫法
8
>>> 0b1011010010 #二進位寫法
722
  • 這些表示方法都以0開頭
  • x表示十六進位
  • o表示八進位
  • b表示二進位

變數

在Python中變數(variable)是表示(或指向)特定值的名稱,這一過程也稱為賦值(assignment),賦值之後就可以使用變數了:

>>> x = 3 # 給變數x賦值
>>> x * 2 # 使用變數x
6 
  • 註意,Python變數沒有預設值,所以使用變數前必須給變數賦值
  • 在Python中,變數/名稱/標識符只能由字母、數字、下劃線構成,且不能以數字開頭

語句

print語句

>>> print('Hello World!')
Hello World!
>>> print(2 * 2)
4
>>> 2 * 2
4
  • 在互動式模式中,執行乘法表達式和print語句中執行表達式的語句沒有差別,這是因為解釋器總是會將表達式的值列印出來(實際上是列印repr的內容)。如果在非互動式模式中表達式結果不會自動列印出來,必須通過print語句才能展示。
  • print實際上是一個函數,所以print語句本質上是函數的調用
  • print語句會改變屏幕顯示外觀

賦值語句

>>> x = 3
>>> 
>>> print(x)
3
>>>
  • 賦值語句和表達式的差別更明顯,因為賦值語句不是表達式,它們沒有可供互動式解釋器列印的值
  • 執行賦值語句後,互動式解釋器只是再次顯示提示符。唯一的區別是有一個名稱為x的新變數,與值3關聯
  • 賦值語句會改變變數

if語句

>>> if 1 == 2: print('One equals two')
... 
>>> if 1 == 1: print('One equals one')
... 
One equals one
>>>
>>> time = 120
>>> if time % 60 == 0: print('On the hour!') # 可以檢查以分鐘為單位的時間是否是整點
... 
On the hour!
>>>
  • if語句可在給定條件滿足時執行特定的操作(另一條語句),一般使用相等運算符(==)表示相等性檢查
  • if條件後面需要加上冒號與後面的語句分開,條件不滿足時什麼都不做,條件滿足時候將執行冒號後面的語句

所有語句都有一個根本性的特征:執行修改操作。

在所有的編程語言中,賦值語句都是最重要的語句。變數就像臨時“存儲區”(類似於菜譜中的鍋碗瓢盆),其真正的威力在於無需知道它們存儲的值就能操作它們。

其實變數就是數學中的代數思想,而賦值過程就是我們為了更具體的說明問題給字母一個具體的數字來便於運算。

獲取用戶輸入

在Python中,input()函數可以用來獲取用戶的輸入。

>>> input('The meaning of life: ')
The meaning of life: 42
'42'
>>>
>>> x = input('x: ')
x: 66
>>> y = input('y: ')
y: 88
>>> print(int(x) + int(y))  
154
>>>
  • 從上面的例子可以看出,input()函數括弧中引號內容是用戶輸入的提示信息,回車之後會列印在屏幕上;繼續鍵入的內容會被input(以文本或字元串的方式)返回,並列印出來
  • 通過int()函數可以將輸出的數字字元串轉換為整數。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • sizeof和strlen在C語言中常用來計算字元大小和長度,在應用中卻有著本質的區別。 sizeof是C語言中的關鍵字,其作用是返回一個對象或類型所占的記憶體位元組數。使用方式為: int i; sizeof(int); *//值為4*` sizeof(i); *//值為4,等價於sizeof(int ...
  • 本章我們正式開始學習Python的入門課程。 在學習Python之前,你要做的第一件事,就是安裝Python環境。 由於Python官方已不再維護Python2.x,所以本系列課程將使用最新的Python3.x版本作為Python環境,不再考慮Python2.x版本的相容性。讓我們面向未來,擁抱Py ...
  • 只有繼承於object的新式類才能有__new__方法,__new__方法在創建類實例對象時由Python解釋器自動調用,一般不用自己定義,Python預設調用該類的直接父類的__new__方法來構造該類的實例,如果該類的父類也沒有重寫__new__,那麼將一直按此規矩追溯至object的__new ...
  • 簡介: 模板方法模式,是行為型的設計模式。 定義一個操作中的演算法的骨架,而將一些步驟延遲到子類當中,使得子類可以不改變一個演算法的結構即可重新定義該演算法的某些特定步驟。 通俗講,模板方法模式是偏向繼承的設計模式,當子類有重覆的動作時候,可將他們提取出來,放在父類進行處理。 適用場景: 演算法結構相同但是 ...
  • RabbitMQ 整合RabbitMQ /** * 使用RabbitMQ * 1、引入ampq場景,RabbitAutoConfiguration 就會自動生效 * 2、給容器中自動配置了 * RabbitTemplate、AmqpAdmin、CachingConnectionFactory、Rab ...
  • 今天用spring boot 做項目的時候,使用到了redis來做緩存。 然後在存入redis的時候遇到了亂碼的問題,這個問題是出現在序列化上,但是這個問題很好解決,晚上的方法也很多。 因為 redis 是將數據存儲在記憶體中的,在存入數據的時候需要對數據進行序列化的操作,問題就是出現在這裡。 我們修 ...
  • 註釋 給別人看的,機器並不會執行這行語句 1.單行註釋 // 我是單行註釋 2.多行註釋 /* 我是多行註釋 我是多行註釋 我是多行註釋 我是多行註釋 */ // 這是一個main函數,這個是go語言啟動的入口 func main() { //fmt.Println :列印一句話,然後執行完畢後,進 ...
  • 大家好,這篇文章跟大家聊下 SpringCloudAlibaba 中的微服務組件 Nacos。Nacos 既能做註冊中心,又能做配置中心,這篇文章主要來聊下做配置中心時 client 端的一些設計,主要從源碼層面進行分析,相信看完這篇文章你對 Nacos client 端的工作原理應該有比較深刻的了 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...