溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python數(shù)據(jù)類型入門實例代碼分析

發(fā)布時間:2022-10-09 09:50:38 來源:億速云 閱讀:118 作者:iii 欄目:web開發(fā)

本文小編為大家詳細介紹“Python數(shù)據(jù)類型入門實例代碼分析”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“Python數(shù)據(jù)類型入門實例代碼分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

變量

變量存儲值。在 python 中,這些是變量命名約定:

  • 變量應以字母(最好是小寫)或下劃線開頭,后面可以跟數(shù)字或下劃線

  • Snake case是變量的常規(guī)寫法如user_name,單詞間用下劃線隔開(Javascript推薦駝峰命名,比如:userName

  • 它們區(qū)分大小寫

  • 不能直接命名關(guān)鍵詞變量(查看官方文檔《Python 關(guān)鍵字》)

Python數(shù)據(jù)類型入門實例代碼分析

那么如果,真的犯了這個錯,會怎么樣呢?舉個例子:

>>> if = 1
SyntaxError: invalid syntax
>>> print(and)
SyntaxError: invalid syntax
>>> def = "hi"
SyntaxError: invalid syntax

看到?jīng)]有?直接提示語法錯誤。

除了不能使用關(guān)鍵字作為標識符,前面我們也強調(diào)過了,也不能使用內(nèi)置函數(shù)同名的標識符。Python有很多內(nèi)置函數(shù),以sum為例,這是一個求和的函數(shù),我們看一下錯誤的命名導致的后果:

>>> sum([1,2,3,4])
10
>>> sum = "錯誤標識符名"
>>> sum([1,2,3,4])
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    sum([1,2,3,4])
TypeError: 'str' object is not callable

先不管sum([1,2,3,4])的意義,它的作用是把1/2/3/4加在一起得到10,然后錯誤的給一個變量也取了個sum的標識符名稱,再后面又調(diào)用sum([1,2,3,4])的時候,程序拋出異常,錯誤原因是str不是可調(diào)用的類型。歸根到底就是sum這個名字重名了的原因。

數(shù)據(jù)類型

簡單來說,數(shù)據(jù)類型是一種表示值的方式。在我們的現(xiàn)實世界中,我們將字母、數(shù)字、符號作為不同類型的常用值。同樣,Python 包含以下基本數(shù)據(jù)類型:

  • int(整數(shù))

  • float(浮點數(shù))

  • str(字符串)

  • bool(布爾值)

  • list(列表)

  • tuple(元祖)

  • set(集合)

  • dict(字典)

  • complex(復數(shù))

  • None(空值)

這些是 Python 中可用的標準數(shù)據(jù)類型。要創(chuàng)建我們自己的自定義類型,需要使用類。也可以通過導入外部庫或模塊來使用專門的數(shù)據(jù)類型。

相反,在 JavaScript 中,有以下可用的原始類型:

  • number (數(shù)字:整數(shù)和小數(shù))

  • string(字符串)

  • boolean(布爾值)

  • symbol(符號:唯一、不可變)

  • bigInt(大整數(shù))

  • null(空值)

  • undefined(對象也是非原始類型)

今天我只是花時間整理 Python 的數(shù)字和字符串類型。

數(shù)字

有 3 種數(shù)字數(shù)據(jù)類型:

  • int(存儲無限大小的整數(shù))

  • float(存儲浮點實數(shù)值)

  • complex(我現(xiàn)在只是跳過它,因為我了解到它不常用,類似于 JavaScript 中的 bigInt)。

相比之下,JavaScript 有兩種數(shù)值數(shù)據(jù)類型,NumberBigInt。
type函數(shù)用于確定值或表達式的類型。(類似于 JavaScript中的typeof運算符)

num = 100 # variable assignement
    print(type(num)) # <class 'int'>

    num2 = 99.99
    print(type(num2)) # <class 'float>

    expression1 = num * 10
    print(type(expression1)) # <class 'int'>

    expression2 = num + num2
    print(type(expression2)) # <class 'float'>

在 Python 中,變量賦值是通過編寫名稱并使用=運算符賦值來實現(xiàn)的。
在 JavaScript 中,變量名需要以var,constlet關(guān)鍵字開頭。

數(shù)學計算

對于數(shù)學計算,除了前面提到過的簡單的加減乘除等等,更多的科學計算需要導入math這個庫,它包含了絕大多數(shù)我們可能需要的科學計算函數(shù),如下表。有一些內(nèi)置的數(shù)學函數(shù)可以讓我們輕松計算各種數(shù)學運算。

函數(shù)

返回值 ( 描述 )

abs(x)

返回數(shù)字的絕對值,如abs(-10) 返回 10

ceil(x)

返回數(shù)字的上入整數(shù),如math.ceil(4.1) 返回 5

exp(x)

返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045

fabs(x)

返回數(shù)字的絕對值,如math.fabs(-10) 返回10.0

floor(x)

返回數(shù)字的下舍整數(shù),如math.floor(4.9)返回 4

log(x)

如math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x)

返回以10為基數(shù)的x的對數(shù),如math.log10(100)返回 2.0

max(x1, x2,...)

返回給定參數(shù)的最大值,參數(shù)可以為序列。

min(x1, x2,...)

返回給定參數(shù)的最小值,參數(shù)可以為序列。

modf(x)

返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點型表示。

pow(x, y)

x**y 運算后的值。

round(x [,n])

返回浮點數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點后的位數(shù)。

sqrt(x)

返回數(shù)字x的平方根

acos(x)

返回x的反余弦弧度值。

asin(x)

返回x的反正弦弧度值。

atan(x)

返回x的反正切弧度值。

atan2(y, x)

返回給定的 X 及 Y 坐標值的反正切值。

cos(x)

返回x的弧度的余弦值。

hypot(x, y)

返回歐幾里德范數(shù) sqrt(xx + yy)

sin(x)

返回的x弧度的正弦值。

tan(x)

返回x弧度的正切值。

degrees(x)

將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2) , 返回90.0

radians(x)

將角度轉(zhuǎn)換為弧度

print(round(2.1)) # 2
    print(round(5.9)) # 6
    print(abs(-34)) # 34

以及兩個數(shù)學常量:

常量

描述

pi

數(shù)學常量 pi(圓周率,一般以π來表示)

e

數(shù)學常量 e,e即自然常數(shù)(自然常數(shù))。

下面是一些應用展示,注意最后的角度調(diào)用方式:

>>> math.log(2)
0.6931471805599453
>>> math.cos(30)
0.15425144988758405
>>> math.cos(60)
-0.9524129804151563
>>> math.sin(30)
-0.9880316240928618
>>> math.sin(math.degrees(30))
-0.4097717985741408
>>> math.sin(math.radians(30))
0.49999999999999994

字符串

字符串是Python中最常用的數(shù)據(jù)類型之一,使用單引號或雙引號來創(chuàng)建字符串,使用三引號創(chuàng)建多行字符串。字符串要么使用兩個單引號,要么兩個雙引號,不能一單一雙!Python不支持單字符類型,單字符在Python中也是作為一個字符串使用。

字符串是不可變的序列數(shù)據(jù)類型,不能直接修改字符串本身,和數(shù)字類型一樣!Python3全面支持Unicode編碼,所有的字符串都是Unicode字符串,所以傳統(tǒng)Python2存在的編碼問題不再困擾我們,可以放心大膽的使用中文。

name = 'Python' # string assignment within single quotes
    name2 = "Python" # string assingment within double quotes
    name3 = '''This is a a very long string and supports 
            multiline statements as well''' # string assingment within 3 single quotes
    name4 = 'Hello! \"Rockstar Programmer\"' # string with escaped character sequence
    print(type(name)) # <class 'str'>
    print(type(name2)) # <class 'str'>
    print(type(name3)) # <class 'str'>
    print(type(name4)) # <class 'str'>
>>> var1 = 'Hello World!'
>>> var2 = "Jack"
>>> var3 = ""                   # 空字符串
>>> var4 = "it's apple"         # 雙引號中可以嵌套單引號
>>> var5 = 'This is "PLANE"!'   # 單引號中可以嵌套雙引號
>>> var6 = 'what is 'your'name'
SyntaxError: invalid syntax

但是單引號嵌套單引號或者雙引號嵌套雙引號就會出現(xiàn)歧義。

>>> a = "haha"
>>> b = a
>>> a = "xixi"
>>> a is b
False
>>> a[1] = "z"
Traceback (most recent call last):
  File "<pyshell#70>", line 1, in <module>
    a[1] = "z"
TypeError: 'str' object does not support item assignment

雖然字符串本身不可變,但可以像列表序列一樣,通過方括號加下標的方式,訪問或者獲取它的子串,當然也包括切片操作。這一切都不會修改字符串本身,當然也符合字符串不可變的原則。

>>> s = "hello world!"
>>> s[4]
'o'
>>> s[2:6]
'llo '
>>> s
'hello world!'

字符串連接

與 Javascript 類似,可以使用+運算符連接字符串。它只是連接或“連接”字符串。

first_name = 'Mike'
    last_name = 'Tyson'
    print(first_name + ' ' + last_name) # Mike Tyson

類型轉(zhuǎn)換

與存在隱式類型轉(zhuǎn)換(又名強制類型轉(zhuǎn)換)的 Javascript 不同,如果使用不同類型執(zhí)行操作,Python 將拋出錯誤:

user_name = 'John'
    age = 40
    print(user_name + age) # TypeError: can only concatenate str (not "int") to str
    # This would work in Javscript where it would convert the result to string type

在 Python 中,需要顯式轉(zhuǎn)換類型才能執(zhí)行不同類型的操作:

user_name = 'John'
    age = 40
    print(user_name + str(age)) # John40
    print(type str(age)) # <class 'str'>

同樣,字符串也可以轉(zhuǎn)換為數(shù)字:

lucky_number = 7
    lucky_number_stringified = str(7)
    lucky_number_extracted = int(lucky_number_stringified)
    print(lucky_number_extracted) # 7

讀到這里,這篇“Python數(shù)據(jù)類型入門實例代碼分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI