python 入門-輸入輸出與基本資料型別
*** python中的變數不需要事先宣告再使用,而可以直接來一個變數名,後面一個賦值,接著一個數據值,如 hw = "hello python",相當於Python能智慧的根據你後面變數的值而自動判斷你的資料型別。這就是Python的魅力之一,簡潔!
一、基本資料型別
1.整型 int
1.1長整型 long 基本合併為int 因此,在Python 中,int表示的範圍比C語言表示的範圍大的多
2.浮點型 float
小數,與c語言中float差別不大
3.字串
與c語言有些差別,c語言中字元有2種:單字元char,字串。而在Python中只有一種,用單引號或者雙引號包含表示
注意的是,表示字串型別必須要有引號!並且對大小寫要求嚴格!
3.1格式化字串
常用的格式化字串有:
1、%d 格式化整數
2、%o 格式化無符號八進位制數
3、%x(X) 格式化無符號十六進位制數(大寫)
4、 %f 格式化浮點數字,可指定小數點後的精度
5、 %p 用十六進位制數格式化變數的地址
6、%s 格式化字串
3.2轉義字元
常用的轉義字元有:
1、/n 換行符
2、\r 回車符
3、\o 八進位制數代表的字元
4、\x 十六進位制數代表的字元
5、\' 單引號
6、\" 雙引號
字元\
本身也有轉義,所以\\
表示的字元就是\
特別地:列印檔案路徑時,用轉義的方法太複雜,引入一個原始字串,如:
print r"C:\Program Files (x86)\Microsoft Office\Office"
==> C:\Program Files (x86)\Microsoft Office\Office
原始字串,以r開頭,後面跟上一個字串,輸出的內容就是字串原文。但原始字串最後一個字元不能是反斜線
轉義字元別太糾結,一般不會有人吃飽了沒事去給你整一堆轉義字元讓你去弄明白
3.3字串的幾個函式
str(): 轉化為字串 print str(10000L)==>10000
repr(): 建立一個字串 print repr(10000L)==>10000L
` `: 反引號 列印包含數字的字串(字串+數字) + `number`,功能與repr()一樣
4.布林值
與c語言差不多,一個布林值只有True
、False
兩種值,要麼是True
,要麼是False(注意單詞,必須完全一樣)
4.1布林運算
布林值可以進行and
、or
和not
運算,對應邏輯運算中的與(&)、或(|)、非(¬)
5.空值
空值是Python裡一個特殊的值,用None
表示。None
不能理解為0
,因為0
是有意義的,而None
是一個特殊的空值。
此外,Python還提供了列表、字典等多種資料型別,還允許建立自定義資料型別,後面章節再說。
二、輸出與輸入
1.輸出函式print
print函式:列印函式,print(),在使用中可省略後面的一對括號,如程式碼:print “python” 與 print ("python") 效果一致
注意事項:
情況1.
print函式後面可以接變數、字串,當後面接字串,即想列印字串時,切記別忘了加上引號(提醒Python直譯器,我想列印的型別是字串)
情況2.
1 #print函式格式化輸出多個變數例子 2 my_name = 'Zed A. Shaw' 3 my_age = 35 4 my_height = 74 5 my_weight = 180 6 my_eyes = 'Blue' 7 my_teeth = 'White' 8 my_hair = 'Brown' 9 print "Let's talk about %s." % my_name 10 print "He's %d inches tall." % my_height 11 print "He's %d pounds heavy." % my_weight 12 print "Actually that's not too heavy." 13 print "He's got %s eyes and %s hair." % (my_eyes, my_hair) 14 print "His teeth are usually %s depending on the coffee." %my_teeth 15 print "If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height +my_weight)
print函式格式化輸出變數引數時與c語言有異曲同工之處,前面引數用格式化字串表示如%d,後面則對應的%引數名。多個引數時,提取#後面用()包含引數名,引數名之間用逗號分隔。
情況3.
1 print '100 + 200 =', 100 + 200
情況4.
當遇到print函式要列印的內容跨了多行
將引號改為三引號即可,""" """
如果一行之中,最後一個字元是反斜線,效果也是程式碼跨行,常用於表示式和語句。 如:
printf 1+2\
4+5
==>12
總結:
python在遇到print函式時,遇到變數名或者表示式時,輸出直接顯示該變數的值或者表示式的結果;遇到字串開頭的左引號後,出現普通字元照搬下來;遇到格式化字串時,如%d,向後面找匹配的 %引數名,找到該引數的值,替代 %d;直到碰到右引號後,如果後面還有逗號 (",") ,重複以上操作直到後面沒有東西。
2.輸入函式
2.1 input函式
input() :接受一個標準輸入資料,返回為string型別,即你輸入字串的時候必須使用引號將它括起來,否則它會引發一個 SyntaxError (語法錯誤)
自己敲的是什麼型別資料就是什麼型別資料
個人感覺使用上與c語言中scanf()函式有一點點相似,不過更智慧,不需要指定匹配
2.1 raw_input函式 【常用】
將所有輸入作為字串看待,返回字串型別。
自己敲的是什麼型別資料就是什麼型別資料
Tip:
1 age = raw_input("How old are you? ") 2 height = raw_input("How tall are you? ") 3 weight = raw_input("How much do you weigh? ") 4 print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)
raw_input() ,包括input(),你還可以讓它顯示出一個提示,從而告訴別人應該輸入什麼東西。你可以在 () 之間放入一個你想要作為提示的字串。
三、Python註釋
1.Python單行註釋(#)
井號(#)常被用作單行註釋符號,在程式碼中使用#時,它右邊的任何資料都會被忽略,當成是註釋,變綠。
2.批量、多行註釋符號
在python中也會有註釋有很多行的時候,這種情況下就需要批量多行註釋符了。多行註釋是用三引號''' '''包含。
3.python中文註釋方法
在python編寫程式碼的時候,避免不了會出現或是用到中文,這時候你需要在檔案開頭加上中文註釋。
#coding=utf-8
或者:
#coding=gbk
四、談談運算子優先順序
+ plus 加法
- minus 減法
/ slash 整除 *** // 雙斜線表整除
* asterisk 乘法
% percent 取餘
< less-than 小於
> greater-than 大於
<= less-than-equal 小於等於
>= greater-than-equal 大於等於
1 #運算子優先順序 2 print "I will now count my chickens:" 3 print "Hens", 25 + 30 / 6 4 print "Roosters", 100 - 25 * 3 % 4 5 print "Now I will count the eggs:" 6 print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6 7 print "Is it true that 3 + 2 < 5 - 7?" 8 print 3 + 2 < 5 - 7 9 print "What is 3 + 2?", 3 + 2 10 print "What is 5 - 7?", 5 - 7 11 print "Oh, that's why it's False." 12 print "How about some more." 13 print "Is it greater?", 5 > -2 14 print "Is it greater or equal?", 5 >= -2 15 print "Is it less or equal?", 5 <= -2
分析:
第3行:猜想優先順序 / > + 25+30/6 ==>25+5=30
第4行:猜想優先順序 * % > - 100-25*3%4 ==> 100-75%4 ==>100-3=97
第8行:猜想優先順序 < > + - 但仔細想想 2<5 結果應該為True,如果這樣的話還後面就不能繼續計算了
所以, 猜想優先順序 < < + -
結果:
總結:上述運算子優先順序 最高:* / % 次之:+ - 最低: < > 且結果只能為True或者False