網(wǎng)站性能檢測評分
注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。
python3數(shù)據(jù)類型
10分鐘學(xué)會Python的變量和數(shù)據(jù)類型 互聯(lián)網(wǎng)視頻課程
對任何語言來說,變量和數(shù)據(jù)類型都是非常重要和基礎(chǔ)的內(nèi)容。這篇文章就帶你用10分鐘的時間,學(xué)會Python的變量和數(shù)據(jù)類型這個知識點(diǎn)。
一、知識點(diǎn)
python 關(guān)鍵字
變量的定義與賦值
input() 函數(shù)
字符串的格式化
二、實驗步驟
每一種編程語言都有它們自己的語法規(guī)則,就像我們所說的外語
2.1 關(guān)鍵字和標(biāo)識符
下列的標(biāo)識符是 Python3 的關(guān)鍵字,并且不能用于通常的標(biāo)識符。關(guān)鍵字必須完全按照下面拼寫:
False def if raiseNone del import returnTrue elif in tryand else is whileas except lambda withassert finally nonlocal yieldbreak for not class from or continue global pass
這些內(nèi)容可以在 Python3 解釋器中得到:
在 Python 中 我們不需要為變量指定數(shù)據(jù)類型。所以你可以直接寫出
abc = 1
,這樣變量
abc
就是整數(shù)類型。如果你寫出
abc = 1.0
,那么變量
abc
就是浮點(diǎn)類型。
>>> a = 13>>> b = 23>>> a + b36
通過上面的例子你應(yīng)該理解了如何在 Python 中定義變量,也就是只需要輸入變量名和值就行了。Python 也能操作字符串,它們用單引號或雙引號括起來,就像下面這樣。
>>> 'ShiYanLou''ShiYanLou'>>> 'ShiYanLou\'s best'"ShiYanLou's best">>> "Hello World!"'Hello World!'
2.2 從鍵盤讀取輸入
通常情況下,Python 的代碼中是不需要從鍵盤讀取輸入的。不過我們還是可以在 Python 中使用函數(shù)
input()
來做到這一點(diǎn),
input()
有一個用于打印在屏幕上的可選字符串參數(shù),返回用戶輸入的字符串。
我們來寫一個程序,它將會從鍵盤讀取一個數(shù)字并且檢查這個數(shù)字是否小于 100。這個程序名稱是 testhundred.py。還記得如何使用 vim 嗎?忘了的話可以看看下面的動圖:
#!/usr/bin/env python3number = int(input("Enter an integer: "))if number <= 100: print("Your number is smaller than equal to 100")else: print("Your number is greater than 100")
如果
number
小于 100,輸出“Your number is smaller than 100”,如果大于 100,輸出“Your number is greater than 100”。
程序運(yùn)行起來就像這樣:(運(yùn)行時別忘記給文件添加可執(zhí)行權(quán)限,如何添加權(quán)限請回想上節(jié)實驗內(nèi)容,程序運(yùn)行時若報錯權(quán)限不夠,為文件添加權(quán)限即可)
$ ./testhundred.pyEnter an integer: 13Your number is smaller than 100$ ./testhundred.pyEnter an integer: 123Your number is greater than 100
下一個程序我們來計算投資:
#!/usr/bin/env python3amount = float(input("Enter amount: ")) # 輸入數(shù)額inrate = float(input("Enter Interest rate: ")) # 輸入利率period = int(input("Enter period: ")) # 輸入期限value = 0year = 1while year <= period: value = amount + (inrate * amount) print("Year {} Rs. {:.2f}".format(year, value)) amount = value year = year + 1
運(yùn)行程序:
$ ./investment.pyEnter amount: 10000Enter Interest rate: 0.14Enter period: 5Year 1 Rs. 11400.00Year 2 Rs. 12996.00Year 3 Rs. 14815.44Year 4 Rs. 16889.60Year 5 Rs. 19254.15
while year <= period:
的意思是,當(dāng)
year
的值小于等于
period
的值時,下面的語句將會一直循環(huán)執(zhí)行下去,直到
year
大于
period
時停止循環(huán)。
Year {} Rs. {:.2f}".format(year, value)
稱為字符串格式化,大括號和其中的字符會被替換成傳入
str.format()
的參數(shù),也即
year
和
value
。其中
{:.2f}
的意思是替換為 2 位精度的浮點(diǎn)數(shù)。
2.3 一些例子
一些關(guān)于變量和數(shù)據(jù)類型的例子。
2.3.1. 求 N 個數(shù)字的平均值
下面的程序用來求 N 個數(shù)字的平均值。
#!/usr/bin/env python3N = 10sum = 0count = 0print("please input 10 number:")while count < N: number = float(input()) sum = sum + number count = count + 1average = sum / Nprint("N = {}, Sum = {}".format(N, sum))print("Average = {:.2f}".format(average))
運(yùn)行程序:
$ ./averagen.py1.23.43.533.22462.445.5N = 10, Sum = 65.2Average = 6.52
2.3.2. 溫度轉(zhuǎn)換
在下面的程序里,我們使用公式 C = (F - 32) / 1.8 將華氏溫度轉(zhuǎn)為攝氏溫度。
#!/usr/bin/env python3fahrenheit = 0print("Fahrenheit Celsius")while fahrenheit <= 250: celsius = (fahrenheit - 32) / 1.8 # 轉(zhuǎn)換為攝氏度 print("{:5d} {:7.2f}".format(fahrenheit , celsius)) fahrenheit = fahrenheit + 25
{:5d}
的意思是替換為 5 個字符寬度的整數(shù),寬度不足則使用空格填充。
運(yùn)行程序:
$ ./temperature.pyFahrenheit Celsius 0 -17.78 25 -3.89 50 10.00 75 23.89 100 37.78 125 51.67 150 65.56 175 79.44 200 93.33 225 107.22 250 121.11
2.4 單行定義多個變量或賦值
你甚至可以在一行內(nèi)將多個值賦值給多個變量。
>>> a , b = 45, 54>>> a45>>>b54
這個技巧用來交換兩個數(shù)的值非常方便。
>>> a, b = b , a>>> a54>>>b45
要明白這是怎么工作的,你需要學(xué)習(xí)元組(*tuple*)這個數(shù)據(jù)類型。我們是用逗號創(chuàng)建元組。在賦值語句的右邊我們創(chuàng)建了一個元組,我們稱這為元組封裝(*tuple packing*),賦值語句的左邊我們則做的是元組拆封 (*tuple unpacking*)。
下面是另一個元組拆封的例子:
>>> data = ("shiyanlou", "China", "Python")>>> name, country, language = data>>> name'shiyanlou'>>> country'China'>>>language'Python'
三、總結(jié)
完成這個實驗我們應(yīng)該了解 python 關(guān)鍵字有哪些(在這里不要求全部記?。绾钨x值變量,怎樣從鍵盤讀取輸入,以及字符串的格式化,關(guān)注北京達(dá)內(nèi)教育在這里可以了解更多有關(guān)字符串格式化的信息。
python基礎(chǔ)之?dāng)?shù)據(jù)類型介紹 營銷視頻課程
引入
任何一門語言比如C++,Java,Perl,Python語法上的招式主要包含變量類型,數(shù)據(jù)結(jié)構(gòu),循環(huán)控制,函數(shù),文件,異常處理,進(jìn)程/線程等。大體就這幾個方面,萬丈高樓平地起,我們先從最簡單的變量和數(shù)據(jù)入手。
首先要說明的是python的是動態(tài)語言,不像java是強(qiáng)制類型語言,是靜態(tài)語言也就是說你在定義變量的時候就要指定類型,而python是動態(tài)的語言,是邊執(zhí)行變編譯,在定義變量的時候不需要指定數(shù)據(jù)類型,在賦值的時候系統(tǒng)會自動為其指定類型,分配內(nèi)存,這樣就很靈活。
先羅列一下Python提供的基本數(shù)據(jù)類型:數(shù)值(整型、浮點(diǎn)型、復(fù)數(shù)、布爾型等)、字符串、列表、元組、字典、集合等,將它們簡單分類如下:
數(shù)值numbers
Python Number 數(shù)據(jù)類型用于存儲數(shù)值,分為整數(shù)int和浮點(diǎn)數(shù)float。
整數(shù):比如1,200,-1000,0,也有用十六進(jìn)制表示的比如0xff00等
浮點(diǎn)數(shù):比如1.11,12,13,-10.02,也有比較大的浮點(diǎn)數(shù)比如2.12x10^9
還有其他格式及常見操作符如下:
字符串String
python的字符串以''(單引號)或者""(雙引號)或者''''''(三引號)括起來的隨意文本都是字符串
'abc',"hello world",'''This is my first code'''
有一點(diǎn)要注意若字符串里面包含特殊的字符,可以用轉(zhuǎn)義\進(jìn)行轉(zhuǎn)義
word='Xiao Ming said \"I\'am full\".'
print(word)
>>Xiao Ming said "I'am full".
另外三引號一般用在類或者函數(shù)的開頭用來做大段的注釋用
說到字符串一點(diǎn)要提一下python的字符串format格式:一般有兩種
1)%操作符
name="xiao ming"
age=20
print("Your name is %s,age is %d"%(name,age))
2).format
print("Your name is {0},age is {1}".format(name,age))
.format的用法比較靈活,參數(shù)的順序和格式化的順序不必完全相同,一般推薦用format,而且也是Python3里面的官方力推,之所以保留%主要是為了兼容以前的代碼
print("age is {1},your name is {0},".format(name,age))
再來看看字符串的一些常見操作
布爾值bool
Python中的布置值,只有True和False兩種(一定要注意大小寫),布爾值的運(yùn)算可以用and,or 和not
A and B ,表示A和B都為True,最后的運(yùn)算結(jié)果才是True.
A or B , 表示A或者B其中一個True,最后的結(jié)果就是True.
not,是非運(yùn)算,它是一個單目的運(yùn)算,就是把True變False,把False變True.
if語句通過判斷布爾類型來控制程序的執(zhí)行路徑,同時在 Python 中數(shù)據(jù)有隱式的真假值,可以使代碼變得簡短有效,如下
空值
Python的空值是用None表示,None不是0,也不是空字符串,也不是False,它是一個特殊的空值,我們可以用python的內(nèi)置函數(shù)type來看一下,然后分別0,空字符,F(xiàn)alse比較一下,看看它到底是何物
>>>type(None)
>>> None == 0
False
>>> None == ''
>>> None == None
True
>>> None == False
列表(List)
Python 可使用語法糖[]表示列表,其中的元素可以是任何類型,以順序存儲的方式動態(tài)儲存數(shù)據(jù):# 定義 L = [] # 推薦方式 L = list() L = ['Windrivder', 21, {'name': 'xiaoming'}] # 多重賦值技巧 name, age, other = L # 列表切片參考str # 常用方法 L.append('a') # ['Windrivder', 21, {'name': 'xiaoming'}, 'a'] L.pop() # ['Windrivder', 21, {'name': 'xiaoming'}],還可以指定下標(biāo)刪除元素 L.extend(L1) # 合并列表 L1 L.insert(1, 'a') # 在下標(biāo)為1的位置插入'a' L.index('a') # 同字符串的index() L.remove('a') # 刪除操作 L.count('a') # 求某個值的個數(shù) L.reverse() # 反轉(zhuǎn)L = [2, 4, -1, 9, -5, 6] L.sort() # sort()排序,使用非常靈活 L.sort(reverse=True) # 反序 L.sort(key=abs) # 傳入函數(shù)關(guān)鍵字作為排序規(guī)則 for l1, l2 in zip(['windrivder', 21], ['jack', 22]): # zip 同時遍歷兩個列表
元組(Tuple)
元組與列表不同的是,元組是不可變類型(immutable),不能對元素進(jìn)行修改,但內(nèi)存可以明確知道需要分配多少空間給元組。
字典(Dictionaries)
字典是通過鍵值對的方式進(jìn)行存儲,占用大量的內(nèi)存而獲得極快的查找和插入速度,而列表剛好相反,查找和插入速度隨著元素的增加而變慢,但占用的內(nèi)存較小。字典雖然是可變類型,但因為它的 value 的位置是根據(jù) key 計算出來的,因此 key 必須是不可變對象,這樣才能確保字典的正確使用。
集合(Set)
集合與list類似,但集合中不允許有重復(fù)的元素,普通集合是可變的,F(xiàn)rozenset是不可變的,我們可以利用集合的特性消除重復(fù)元素或做并、交、差等數(shù)學(xué)操作
自定義數(shù)據(jù)類型
Python 允許通過繼承去自定義數(shù)據(jù)類型,很多第三方庫或框架都有類似的應(yīng)用,這里簡單實現(xiàn)了一個供參考:
題外話
今天在我們的直播課中也會講到python的內(nèi)容,想要學(xué)習(xí)的小伙伴抓緊入群了,在群里可以和大家一起交流一起進(jìn)步,還有各種學(xué)習(xí)資源和免費(fèi)公開課直播通知。
「學(xué)習(xí)python3連載系列-5」Python基本數(shù)據(jù)類型之:字符串類型 互聯(lián)網(wǎng)視頻課程
從本章開始,逐個介紹python中的數(shù)據(jù)類型,這也是學(xué)習(xí)一門編程語言的基礎(chǔ)與必備;
Python中常用的數(shù)據(jù)類理有:
字符串類型
數(shù)字類型(整數(shù)、浮點(diǎn)、復(fù)數(shù))
列表類型
元組類型
字典類型
日期類型
字符串類型
字符串類型是用雙引號(" ") 或者單引號 (' ')括起來的一個或多個字符;
字符串可以被保存在變量中,也可以單獨(dú)存在;
注意空字符串與空格字符串的區(qū)別:
在字符串中使用轉(zhuǎn)義符:
可以使用函數(shù)type()一個變量或常量是什么類型:
字符串長度:(一個中文算1個長度)
字符串連接:
字符串索引:(索引從0開始,-1是最后一位)
字符串切片:(兩個冒號,開始到結(jié)束,::)
字符串的處理方法還有很多哦:
以上是python中字符串類型的介紹與操作,大家趕緊練練吧!!
「學(xué)習(xí)python3連載系列-7」Python數(shù)字類型的關(guān)系 流量視頻課程
數(shù)字類型中的整數(shù)類型、浮點(diǎn)數(shù)類型與復(fù)數(shù)類型的關(guān)系是怎樣的呢?
三種類型存在一種逐漸”擴(kuò)展“的關(guān)系:
整數(shù) --> 浮點(diǎn)數(shù) --> 復(fù)數(shù) (整數(shù)的是浮點(diǎn)數(shù)的特例,浮點(diǎn)數(shù)是復(fù)數(shù)的特例)
復(fù)數(shù)為最寬類型
整數(shù)為最窄類型
不同數(shù)字類型之間可以進(jìn)行混合運(yùn)算,運(yùn)算后生成結(jié)果為最寬類型
如:
但可以強(qiáng)制將寬度類型轉(zhuǎn)換成想要的數(shù)字類型,用3個函數(shù)進(jìn)行強(qiáng)制轉(zhuǎn)換:
int()
float()
complex()
如:
但是復(fù)數(shù)不能被強(qiáng)制轉(zhuǎn)換成浮點(diǎn)型或整數(shù)型:
pythone 豐富的運(yùn)算符進(jìn)行數(shù)字運(yùn)算,有哪下運(yùn)算符:
數(shù)字類型存在以上一些關(guān)系,計算的時候注意結(jié)果。