變數和數據類型

来源:https://www.cnblogs.com/tuooo/archive/2019/09/05/11468266.html
-Advertisement-
Play Games

內容: 變數 字元串 數字和運算符 數據類型轉換 一、變數 1.定義:指在電腦編程中與關聯的標識符配對的記憶體存儲位置,在使用時含相關類型的值,該值可以修改。 當Python變數被使用時,在記憶體里會產生兩個動作:1.開闢新的記憶體地址;2.賦予指定的變數值 註意:變數被指定的同時,必須強制賦初始值,否 ...


內容:

  • 變數
  • 字元串
  • 數字和運算符
  • 數據類型轉換

 

一、變數

1.定義:指在電腦編程中與關聯的標識符配對的記憶體存儲位置,在使用時含相關類型的值,該值可以修改。

當Python變數被使用時,在記憶體里會產生兩個動作:1.開闢新的記憶體地址;2.賦予指定的變數值

註意:變數被指定的同時,必須強制賦初始值,否則將報錯

2.多個變數賦值

如:

>>> a=b=c=1         # 多個變數賦值
>>> print(a,b,c)    # 列印變數
>>> 1 1 1           # 列印結果

3.變數值類型

包括:字元串(String)、數字(Numeric)、元組(Tuple)、列表(List)、字典(Dictionary)


 

二、字元串

1.字元串使用

由單引號(' ')、雙引號(" ")、三引號(''' ''')表示的任意位元組字元組成,其中三引號中的字元串可以包含換行符製表符其他特殊字元等,如:

>>> text = '''你好,中國
中國萬歲\n
繁榮、昌盛\t Yeah!'''
>>> print(text)
你好,中國
中國萬歲

繁榮、昌盛     Yeah!

 2.字元串的基本操作

(1)字元串值讀取

通過下標(index)如:

>>>text = 'we are family!'    #變數賦值
>>>text[1]                    #獲取下標為1的字元
e                             #得到結果

切片:

>>> text[3:6]      #讀取下標3-6的字元
>>> text[:6]       #讀取下標0-6的字元
>>> text[:]        #讀取整個字元串(感覺沒什麼意義)
>>> text[::2]      #從頭到尾,步長為2(即每隔一個字元),讀取對應字元
>>> text[-1]       #讀取右邊第一個字元
>>> text[-3:-1]    #從右往左,讀取倒數第四、三、二個字元

註意:若註明瞭右下標,則右下標對應值不算入其中,如:

>>> name = '1234567'
>>> name[1:4]
'234'

2.字元串合併

字元串合併通過 “+” 號連接合併

3.字元串修改

字元串不能直接修改,是通過讀取原有字元串進行合併來實現的,如:

>>> name = name + "hello"
>>> print(name)
1234567hello

4.字元串刪除

>>> del(name)

5.獲取字元串長度

>>> len(name)

6.r/R符號

作用類似 三引號,如:

>>> print('hello \nnooi\thahh')
hello
nooi    hahh
>>> print(r'hello \nnooi\thahh')
hello \nnooi\thahh

7.重覆輸出(*)

>>> print("hello" * 2)

8.格式字元串(%

print("I'm %s. I'm %d years old" % ('Gogo', 10))

三、數字和運算符

數字(Digital)包括:整數(Integer)、浮點數(Float)、複數(Complex)、布爾(Boolean)

1.算術運算符

加(+)、減(-)、乘(*)、除(/)、取模(%)、冪(**)、取整(//)

優先順序:括弧 > 冪 > 乘(除)> 取模 ( 取整) > 加(減)

2.整數

由正整數、零和負整數構成,不包括小數、分數等,在Python中整數的長度不受限制,但受記憶體的限制

3.浮點數

在Python中,浮點數就是帶小數點的數,浮點數不一定是精確值,因為受記憶體限制,超過一定長度後,末尾取近似值,如:

>>> 10.0/3
3.3333333333333335

4.複數

>>> (2-3j).real
2.0
>>> (2-3j).imag
-3.0

5.布爾

and、or、not

6.二進位

在Python中用 0b 開始表示二進位(早期的Python版本不支持0b開頭的二進位數)。如:

>>> 0b110101
53
>>> bin(17)
'0b10001'

 7.二進位位運算符

運算符 中文名稱 運算規則描述
& 按位與運算符

a&b,參與運算的a,b,如果相應位數為1,則該位結果為1,否則為0

| 按位或運算符 a|b,只要對應二進位位一個為1,則結果為1,都為0時結果為0
^ 按位異或運算符 a^b,當對應的二進位位相異時,結果為1,相同時結果為0
~ 按位翻轉運算符 ~a,將二進位位+1後乘以-1,a的按位翻轉為:-(a+1)
<< 左移動運算符 a<<x,將a的二進位位全部向左移x位,高位丟棄,地位補0
>> 右移動運算符 a>>x,將a的二進位位全部向右移x位,低位丟棄,高位補0

二進位位運算符表

>>> #示例如下:
>>> 0b110110001&0b00101010 32 >>> 0b110110001|0b00101010 443 >>> 0b110110001^0b00101010 411 >>> ~0b110110001 -434 >>> 0b110110001<<3 3464 >>> 0b110110001>>3 54

 

 8.比較運算符

 包括:等於(==)、不等於(!=)、大於(>)、小於(<)、大於等於(>=)、小於等於(<=)

 9.優先順序

 算術運算符(位運算符) >  比較運算符  >  邏輯運算符


 四、數據類型轉換

>>> int(15.1)            #浮點數 > 整數
15               
>>> int('20')            #字元串 > 整數
20
>>> float(2)             #整數 > 浮點數
2.0
>>> float('23')          #字元串 > 浮點數
23.0
>>> complex(1,3)         #轉複數
(1+3j)
>>> complex(2)           #整數 > 複數
(2+0j)
>>> complex('4')         #字元串 > 複數
(4+0j)
>>> str(4+2j)            #複數 > 字元串
'(4+2j)'
>>> bin(30)              #整數 > 二進位數
'0b11110'
>>> oct(16)              #整數 > 八進位數
'0o20'
>>> hex(55)              #整數 > 十六進位數
'0x37'
>>> chr(48)              #整數 > ASCLL碼
'0'
>>> ord('b')             #ASCLL碼 > 整數
98

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

-Advertisement-
Play Games
更多相關文章
  • 文件的基本操作:( "更多" ) fopen():文件打開 fopen()函數的參數是目標文件的路徑和文件的讀寫模式;同時fopen函數也會在打開文件時候發現沒有文件會自動創建一個文件但是模式必須是讀寫或寫入的模式 fread():文件讀取 fread()函數的參數是需要讀取的文件和文件讀取的最大字 ...
  • 一、前端概述 二、什麼是HTML? htyper text markup language 即超文本標記語言 超文本:就是指頁面內可以包含圖片、鏈接、甚至音樂、程式等非文字元素。 標記語言:標記(標簽)構成的語言 網頁==HTML文檔,由瀏覽器解析,用來展示的 靜態網頁:靜態的資源,比如test.h ...
  • SQL優化(變多次維護為一次維護) Sql優化分為:DDL、DML、DQL 一、DDL優化 1 、通過禁用索引來提供導入數據性能 。 這個操作主要針對有資料庫的表,追加數據 //去除鍵 alter table test3 DISABLE keys; //批量插入數據 insert into test ...
  • Spring是一款輕量級。主要功能是ioc控制反轉,DI依賴註入,Aop面向切麵:解決的是在編程中的解耦合,硬編碼,很好的解決了程式的擴容及修改 1、ioc控制反轉:是spring的核心,是一種思想,是將Java中的對象都交由spring進行創建,生命周期,銷毀都是由spring進行控制,讓Java ...
  • 一、分表: 水平分表:根據條件把數據分為N個表(例如:商品表中有月份列,則可以按月份進行水平分表)。 使用場景:一張表中數據太多,查詢效率太慢。 當需要同時查詢被水平分表的多張表時: 在兩條SQL語句中間加union,就能把兩表數據合併展示。 union:數據合併時去重。 Union all:數據合 ...
  • # ##java客戶端連接到ElasticSearch伺服器 創建maven工程 添加坐標 最好跟伺服器elasticsearch一致 # ## 獲取TransportClient java程式連接elasticsearch通過TransportClient類 TransportClient類是一個 ...
  • 題目描述: 給定兩個整數 a, b (a, b 均不超過 int 類型的表示範圍),求出 a + b 的和。 輸入描述: 每行輸入兩個整數 a 和 b,用空格隔開。 輸出描述: a + b 的值。 樣例輸入: 1 2 樣例輸出: 3 ...
  • 今日所學: /* 2019.08.19開始學習,此為補檔。 */ ①char:只能有一個欄位。字元:' ' ②二進位:0000 0000 最後一位為0就不算,為1代表20。 如25為:0001 1001 24+23+20 = 16+8+1 = 25 ③final int A = 45; final聲 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...