Python基礎之註釋,算數運算符,變數,輸入和格式化輸出

来源:https://www.cnblogs.com/yifchan/archive/2019/04/23/python-1-2.html
-Advertisement-
Play Games

python基礎知識之註釋,算數運算符,變數,輸入和格式化輸出;註釋包括註釋的分類,註釋使用註意事項;算數運算符包括常見的算數運算符,算數運算符的優先順序;變數包括變數的使用,變數的類型,不同變數類型之間的計算,標識符;以及用戶輸入和格式化輸出等 ...


Python的註釋

註釋的作用:用自己熟悉的語言,對某些代碼進行標註說明,增強程式的可讀性;
在python解釋器解釋代碼的過程中,凡是#右邊的,解釋器都直接跳過這一行;

註釋的分類

單行註釋

# 這裡是註釋
print("hello world")

print("hello python")  # 也可以這樣進行註釋

#後面的就是註釋了,為了增強代碼的可讀性,#後面記得加一個空格;
單行註釋一般放在要被註釋代碼的上一行或者被註釋代碼的後面,放在後面記得註釋和代碼之間空兩格;

多行註釋(塊註釋)

如果單行註釋無法滿足註釋內容的話,可以使用多行註釋;多行註釋可以使用一對連續的三個引號,可以是單/雙引號;例如:

"""
看註釋就行,後面的代碼不用管;
這個程式的作用是,通過使用urllib的request模塊,給request請求設置訪問地址和請求頭;
用urlopen進行訪問;將獲取到的伺服器響應寫入html變數中,再進行輸出。
"""
import urllib.request

ua_headers = {"User-Agent":"Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE)"}

request = urllib.request.Request("http://www.baidu.com",headers = ua_headers)
response = urllib.request.urlopen(request)
html = response.read().decode("utf-8")

print(html)

註釋的使用註意

  1. 註釋不是越多越好,一目瞭然的代碼,不需要進行註釋
  2. 對於複雜的操作,在代碼開始前寫上註釋;
  3. 對於不是一目瞭然的註釋,應在尾部添加註釋;
  4. 絕對不要描述代碼,除非你是個小白,比如 # 輸出hello world

Python中的算數運算符

算數運算符

算數運算符是完成基本的算數運算的符號,用來處理四則運算。

運算符 描述 示例
+ 1+2=3
- 3-1=2
* 2*3=6
/ 8/2=4
// 取整除 9//2=4,返回除法的整除部分
% 取餘數 9%2=1,返回除法的餘數部分
** 2**3=8

算數運算符的優先順序

算數運算符的優先順序 和數學中運算符的優先順序一致:

  1. 先乘除,後加減
  2. 同級運算符從左到右進行計算
  3. 可以用()調整計算的優先順序

優先順序表(從高到低排序)

運算符 描述
**
*/%// 乘除取餘取整
+- 加減

變數

變數的使用

在Python中,變數就是一個用來存儲數據的東西。
每個變數在使用前都必須賦值,只有被賦值以後該變數才會被創建;

變數格式:變數名 = 值

變數的演示

使用互動式ipython演示變數賦值及輸出

In [1]: num = "123456"

In [2]: num
Out[2]: '123456'

In [3]: password = "123"

In [4]: password
Out[4]: '123'

使用pycharm演示變數

num = "123456"
password = "123"

print(num)
print(password)

註意:在解釋器執行變數,輸出結果要用print函數

變數的運算

可以用其他變數的計算結果來定義變數;
例如:

price = 8.5  # 定義單價
weight = 7.2  # 定義重量
cost = price * weight  # 計算單價與重量的積並賦值給應付價錢
print(cost)

變數的再運算

可以用變數本身通過運算後的計算結果再賦值給變數

price = 8.5  # 定義單價
weight = 7.2  # 定義重量
cost = price * weight  # 計算單價與重量的積並賦值給應付價錢
cost = cost-5  # 購買商品立減5元
print(cost)

變數名只有在第一次出現時才是定義變數;第二次出現是使用變數/修改變數。

變數的類型

  1. Number 數字(下分為int,long,float,complex,其中python3中已經沒有long和int之分了,只有int)
  2. Bool 布爾類型(True/False,註意布爾類型非0即真)
  3. Str 字元串
  4. List 列表
  5. Tuple 元組
  6. Dictionary 字典

查看變數類型

用type函數可以查看變數類型,使用格式:type(變數名);例如:

name = "小明"
print(type(name))  # 在ipython下可以直接type(name)

不同變數類型之間的計算

1.數字型變數之間可以直接進行計算
在python中,兩個數字型變數是可以志傑進行算數運算的;
如果是布爾型,在計算時,True對應的是數字1,False對應的是數字0;
例如:

i = 10
f = 5.0
b = True

print(i+f)
print(i*f)
print(f+b)
print(i-b)
print(i*b)

2.字元串變數之間通過+拼接字元串

字元串之間可以通過+拼接出新的字元串,例如:

str1 = "早上好啊"
str2 = "你吃飯了嗎?"
str3 = str1+str2
print(str3)  # 輸出 早上好啊你吃飯了嗎?

3.字元串變數和整數之間可以通過*來重覆拼接字元串

當我們要將同一個字元串重覆輸出一百甚至上千遍,怎麼辦?答:用*重覆拼接
例如:

apologize = "媳婦,對不起,我錯了"
print(apologize*100)
# 或者
apologize = "媳婦,對不起,我錯了"
apologize100 = apologize*100
print(apologize100)

4.數字型變數和字元型變數之間不能進行其他運算
如上,如果運算,會報錯。

標識符

標識符就是開發人員在程式中自定義的一些符號和名稱,如變數名,函數名等;標識名要有見名知意的效果,即有語義。

標識符由字母,數字,下劃線組成,且不能以數字開頭;

應註意,python中的標識符是區分大小寫的,比如:name!=Name

標識符命名規則

  1. 應該見名知意
  2. 小駝峰命名法:第一個單詞以小寫字母開始,第二個單詞的首字母大寫;比如:userName。
  3. 大駝峰命名法:第一個和第二個單詞都是首字母大寫;比如:UserName。
  4. 下劃線分割法:兩個單詞都是小寫,且以下劃線_進行分割;比如:user_name。
  5. 不應與關鍵字重名,關鍵字,即int,long,print等。

關鍵字

什麼是關鍵字?
答:python內部已經使用的標識符。

查看關鍵字的方法

import keyword
print(keyword.kwlist)

輸入與格式化輸出

輸入

輸入 就是用代碼獲取用戶通過鍵盤獲取的信息;在python中,獲取輸入信息用input函數;
(函數,一個常用的功能,別人已經幫我們寫好了,直接用就行,不用關心內部結構;)

input函數的基本使用

基本格式:變數名 = input("請輸入xxx:")

例如:name = input("請輸入用戶名:")。
註意,用戶輸入的任何內容python都認為是一個字元串類型的數據

類型轉換函數介紹

因為用input接收的數據,全部都是字元串類型,因此有些時候(比如年齡),我們有必要對接收數據做一定的轉換;

  • int(x),將x轉換成一個整數
  • float(x),將x轉換成一個浮點數,x可以是12.3,也可以是12
  • 其他還有str()等,暫且不提

變數和類型轉換函數的應用

price = input("請輸入水果單價:")
weight = input("請輸入水果重量:")
# 因為單價和重量全由用戶輸入,為字元類型,而字元類型不能做乘法運算,因此將其轉換成浮點型
price = float(price)
weight = float(weight)
cost = price*weight
print(cost)

兩個字元串之間是不能直接做乘法運算的;

而我們可以看到,用戶輸入的數字,我們每個數字都要做接收和轉換兩次處理,那麼能不能更簡單一點呢?其實是可以的,我們將兩個函數進行嵌套使用,即可解決。

改進版:

price = float(input("請輸入水果單價:"))
weight = float(input("請輸入水果重量:"))
cost = price*weight
print(cost)

格式化輸出

什麼是格式化輸出?
格式化輸出,就是當我們做一個軟體的時候,如果我們要輸出個人信息,比如姓名,但每個人的姓名都是不一樣的,不可能為每一個人都做一個程式,輸出“你好,歡迎你,xxx”,這個時候,我們就需要格式化輸出,將xxx當成一個坑,前面不變,需要時就調用名字變數填入那個坑,這樣,就能用一個程式,完成對每個人的歡迎信息了。

%被稱為格式化操作符,專門用來處理字元串中的格式;%和不同的字元連用,構成不同的格式化字元

格式化輸出格式如下:
print("你好,你的xxx是 格式化字元"%變數名)
print("你好,你的xxx是 格式化字元 ,xxx是 格式化字元 "%(變數名1,變數名2))

格式化字元 含義
%s 字元串
%d 有符號十進位整數,
%f 浮點數,
%% 輸出%%

技巧:

  • %06d可以控制輸出的 位數為6位,如果變數小於6位則在前面補0,多於或等於則按多的輸出;
  • %.2f和%06d類似,控制小數點後的位數為兩位;

格式化輸出字元串變數

name = "小明"
print("我的名字叫%s,你好" % name)

格式化輸出整數變數

student_no= 1
print("我的學號叫%d,你好" % student_no)
print("我的學號叫%06d,你好" % student_no)

格式化輸出浮點型變數

price = 8.5
weight = 9.0
money = price*weight
print("價格,%f;重量,%f;應付價錢,%f;" % (price, weight, money))
print("價格,%.2f;重量,%.2f;應付價錢,%.2f;" % (price, weight, money))

格式化輸出百分號%

num = 0.25
print("數據比例是%.2f%%"%(num*100))

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

-Advertisement-
Play Games
更多相關文章
  • CAS(Compare-and-Swap),即比較並替換,java併發包中許多Atomic的類的底層原理都是CAS。 它的功能是判斷記憶體中某個地址的值是否為預期值,如果是就改變成新值,整個過程具有原子性。 具體體現於sun.misc.Unsafe類中的native方法,調用這些native方法,JV ...
  • 昨天老師講了建網站,還要交錢買東西的,所以就沒寫,今天講了介面與抽象類進一步加深 上完今天的課後,我才知道一個介面可以有多個實現類,一個實現類可以同時接多個介面。 現在就用代碼來解釋吧!!! 舉例用人(People)來寫 先創建一個父類: 然後 創建介面1 下邊每一個介面的方法都代表著不同的動作 創 ...
  • 1、 有兩個列表 l1 = [11, 22, 33] l2 = [22, 33, 44] a.獲取內容相同的元素列表 li = []l1 = [11, 22, 33] l2 = [22, 33, 44] for v1 in l1: for v2 in l2: if v1 == v2: li.appe ...
  • 1,複習 二,記憶體管理 引用計數:垃圾回收機制的依據 引用計數會出現迴圈引用問題:相互引用無法釋放 標記清除:解決迴圈引用問題 分代回收:採用的還是引用計數來回收,是對該機制的一個優化措施 ...
  • 傳送門: "柏鏈項目學院" 就像1000個人眼中有1000個哈姆雷特一樣,每個人眼中的區塊鏈也是不一樣的!作為技術人員眼中的區塊鏈就是將各種技術的融合,包括密碼學,p2p網路,分散式共識機制以及博弈論等。我們今天就來討論一下區塊鏈技術中的p2p網路,這是一種點到點的通信技術。 說到p2p通信,它並沒 ...
  • """ 迴圈錄入3個正整數,求最大值,最小值,總和,平均值 訪問列表中的元素: 列表的長度: len(列表名) 索引值的範圍:【0,len(列表名)-1】 列表名[索引值] """ #定義一個空列表 nums = [] # print(type(nums)) i = 1 while i max_va... ...
  • Java數據類型轉換的部分練習和註意點(double類型減法、類型轉型、變數相加) ...
  • 1 多態 1.1 多態性 Java 引用變數有兩個類型:一個是編譯時類型,一個是運行時類型。前者是代碼中聲明這個變數時的類型,後者是由實際對象的類型決定的。當編譯類型和運行類型不一樣時,產生多態。 這個例子中 nc 的編譯時類型是 BaseClass , 運行類型是 SubClass,在調用 nc ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...