Python學習之路-隨筆01 初識python3(數據類型及其運算和控制)

来源:https://www.cnblogs.com/slose-notes/archive/2018/08/20/Python01.html
-Advertisement-
Play Games

數據類型 由於學習過其他編程語言(C/C++/java),所以記錄的話除了一些差異點和遇到的問題,儘可能的簡潔,以達到最佳的記錄作用,方便以後的複習和形成體系。 1.數字類型 包括integer,long,float,complex(複雜整數)等,統稱number,而且不用特殊聲明。 特殊類型:布爾 ...


數據類型

由於學習過其他編程語言(C/C++/java),所以記錄的話除了一些差異點和遇到的問題,儘可能的簡潔,以達到最佳的記錄作用,方便以後的複習和形成體系。

1.數字類型

  包括integer,long,float,complex(複雜整數)等,統稱number,而且不用特殊聲明。

  特殊類型:布爾值,只有True和False兩個,註意首字母大寫。而且在普通數字運算中可以當成1/0來使用

2.字元串類型

  1.類型定義

  在python里字元串可以用單引號/雙引號/三引號括起表示一串字元,這點和其他語言區別開來。

  交錯使用者三種方式在某些時候可以起到比較好的效果,比如下麵的代碼

   <a style=\"color:red\"> 哈哈哈</a>

  在代碼中就包括了雙引號,所以這時候可以換成單引號或者三引號起到效果

  str = ' <a style=\"color:red\"> 哈哈哈</a>\n '

  同時要註意的是三引號也是python中進行塊註釋的方法,區別於行註釋用#號

  2.字元串的格式化

  有兩種,1是和C相似的百分號%,2是用format函數

  百分號使用實例

  s = "測試使用%s的方法於%d的晚上"

  print(s%("python格式化",19))

  format函數格式化使用方法,大括弧{}代替百分號%,如下

  str = ”在{}的晚上測試使用{}的方法".format(19,"python格式化")

  需要註意的是大括弧里可以添加數字來進行format方法的參數順序編號,放入參數的時候根據編號大小來確定,如下

  str = ”在{1}的晚上測試使用{0}的方法".format("python格式化",19)

  3.轉義字元

  不詳細描述,即用\來對後面一個或多個不方便表達的字元進行轉義(保護)表達出來。和上面的字元串三種表達方式類似。

  在實際中要註意不同系統下對某些字元有不同的表達,如換行,Windows下是\n,linux下是\r\n。

3.元組/列表/字典

  這三個放到一塊說方便一些。

  列表用[](方括弧)表示,元組用()普通的圓括弧表示,對於初步接觸只需要接觸到的知識是:列表能讀能寫,元組則是只讀。

  再細點就是列表裡面有一系列的操作方法,如append/insert/pop/remove/sort等等,元組只有則很少,只有count/index等計數和取下標的方法

  而字典類型則是用於數據存儲,類似資料庫里的表。

數據運算

  一共分為七種,分別是算術運算,關係運算(比較),賦值運算,邏輯運算,位運算,成員運算,身份運算。

  目前初學來看需要註意的不是很多,主要有一下幾點:

  1.算術運算里,除號/和其他語言區別開,不是取商而是精確除,取商則是兩個除號//(地板除)

  2.冪運算是兩個乘號表示**,且python里無自增和自減。

  3.邏輯運算只有與或非,無異或運算。

  4.成員運算,即in和not in,只能檢查是否有鍵,而不能查找是否有某個值,返回的是布爾值。

  5.身份運算,is和is not,用來檢測兩個邊路是/不是同一個變數,返回的是布爾值。

控制邏輯

  1.分支運算

  格式為if/elif/else,後面加冒號,無switch,elif就是else if的縮寫代替。如if 條件表達式:/ elif   條件表達式:/  else: else為可選。

  2.迴圈控制

  格式為for XX in 某數據結構(序列)

        XXXXX                                 (類似C#),該迴圈也可添加else。

      else:

  另外一種為while 條件表達式:

          XXXX

          else:(可選)

  對於break,continue這類的迴圈控制命令,多了個pass,但是沒什麼卵用,通常用於占位

  3.補充一下python的輸入輸出

  一般為input和print方法,例如

  age = input(“請輸入年齡”)

  print(“你出入的年齡是:{0}”,format(age)

 

最後補充一下pyhon的其他一點知識

  定義函數:def 函數名():     其中參數有多種,關鍵字參數,預設參數,可變參數等

  關鍵字參數就是把參數名直接寫上。如def  test(name,age):  test(name="lucy",age=18),而且可以不考慮參數位置,比如age放在name之前

  預設參數就是定義時就賦予了一個值,使用時可寫可不寫,但是要註意的是,預設參數一定要放在最後,比如def  test(name,age = 18):

  可變參數約定俗成的用*args和**kwargs來寫,前者合成一個元組,後者則是字典,也叫包裹傳遞?

    def func(*args) :

      func(a,b,c,d,e)      abcde都會被放進一個元組裡,字典同理。但是要關鍵字參數引用的時候只能用**kwargs,如def fuc(**kwargs)    func(name = "XXX",age = 18)

  可變參數的反過來用法叫解包裹參數

  元組:

    def func(name,age):

      print(name,age)

    args = ("zhangsan",19)

    func(*args)

  字典:

    def func(name,age):
      print(name,age)
    kwargs = {"name":"zhangsan","age":19}
    func(**kwargs)

  關於上面這幾種參數類型的混合使用就留給以後再研究吧。

  第一篇就這麼多吧,也算是紀念一下。

  有錯誤和不足之處望見諒。

 


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

-Advertisement-
Play Games
更多相關文章
  • puppeteer puppeteer 是一個通過DevTools 協議提供高級API 來控制 chrome,chromium 的 NODE庫; puppeteer預設運行在 headless 模式, 也可配置後運行在全模式(non headless). puppeteer可以做什麼 大部分在瀏覽器 ...
  • 寫在前面 註:這個系列是本人對js知識的一些梳理,其中不少內容來自書籍:Javascript高級程式設計第三版和JavaScript權威指南第六版,感謝它們的作者和譯者。有發現什麼問題的,歡迎留言指出。 1.數據屬性 數據屬性的4個特性: Configurable:①表示能否通過delete刪除屬性 ...
  • 樹形結構是軟體行業很常見的一種結構,幾乎隨處可見, 比如: HTML 頁面中的DOM,產品的分類,通常一些應用或網站的菜單,Windows Form 中的控制項繼承關係,Android中的View繼承關係,部門的組織架構,Windows 資源管理器 等等都是樹形結構。 Windows 資源管理 樹形結 ...
  • 概要 帶著問題去看教程: 不是用logstash來監聽我們的日誌,我們可以使用logback配置來使用TCP appender通過TCP協議將日誌發送到遠程Logstash實例。 我們可以使用Logstash指向多個日誌文件。 我們可以在logstash配置文件中使用更複雜的過濾器,以根據需要執行更 ...
  • 緩存ABC Intro 緩存是一種比較常見的用來將提高系統性能的方式。從線程緩存、進程緩存、到記憶體緩存再到分散式緩存再到CDN,都是屬於緩存的範疇。 緩存的本質是 以提高讀的效率,犧牲一些記憶體空間來換取之後的快速讀取與訪問。 緩存3問 為什麼需要緩存? 一般在項目中,最消耗性能的地方就是後端服務了, ...
  • 說起線程,無法免俗首先要弄清楚的三個概念就是:進程、線程、協程。OK,那什麼是進程,什麼是線程,哪協程又是啥東西。進程:進程可以簡單的理解為運行在操作系統中的程式,程式時靜態代碼,進程是動態運行著的代碼,程式的運行需要向操作系統申請資源比如記憶體,文件句柄等,特別強調的是進程申請的資源都是獨立的,也就 ...
  • 本文主要講解靜態代理,動態代理的原理,以及如何使用JDK動態代理,cglib動態代理,最後帶大家手寫jdk動態代理源碼!真正理解動態代理的原理與技術!含Git完整項目地址! ...
  • 詳情戳擊下方鏈接 Python之進程、線程、協程 python之IO多路復用 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...