iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
自我挑戰組

《雜學》 ︳MISCELLANEOUS LEARNING系列 第 6

〈入門.變數下〉︳GETTING STARTED ON VARIABLE

  • 分享至 

  • xImage
  •  

          繼前節所述,類者各各有其用也。夫類之相交,同類相交者,其類不變也。非同類相交者,其類必易也。何故?譬如浮點整數之相加,雖皆為數,然浮點可至整數所不可及也,相加,類或成整數,則小數不能表也。類或成浮點,則皆可表也。故浮點整數之相加,其類成浮點也。

a = 1
b = 0.1
print(a+b)
1.1

          其書之有小數,推其為浮點也。推,乃為臆度云爾,非機器曉以其類也。為知其類者,辨也。即「type()」,判明變數之類以知其用也,謂型別判斷也。譬如編至累牘,以致代碼繁、變數雜,無以知其類者,辨之,茅塞頓開,知其所用也。

          欲知前例之類,則置a+btype()括弧內,方知物之類也。

a = 1
b = 0.1
print(type(a+b))
<class 'float'>

          前上篇之類,辨之何如?列於下也。其中之for:何耶?循環,待後節述也。

a = [0, 0.0, '', True, (), [], {}, set(), type, None]
for x in a:
    print(type(x))
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'tuple'>
<class 'list'>
<class 'dict'>
<class 'set'>
<class 'type'>
<class 'NoneType'>

                
          今有言,謂'1',似為數,實則言。若算加則何如?報錯也。謂言僅可銜言矣。或反其序b+a則何如?仍報錯也。謂言與浮點弗助相加也。欲相加者,必先更其類也。更類者,類移而物不易也,謂型別轉換。或至整數以int(),或至浮點以float(),或至言以str(),或云云,皆視情狀而定也,。

a = '1'
b = 0.5
print(a+b)
Traceback (most recent call last):
  File "C:\Users\lin kun\OneDrive\Project\入門\變數第二\a.py", line 3, in <module>
    print(a+b)
TypeError: can only concatenate str (not "float") to str
a = '1'
b = 0.5
print(b+a)
Traceback (most recent call last):
  File "C:\Users\lin kun\OneDrive\Project\入門\變數第二\a.py", line 3, in <module>
    print(b+a)
TypeError: unsupported operand type(s) for +: 'float' and 'str'

          今言'1'及浮點0.5相加,更言至數也。

a = '1'
b = 0.5
print(b+int(a))
1.5

上一篇
〈入門.變數上〉︳GETTING STARTED ON VARIABLE
下一篇
〈入門.算術〉︳GETTING STARTED ON ARITHMETIC
系列文
《雜學》 ︳MISCELLANEOUS LEARNING30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言