Python的筆記1-基本數字、字串、變數

Python的筆記1-基本數字、字串、變數

Python的筆記1-基本數字、字串、變數
PYTHON

Python的筆記1-基本數字、字串、變數

1.簡單的四則運算

運算子說明例子輸出結果
+加法1+67
-減法30-2010
*乘法20*3.162.0
/除法8.7/32.9
//除法後的商數8.7//32
%除法後的餘數8.5%32.5
**次方2**101024

2.變數的命令

令a=5
a = a-3
則a=2
程式是這樣子運行:指派5這個整數到a這個變數中,接著指派a-3這個運算式給變數a,則現在a=2。

接著看下面的輸出結果也會跟上述結果一樣:
a=5
a-=3
a=2
其中a-=3可以想像成:a減了某個東西,這東西在等號右方(減掉了3)。
上述的表示方法也同樣可以做+= , *= , /= , //=, %=等運算

3.進制轉換

一般我們預設的數字都是十進制的,如果要做二進制、八進制、十六進制需在數字前面加兩個字:

輸入值說明例子結果
0b(+數字)二進制0b102
0o(+數字)八進制0o108
0x(+數字)十六進制0x1016

4.類型轉換

有時輸出結果的變數明明是數字,但是卻無法作數值計算,很大的可能是該變數不是int,這時候type指令就很重要了。
>>>a = '1'
>>>type(a)
str
>>>a + 1
TypeError: can only concatenate str (not "int") to str

如何做轉換呢?
str(a) 將a變數轉換成字串
int(a) 將a變數轉換成整數
float(a) 將a變數轉換成有小數的數字

5.字串-用/來轉義(正則表達式)

>>>a= "I have a book.\nAnd a dog.\nBut I don't like them.\nHaha"
>>>a
Out[1]: "I have a book.\nAnd a dog.\nBut I don't like them.\nHaha"
>>>print(a)
I have a book.
And a dog.
But I don't like them.
Haha

注意, print(a)是印出給人類看的文字、句子

表達式意思
\n換行
\b退格(BackSpace)
\'打出單引號
\"打出雙引號
\\打出一個斜槓

6.字串-位置

>>>a='abcdefghijkl'
>>>a[0]
'a'

>>>a[-1]
'l'

>>>a[1:]
'bcdefghijkl'
註:a[x:] ,x表示從哪個位置開始(含該位置)

>>>a[:6]
註:a[:y] ,y表示到哪個位置結束(不含該位置)

>>>a[1:2]
'b'

>>a[1:6:2]
'bdf'
註:a[x:y:z],z表示每隔z個紀錄一次

>>>a[-1]
'l'
>>>a[-2]
'k'
註:負號表示從後面開始算

>>>a[::-1]
'lkjihgfedcba'

7.Split()分割

說明:使字串變成串列
>>>a='I have a book,a cat,a dog,an egg,a pen,and a watch.'
>>>a.split(',')
['I have a book', 'a cat', 'a dog', 'an egg', 'a pen', 'and a watch.']
註:a.split('x') ,以x的字串作分割。

8.join()結合

說明:將串列結合成字串
>>>a='I have a book,a cat,a dog,an egg,a pen,and a watch.'
>>>b=a.split(',')
>>>','.join(b)
'I have a book,a cat,a dog,an egg,a pen,and a watch.'
註:'x'.join(b),以x的字串當作各個字串間結合的橋梁

9.len()查詢字串個數

>>>a='abcdefg'
>>>len(a)
7
同樣地也可以查詢串列個數
>>>a=['I have a book', 'a cat', 'a dog', 'an egg', 'a pen', 'and a watch.']
>>>len(a)
6
>>>len(a[0])
13
註:亦可查詢某個串列裡面的字數

10.replace()替換

>>>a='a dog and a cat'
>>>a.replace('dog','pen')
'a pen and a cat'
註:a.replace('x','y') 將任何有出現x的字串的內容變成y的內容。
>>a.replace('a','the')
'the dog thend the cthet'
註:因and 和 cat 裡也有a,所以也變成the了。

11.其他指令

startwith():
>>>a='abcdefg'
>>>a.startswith('b')
False
>>>a.startswith('a')
True
註:此為判斷字串首位字為'a'嗎?的意思

endwith():
>>>a='abcdefg'
>>>a.endwith('b')
False

find():
>>>a='abcdefg'
>>>a.find('d')
3
註:回傳為該字串"第一個"出現的位置
rfind():
>>>a.rfind('d')
3
註:回傳為該字串"最後一個"出現的位置

count():
>>>a='abcdefg'
>>>a.count('a')
1

strip():
>>>a='abcdefg'
>>>a.strip('a')
'bcdefg'
註:a.strip('x'),刪掉有任何x字串的內容

capitalize():
>>>a='a dog and a cat'
>>>a.capitalize()
'A dog and a cat'
註:第一個字大寫

title():
>>>a='a dog and a cat'
>>>a.title()
'A Dog And A Cat'
註:每一個單字的第一個字大寫

a.upper():
>>>a='a dog and a cat'
>>>a.upper():
'A DOG AND A CAT'
註:全部字母大寫

lower():
>>>a='A Dog And A Cat'
>>>a.lower()
'a dog and a cat'
註:全部字母小寫

swapcase():
>>>a='A Dog And A Cat'
>>>a.swapcase()
'a dOG aND a cAT'
註:所有字母大寫變小寫、小寫變大寫

center():
>>>a='A Dog And A Cat'
>>>a.center(30)
'        A Dog And A Cat         '
註:a.center(x)在x個空格中置中字串

ljust():
>>>a='A Dog And A Cat'
>>>a.ljust(30)
' A Dog And A Cat                 '    
註:a.ljust(x)靠左對齊(共x個空格)

rjust():
>>>a='A Dog And A Cat'
>>>a.rjust(30)
'                  A Dog And A Cat '
註:a.rjust(x)靠右對齊(共x個空格)

Read more

讀書心得-Read Write Own:開啟WEB3新局的區塊鏈網路

讀書心得-Read Write Own:開啟WEB3新局的區塊鏈網路

本書清楚的說明網路及區塊鏈的歷史以及區塊鏈的優點,以及抨擊那些獨佔網路生態的大型企業,對於不熟悉區塊鏈的新手,是個很好的入門書,理解到區塊鏈的迷人之處。 協定網路與區塊鏈網路 協定網路是一個大家講好的「規則」,是由中心化機構維持運作,例如「網際網路協定 TCP/IP」、「網站瀏覽協定HTTP」多半是由領少量的捐款或是志工來維持經營,所以要維持運作的話通常比較困難。 作者說明有個強化協定網路運作的方法,「區塊鏈網路」 區塊鏈網路採取「分散式帳本及共識帳本」、「代幣獎勵」、「不可竄改」、「去中心化」等方式來維持運作,例如:想要做交易,將交易需求發送各個節點,讓他們簽屬通過,好處是,發起交易者的手續費是直接交由共同簽屬的節點(礦工)。 這種運作方式聽起來好像沒甚麼特別的,但卻是非常「去中心化」的方式,也就是說,是經由多數人的檢查及驗證同意,意即要竄改內容是無法完成交易的,也因此區塊鏈網路是本質上透明、不可以修改的運作方式。 企業網路 網路初期,還沒有任何一家公司把網路社群一把抓住。 在我有印象的早期是使用撥接網路,接著可以上到Yahoo搜尋一些網路資料,接著開始出現了聊天

By 落葉
讀書心得-耕股

讀書心得-耕股

耕股主要是講基本面取向的投資用書,閱讀搭配作者建立的股票研究網站,比較不沉悶。 週期循環指標 依照作者經驗,當我們可以從以下六點來看出目前股市處在哪個階段: 1.巴菲特指標(台股&美股) 依照作者整理,當台股巴菲特指標超過180%時隨即會發生市場修正,在1990年中東危機、2008年金融海嘯、2020年美中貿易戰也都是超過180%,並且發生了修正。 但聰明的讀者會發現,從2020年過後直到今日,巴菲特指標都超過180%,最高已達到333%(25年10月底),為何持續5年都沒發生過大修正? 我個人解讀是,投資者對於風險容忍度提高了,既使巴菲特指數已嚴重超過標準值180%,但仍毫無畏懼的持續投資。 不過我也認為經濟泡沫或許比以往歷史吹的還大,等到泡沫爆開時,可能會跌得非常慘。 2.台灣百大優質企業累計營收年增率趨勢 是作者自創的指標,觀察台灣百大企業營收年增率、3個月營收成長率的走勢關係,當3個月營收成長率向上穿過營收年增率表示景氣不錯(黃金交叉),當3個月營收成長率向下穿過年增率表示景氣有衰退現象(死亡交叉)。 景氣非常好應該是3個月營收率持續都在往上增加,年收成長

By 落葉
讀書心得-我可能錯了

讀書心得-我可能錯了

本書時作者比約恩是個瑞典人,主要講述他前往泰國當森林僧人的十七年來學到的對人生的體悟。 我有著念頭,可是我的念頭不代表我 這句話非常有魔力:「我有著念頭,可是我的念頭不代表我。」 當我們在低潮時,有時會有些負面想法。 而這些負面想法,如果久了又多了,真的對我們心理造成很大的傷害。 這句話可以讓自己站在客觀的角度觀察想法,觀察這個與我無關的想法。我把他解讀為「雜訊」,這只是腦中的一段雜訊,左耳進、右耳出了。 書中提到:「如何放下拖累你的一連串念頭呢?--你需要將注意力轉移到別處。這些念頭唯一的養分來源,就是你的注意力。」 這句話很棒,因為當處在低潮時,很容易一直陷入在負面想法的循環中,那我們可以做的事情就是「轉移注意力」,停止沒必要的負面想法。 書中又提到:「所有人都有能力放下自己的念頭,以及選擇將注意力擺在哪裡,並決定讓注意力在對自己無助益的事情上停留多長的時間。」 像一個有如「兔子」般的人敞開心扉 這也是體驗當下的方式。 有時聽朋友說些自己以為聽過的事情,就變得漫不經心,或是接話,其實這對演講者很不尊重。 我們應時時保持謙遜、保持好奇心,放下成見的仔細聆聽

By 落葉
讀書心得-隱性潛能

讀書心得-隱性潛能

本書主要是講學習法和自我成長的心法,每一章節會先講故事,接著引導到自述的論點,讀起來非常順,且又不無聊。 有時候,你可能會覺得學習某些技能很不順利,總是卡卡的,或是好像學不怎麼深刻,過一陣子好像又忘個精光。 以下是我讀到比較令我印象深刻的學技能心法。 盡量犯錯(享受不適感) 書中舉學習語言當例子。 比如我們在學習英文,我們很害怕自己講錯話,用錯單字、文法,使得對方覺得我們好像英文很差,然後被嘲笑。 不過其實我們應該要"擁抱尷尬"才對,想想還在嬰兒時期的我們,我們不是也都牙牙學語嗎? 換個角度想,如果有個學中文的外國人,他試著用中文跟你溝通,他不小心說錯字時,是不是已經覺得他很厲害了?我們不會放大他的錯誤,而是為他"因為努力說我們的語言而感到開心",是個很有勇氣的人,對吧! 說錯被糾正,使得我們記住這個字該如何說、這個情況要怎麼回答,這才是學習語言的方式。 我們也應該每天累積犯錯機會,多講就會成長、講錯就改進。 不完美主義 完美主義也是會拖累我們學習的進度。 完美主義者害怕犯錯、給予太多假設、

By 落葉