#十一.格式化字串:format
first_name =
input
('what your first name?'
)last_name =
input
('what your last name?'
)method1 =
'hello, '
+ first_name +
' '+ last_name #這個是我們之前所用到的使用 + 來拼接字串
print
(method1)
method2 =
'hello, {} {}'
.format
(first_name, last_name)
#它工作的方式按照指定的引數順序,第乙個是變數first_name,第二個是變數last_name
print
(method2)
method3 =
'hello, '
.format
(first_name, last_name)
#如果我們要指定用第幾個引數,就需要填入數字,當然可以倒著來,也可以重複使用,巨方便
print
(method3)
#筆者注:在任何計算機語言之中,第一項永遠都是0(如果有特例來杠,那我無話可說。)
method4 = f'hello, '
#前面的f使用f也行哦~ 它代表format 後面的拼接方式很直接,直接在{}裡面輸入變數名就行
print
(method4)
# 此用法(最後乙個)只支援在py3.x中使用
上面的 method 別看懵圈,他只是乙個變數名,你可以隨便用別的,我為了逼格高一點,就用了 方法 的英語 method 後面1234是序號,意思是第幾種方法。
如果你除錯了,你就會發現。以上的輸出都是一樣的,也就是可以用不同的方式實現字串拼接。這就是計算機語言,條條大路通羅馬。
1.數值和字串一樣可以儲存到變數中去
pi =
3.14159
#細心的朋友發現,這裡給pi的值沒有使用 '3.14159' ,也就是沒有用'',這是因為在py之中,數值是不需要''的,它需要區分數值和字串
print
(pi)
2.我們再進一步使用運算試試
num1 =
6num2 =
2print
(num1 + num2)
# 它代表 num1 + num2 , 也就是 6 + 2 列印的結果可想而知:8
print
(num1 ** num2)
# 它的意思就是6的2次方,列印出來的結果也就是36
加法要使用 + 運算子
減法要使用 - 運算子
乘法要使用 * 運算子
除法要使用 / 運算子
指數運算要使用 ** 運算子
3.我們再試試和字串拼接
num3 =
28print
('一般情況下二月有 '
+ num3 +
' 天'
) 不知道有沒有同學提前試過這種拼接,這樣使用會出現報錯的情況。
以上行為會出現報錯原因是因為 不支援 int和string 的 +操作
也就是用 + 有歧義:py不知道你用 + 到底是數值相加還是拼接字串
於是我們就開始進入本節的正題:數值型別的轉換
num3 =
28print
('一般情況下二月有 '
+str
(num3)
+' 天'
)
我們在這裡使用了 str() 將 num3 裡的數值轉換為字串,py就知道了這是乙個字串。所以要是將數值和字串混用時,就必須轉換數值為字串。
有小夥伴在這裡又有了疑問,為什麼我不直接用字串呢?還轉換,麻煩的一批。下面的**可能對你的問題有更好的解讀:
num4 =
'5'num5 =
'6'#請注意,我這裡給 數字 加了 '' ,它現在已經不是數值了,它是字串!!!
print
(num4 + num5)
#我們在這裡使用了「 + 號運算子 」,然而輸出的結果卻是:56(這裡含義是5和6放在一起) 不信可以試試,信也去試試...
這就是資料型別轉換的重要性,我們接下來還有很多的轉換方式:int()、float()
num6 =
input
('請輸入第乙個數字: '
)num7 =
input
('請輸入第二個數字: '
)print
(int
(num6)
+int
(num7)
)print
(float
(num6)
+float
(num7)
)
除錯輸出的是什麼?快去試試吧。
小結:如果沒有型別轉換,兩種及兩種以上的變數值不能夠進行拼接或者是進行運算。
str()會轉換為字串,用於和字串搭配使用
int()會轉換為數值,但是轉換的值僅僅為整數,如果輸入的是數字並帶有小數,那麼將會報錯。
float()會轉換為可以帶有小數的數值 [官方稱為:浮點數值]
我們在使用數字時候一定要確保型別正確,我想你應該清楚什麼時候用數值(計算或者。。。),什麼時候用字串。
本節課所涉及的**上節之中都已經給出,但是建議同學們自己也去試試。
from datetime import datetime
#從 datetime庫 中匯入 datetime函式 ,這個庫後面將會介紹
today = datetime.now(
)print(+
str(today)
)#然後我們使用 str() 將日期轉換為字串
datetime庫 中有很多函式可以呼叫 上面我們使用的是datetime.now()
我們試試 datetime庫 中的 timedelta函式 :
from datetime import timedelta
#記得還要匯入 timedelta函式 ,當然是從 datetime庫 中匯入。
因為我們之前已經匯入過 datetime函式 如果我們沒有匯入,我們可以一次性匯入多個,方法是:
from datetime import datetime,timedelta
# [沒錯,英文格式的逗號就是隔開的方法]
↑上面這條**的意思是 : 從 datetime(庫) 中匯入 datetime(函式),timedelta(函式)
one_day = timedelta(days=1)
#時間差:我設定的是一天,如果是3天,你可以 timedelta(days=3) , 還是那樣,one_day 僅僅是乙個變數名,我隨便起的名字。
yesterday = today - one_day #昨天[新的變數:昨天] = 今天[我本節剛開始通過datetime.now()獲取的] - one_day[在上條**定義了它是1天]
print
('yesterday was: '
+str
(yesterday)
)
**上面已經給出,建議自己手打哦~
如果執行時候報錯看看是不是沒有對日期進行型別轉換!
同學們可以試試 'tomorrow was : 』 + str(tomorrow)) 或者 幾天前還有幾天後
1.我們還能試試只顯示日期之中的某一部分:我在上面已經獲取過今天時間,就不再次獲取了
from datetime import datetime
today = datetime.now(
)print
('日: '
+str
(today.day)
)print
('月: '
+str
(today.month)
)print
('年: '
+str
(today.day)
)print
('時: '
+str
(today.hour)
)print
('分: '
+str
(today.minute)
)print
('秒: '
+str
(today.second)
)#second也有秒的意思,不了解的同學們可以取查檢視
以上**輸出是什麼樣子呢↓
2.我們接下來嘗試計算使用者輸入的 下乙個生日 [時間] 距離 今天 還有多少天:還是就不再繼續獲取今天時間了
呃呃,,,等更新,你們自己先去試試,我24小時內必更新
小白python學習筆記
1.cmd命令列下怎麼切換目錄 2.python對縮排有嚴格要求,要頂格寫,單引號 雙引號 可互換使用。3.如何在python中讓兩個print 函式輸出列印在同一行內 4.在windows下裝lightgbm包 具體是哪個教程能裝好,要自己嘗試了,費了很大功夫,最後也不知道是怎麼搞好的,反正不報錯...
Python 小白入門
python基本語法之雜記 檢視內建資訊 help tuple import os help os help os.fdopen 字串輸出 var1 hello world print var1 0 var1 0 print var1 1 5 var1 1 5 輸出第2到第5的字元 usr bin ...
Python學習 1 小白的Python入門寶典
說過了優點,python自然也有其劣勢之處,執行速度相較而言慢了點,不能加密,但我相信這對於小白而言沒什麼吧,畢竟先學了融會貫通了才有選擇喜歡的權利haha 來看一看2019最新的程式語言 tiobe 指數走勢,自2014年以來,python的排名一直穩步上公升,在2018年甚至已經超過了經典的c ...