【Python基礎入門系列】第03天:Python 變量與數據類型

這篇文章我們學習 Python 變量與數據類型

Python?變量類型

變量存儲在內存中的值。這就意味著在創建變量時會在內存中開辟一個空間。

基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。

因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。

?

?

變量名也可稱之為標識符(變量名、函數名、類名、包名等統稱為標識符),其命名要符合python的語法要求:

  • 由數字、字母、下劃線組成,不能以數字開頭

  • 嚴格區分大小寫

  • 不能是python的關鍵字(保留字)

    獲取python的保留字
    import keyword
    print(keyword.kwlist)
    ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

    ?

?


變量賦值

Python 中的變量賦值不需要類型聲明。

每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。

每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。

等號(=)用來給變量賦值。

等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。例如:

a = 123 # a 是整數
a = '劉旺學長' # a 是字符串?

?


多個變量賦值

Python允許你同時為多個變量賦值。例如:

a = b = c = 1

以上實例,創建一個整型對象,值為1,三個變量被分配到相同的內存空間上。

您也可以為多個對象指定多個變量。例如:

a, b, c = 1, 2, "john"

以上實例,兩個整型對象 1 和 2 分別分配給變量 a 和 b,字符串對象 "john" 分配給變量 c。

?


標準數據類型

在內存中存儲的數據可以有多種類型。

例如,一個人的年齡可以用數字來存儲,他的名字可以用字符來存儲。

Python 定義了一些標準類型,用于存儲各種類型的數據。

?

Python3 的六個標準數據類型中:

  • 不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);

  • 可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。

?


數字?Number

數字數據類型用于存儲數值。

他們是不可改變的數據類型,這意味著改變數字數據類型會分配一個新的對象。

當你指定一個值時,Number對象就會被創建:

var1 = 1
var2 = 10

?

Python3 支持 int、float、bool、complex(復數)。

數字類型是顧名思義是用來存儲數值的,需要記住的是,有點和 Java 的字符串味道差不多,如果改變了數字數據類型的值,將重新分配內存空間。

?

數字類型轉換

  • int(x) 將x轉換為一個整數。

  • float(x) 將x轉換到一個浮點數。

  • complex(x) 將x轉換到一個復數,實數部分為 x,虛數部分為 0。

  • complex(x, y) 將 x 和 y 轉換到一個復數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。

示例:

?#!/usr/bin/python3counter = 100 # 整型變量
miles = 1000.0 # 浮點型變量
name = "test" # 字符串print (counter)
print (miles)
print (name)

?


Python字符串

字符串或串(String)是由數字、字母、下劃線組成的一串字符。

一般記為 :

s="a1a2···an"(n>=0)

它是編程語言中表示文本的數據類型。

python的字串列表有2種取值順序:

  • 從左到右索引默認0開始的,最大范圍是字符串長度少1

  • 從右到左索引默認-1開始的,最大范圍是字符串開頭

?

如果你要實現從字符串中獲取一段子字符串的話,可以使用?[頭下標:尾下標]?來截取相應的字符串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。

[頭下標:尾下標]?獲取的子字符串包含頭下標的字符,但不包含尾下標的字符。

比如:

>>> s ='abcdef'
>>> s[1:5]'bcde'

當使用以冒號分隔的字符串,python 返回一個新的對象,結果包含了以這對偏移標識的連續的內容,左邊的開始是包含了下邊界。

上面的結果包含了?s[1]?的值 b,而取到的最大范圍不包括尾下標,就是?s[5]?的值 f。

?

Python 列表截取可以接收第三個參數,參數作用是截取的步長,以下實例在索引 1 到索引 4 的位置并設置為步長為 2(間隔一個位置)來截取字符串:

再來看看字符串的一些常見操作:

s = '學習Python'
# 切片
s[0], s[-1], s[3:], s[::-1] # '優', 'n', 'Python', 'nohtyP的雅優'
# 替換,還可以使用正則表達式替換
s.replace('Python', 'Java') # '學習Java'
# 查找,find()、index()、rfind()、rindex()
s.find('P') # 3, 返回第一次出現的子串的下標
s.find('h', 2) # 6, 設定下標2開始查找
s.find('23333') # -1, 查找不到返回-1
s.index('y') # 4, 返回第一次出現的子串的下標
s.index('P') # 不同與find(), 查找不到會拋出異常
# 轉大小寫, upper()、lower()、swapcase()、capitalize()、istitle()、isupper()、islower()
s.upper() # '學習PYTHON'
s.swapcase() # '學習pYTHON', 大小寫互換
s.istitle() # True
s.islower() # False
# 去空格,strip()、lstrip()、rstrip()
# 格式化
s1 = '%s %s' % ('Windrivder', 21) # 'Windrivder 21'
s2 = '{}, {}'.format(21, 'Windridver') # 推薦使用format格式化字符串
s3 = '{0}, {1}, {0}'.format('Windrivder', 21)
s4 = '{name}: {age}'.format(age=21, name='Windrivder')
# 連接與分割,使用 + 連接字符串,每次操作會重新計算、開辟、釋放內存,效率很低,所以推薦使用join
l = ['2017', '03', '29', '22:00']
s5 = '-'.join(l) # '2017-03-29-22:00'
s6 = s5.split('-') # ['2017', '03', '29', '22:00']

?

以上是一些常見的操作。

?


Python列表

List(列表) 是 Python 中使用最頻繁的數據類型。

列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。

列表用?[ ]?標識,是 python 最通用的復合數據類型。

列表中值的切割也可以用到變量?[頭下標:尾下標]?,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。

加號?+?是列表連接運算符,星號?*?是重復操作。

?

列表是寫在方括號 [] 之間、用逗號分隔開的元素列表,列表可以完成大多數集合類的數據結構實現。列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套),列表中的元素是可以改變。

實例:

Weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday']
print(Weekday[0]) # 輸出 Monday#list 搜索
print(Weekday.index("Wednesday"))#list 增加元素
Weekday.append("new")
print(Weekday)# list 刪除
Weekday.remove("Thursday")
print(Weekday)

?

?


Python 元組

元組是另一個數據類型,類似于 List(列表)。

元組用?()?標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。

?

示例:

letters = ('a','b','c','d','e','f','g')
print(letters[0]) # 輸出 'a'
print(letters[0:3]) # 輸出一組 ('a', 'b', 'c')

?

?


Python 集合

集合(set)是一個無序不重復元素的序列,使用大括號 {} 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 {} ,因為 {} 是用來創建一個空字典。集合不能被切片也不能被索引,除了做集合運算之外,集合元素可以被添加還有刪除:

a_set = {1,2,3,4}
# 添加
a_set.add(5)
print(a_set) # 輸出{1, 2, 3, 4, 5}
# 刪除
a_set.discard(5)
print(a_set) # 輸出{1, 2, 3, 4}

?

?

?


Python 字典

字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。

兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典用"{ }"標識。字典由索引(key)和它對應的值value組成。

示例:

Logo_code = {
'BIDU':'Baidu',
'SINA':'Sina',
'YOKU':'Youku'
}
print(Logo_code)
# 輸出{'BIDU': 'Baidu', 'YOKU': 'Youku', 'SINA': 'Sina'}
print (Logo_code['SINA']) # 輸出鍵為 'one' 的值
print (Logo_code.keys()) # 輸出所有鍵
print (Logo_code.values()) # 輸出所有值
print (len(Logo_code)) # 輸出字段長度

?

?


Python數據類型轉換

有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作為函數名即可。

以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。

?

函數描述

??

int(x [,base])

將x轉換為一個整數

long(x [,base] )

將x轉換為一個長整數

float(x)

將x轉換到一個浮點數

complex(real [,imag])

創建一個復數

str(x)

將對象 x 轉換為字符串

repr(x)

將對象 x 轉換為表達式字符串

eval(str)

用來計算在字符串中的有效Python表達式,并返回一個對象

tuple(s)

將序列 s 轉換為一個元組

list(s)

將序列 s 轉換為一個列表

set(s)

轉換為可變集合

dict(d)

創建一個字典。d 必須是一個序列 (key,value)元組。

frozenset(s)

轉換為不可變集合

chr(x)

將一個整數轉換為一個字符

unichr(x)

將一個整數轉換為Unicode字符

ord(x)

將一個字符轉換為它的整數值

hex(x)

將一個整數轉換為一個十六進制字符串

oct(x)

將一個整數轉換為一個八進制字符串

?

總結

本節給大家介紹了 Python ?變量 和六種標準的數據類型,給大家演示了變量的使用,以及六個六種標準的數據類型的常用操作。

參考:

https://www.cnblogs.com/wang-yc/articles/6423951.html
https://segmentfault.com/a/1190000014511963
https://www.runoob.com/python3/python3-data-type.html
https://zhuanlan.zhihu.com/p/26079855

?

PS:公眾號內回復 :Python,即可獲取最新最全學習資源!

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

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

相關文章

HTML中的表單

HTML表單 表單用于搜集不同類型的用戶輸入,表單由不同類型的標簽組成,實現一個特定功能的表單區域(比如:注冊), 首先應該用標簽來定義表單區域整體,在此標簽中再使用不同的表單控件來實現不同…

20169210 2016-2017-2《網絡攻防實踐》第八周總結

教材 一、Linux操作系統基本礦建概述 1、Linux操作系統發展與現狀 跨平臺的硬件支持;豐富的軟件支持;多用戶多任務;可靠的安全性;良好的穩定性;完善的網絡功能2、Linux系統結構 1)Linux進程與線程管理機制2…

cad卸載_想重新安裝CAD提示已經安裝?不會卸載?進來教你卸載CAD

大家好,我是【小杰趣分享】,這里每天都會分享一下和電腦軟件、電腦硬件相關的文章或視頻。這一期小杰教大家怎么徹底卸載CAD!CAD這款軟件是小杰見過最難卸載的軟件了,不知道你們有沒有遇到過卸載CAD想重新安裝,卻怎么都…

直擊3.15 安防行業如何維護消費者權益

一年一度的315維權活動讓眾多行業為之惶恐,安防行業發展至今,和各行各業一樣也同樣面臨著安防市場粗制濫造、假冒偽劣產品盛行的局面。 315今年的消費維權主題是 “網絡誠信 消費無憂”,中國消費者協會副秘書長董祝禮表示,網絡消費…

RBSP、SODB、EBSP三者的區別和聯系 SPS: sequence parameter sets

SODB:最原始的編碼數據,沒有任何附加數據 RBSP:在 SODB 的基礎上加了rbsp_stop_ont_bit(bit 值為 1)并用 0 按字節補位對齊EBSP:在 RBSP 的基礎上增加了防止偽起始碼字節(0X03) SPS:…

【Python基礎入門系列】第04天:Python 流程控制

在編程的世界中,流程控制是程序員運行的基礎,流程控制決定了程序按照什么樣的方式去執行,本節給大家介紹 Python 流程控制相關語法。 if 語句 if 語句表示如何發生什么樣的條件,執行什么樣的邏輯。 Python程序語言指定任何非0和…

UGLY NUMBERS II

不去重錯誤版 17.4.23 long isMin (long a, long b) { if (a > b) a b; return a;}long nthUglyNumber(long n) { long *l (long*)malloc(n*sizeof(long)); for (long i 0; i < n; i) l[i] 0; l[0] 1; long p2, p3, p5 0; for(long i 0; i < n - 1; i) { l[i …

excel合并兩列內容_還在為合并WPS表格(Excel)中兩列內容而犯愁?此方法簡單高效...

我們在處理WPS表格(Excel)數據時&#xff0c;時常需要將兩列甚至更多列的內容合并顯示在同一列中&#xff0c;就像這樣&#xff1a;這個時候大家是怎么解決的呢&#xff1f;路人&#xff1a;復制粘貼So easy&#xff01;小杜&#xff1a;不止兩三行啊……路人&#xff1a;復制粘…

Css基本語法及頁面引用

Css基本語法及頁面引用 CSS代碼出現在三個地方 </head><body><b style....>兄弟連</b> <!-- 1. 行內樣式,內聯樣式, 作為 style屬性值 --></body>css基本語法 css的定義方法是&#xff1a; 選擇器 { 屬性:值; 屬性:值; 屬性:值;} 選…

【Python基礎入門系列】第05天:Python函數

前面我們寫過九九乘法表&#xff0c;但如果我要七七乘法表或五五乘法表的話&#xff0c;你會看到三者代碼極其類似&#xff0c;只是循環變量不同&#xff0c;那么如何做到代碼重用&#xff0c;而不是簡單拷貝黏貼修改呢&#xff0c;其實可是使用函數完成這一功能! 先來試著看一…

【Java基礎】 JQuery的常用操作

jQuery的常用操作一、隱藏顯示對象id為test的元素的display修改成了“none”&#xff0c;即隱藏了id為test的元素&#xff1a;$(#test).css(display,none)或$(#test).style.display"none"我們經常用到的是切換一個元素的隱藏與現實&#xff0c;下面給出代碼&#xff…

store_coding_state (cs_cm)的作用

// 以下是對當前宏塊進行編碼&#xff08;這里的編碼主要目的是為了計算按當前組合方式編碼// 生成碼流的大小&#xff0c;因此編碼前要保存當前編碼狀態&#xff0c;編碼完成后必須恢復現場&#xff09;// S T O R E C O D I N G S T A T E //-----------------------…

第十五屆北京師范大學程序設計競賽決賽(網絡同步賽) B lca水 D 思維,找規律...

第十五屆北京師范大學程序設計競賽決賽&#xff08;網絡同步賽&#xff09; B. Borrow Classroom 題意&#xff1a;一棵樹&#xff0c;點 1為根&#xff0c;一個人從點 b到 點 c再到點 1&#xff0c;第二個人從點 a出發&#xff0c;問第二個人能否截住第一個人。 tags&#xff…

macbook所有型號大全_蘋果筆記本型號大全

很多朋友在選購蘋果筆記本也就是MacBook的時候都會考慮究竟買哪一個系列會比較好&#xff0c;下面就為大家介紹一下蘋果筆記本型號大全都有什么&#xff0c;希望以下的介紹能夠幫助到您。蘋果筆記本型號大全目前蘋果筆記本有以下的幾個主要的型號&#xff1a;1、MacBook Air是目…

【Python基礎入門系列】第06天:Python 模塊和包

在計算機程序的開發過程中&#xff0c;隨著程序代碼越寫越多&#xff0c;在一個文件里代碼就會越來越長&#xff0c;越來越不容易維護。 為了編寫可維護的代碼&#xff0c;我們把很多函數分組&#xff0c;分別放到不同的文件里&#xff0c;這樣&#xff0c;每個文件包含的代碼…

Css中的選擇器

Css選擇器 CSS代碼用來修飾 HTML元素. 要用CSS代碼設置樣式, 首先要選中HTML元素. 用來選中 元素的 代碼稱為 選擇器, 或 選擇符. html元素是指, 標簽與標簽包裹內容的整體. 常用的選擇器有如下幾種&#xff1a; 1、標簽選擇器 標簽選擇器&#xff0c;此種選擇器影響范圍大…

福州聯通與市政府攜手 共筑新型智慧城市

“福州聯通今年將投入專項資金&#xff0c;在福州市區建設NB-IoT網絡&#xff0c;包括2000個載扇部署&#xff0c;建設一張覆蓋完備、性能領先的窄帶物聯網。”據介紹&#xff0c;去年9月&#xff0c;福州聯通與福州市政府正式簽署《共同推進窄帶物聯網&#xff08;NB-IoT&…

流媒體技術的國內外動態

1、大規模流媒體應用中關鍵技術的研究 支持大規模用戶在線使用的流媒體應用是Internet中極富潛力的一項“重磅級用”,但由于Internet缺乏服務質量(QoS)與相應的安全保障,并且網絡和終端系統又存在著較大的異構性,這使得在Internet上構建支持大規模用戶的在線流媒體應用面臨很多…

空間直線與平面的交點

這內容屬于計算幾何&#xff0c;在 3D游戲開發編程基礎 或者在游戲開發中的數學和物理算法 這種資料上也可以找到相關的內容和代碼。或者更廣泛點稱為是計算機圖形學&#xff0c; 接下來我們進入正題&#xff0c;如果直線不與平面平行&#xff0c;將存在交點。如下圖所示&#…

iphone導出視頻 無法連接到設備_拷貝iphone照片,顯示無法連接設備?TRIZ 3秒鐘解決...

手機存儲滿了&#xff0c;想把手機里面的照片和視頻拷貝出來。 又不想交給蘋果cloud的“蘋果稅”。USB手動連上IPHONE&#xff0c;結果每次復制了幾百兆&#xff0c;就會彈出“無法連接設備”&#xff0c;導致拷貝失敗。并且每次重新連接之后&#xff0c;刪掉的照片又出現在手機…