python学习笔记(四)-数据类型
0. 在 Python 中的數(shù)據(jù)類型詳解
http://www.cnblogs.com/scios/p/8026576.html
1. 為什么布爾類型(bool)的 True 和 False 分別用 1 和 0 來(lái)代替嗎?
計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制數(shù),所以所有的編程語(yǔ)言最終都會(huì)轉(zhuǎn)換成簡(jiǎn)單的二進(jìn)制序列給CPU按照一定的規(guī)則解析。 由于二進(jìn)制只有兩個(gè)數(shù):0 和 1,因此用 0 和 1 來(lái)表示False和True再適合不過(guò)了,因?yàn)椴挥美速M(fèi)資源在轉(zhuǎn)換的過(guò)程上!
2. 使用int()將小數(shù)轉(zhuǎn)換為整數(shù),結(jié)果是向上取整還是向下取整呢?
小數(shù)取整會(huì)采用比較暴力的截?cái)喾绞?#xff0c;即向下取整。(注:5.5向上取整為6,向下取整為5)
3. 我們?nèi)祟愃季S是習(xí)慣于“四舍五入”法,你有什么辦法使得int()按照“四舍五入”的方式取整嗎?
int() 固然沒(méi)那么“聰明”,但機(jī)器是死的,人是活的!
5.4 “四舍五入”結(jié)果為:5,int(5.4+0.5) == 5
5.6 “四舍五入”結(jié)果為:6,int(5.6+0.5) == 6
大家看明白了嗎?
4. 獲取一個(gè)變量的類型,可以使用 type()和isinstance(),你更傾向于使用哪個(gè)?
type()與isinstance()的區(qū)別
共同點(diǎn):兩者都可以判斷對(duì)象類型
不同點(diǎn):對(duì)于一個(gè) class 類的子類對(duì)象類型判斷,type就不行了,而 isinstance 可以。
例如:
class A:pass class B(A):passisinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False?
綜上,推薦使用 isinstance 判斷對(duì)象類型。
5. Python3 可以給變量命名中文名,知道為什么嗎?
Pyhton3 源碼文件默認(rèn)使用utf-8編碼(支持中文),這就使得以下代碼是合法的:
我和你 = '我愛(ài)你' print(我和你)?
6. 針對(duì)第三節(jié)課中的猜數(shù)字游戲,再次改進(jìn):當(dāng)用戶輸入錯(cuò)誤類型的時(shí)候,及時(shí)提醒用戶重新輸入,防止程序崩潰。
import random times = 3 secret = random.randint(1,10) print('------------------游戲開(kāi)始------------------') guess = 0 print("不妨猜一下我現(xiàn)在心里想的是哪個(gè)數(shù)字:", end=" ") while (guess != secret) and (times > 0):temp = input()while not temp.isdigit():temp = input("抱歉,您的輸入有誤,請(qǐng)輸入一個(gè)整數(shù):")guess = int(temp)if guess == secret:print("你是俺心里的蛔蟲(chóng)嗎?!")print("哼,猜中了也沒(méi)有獎(jiǎng)勵(lì)!")breakelse:if guess > secret:print("哥,大了大了~~~")else:print("嘿,小了,小了~~~")times = times - 1 # 用戶每輸入一次,可用機(jī)會(huì)就-1if times > 0:print("再試一次吧:", end=" ")else:print("機(jī)會(huì)用光咯T_T") print("游戲結(jié)束,不玩啦^_^")?
7. 寫(xiě)一個(gè)程序,判斷給定年份是否為閏年。
閏年應(yīng)能被4整除(如2004年是閏年,而2001年不是閏年), 但不是所有被4整除的年份都是閏年。在能被100整除的年份中, 又同時(shí)能被400整除的年份才是閏年(如2000年是閏年), 能被100整除而不能被400整除的年份(如1800、1900、2100)不是閏年。 這是國(guó)際公認(rèn)的規(guī)則。
temp=input('輸入需要判斷的年份:') while not temp.isdigit():print("您的輸入有誤,請(qǐng)輸入一個(gè)數(shù)字!")temp=input() year=int(temp) i=year%400 j=year%100 if i==0 and j==0:print(temp+'是閏年!') else:print(temp+'是平年')?
總結(jié)
以上是生活随笔為你收集整理的python学习笔记(四)-数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2. Dubbo和Zookeeper的关
- 下一篇: 10.17 配置IP,网络问题排查