1. 程式人生 > >python 入門-輸入輸出與基本資料型別

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中只有一種,用單引號或者雙引號包含表示

,如“python”或者‘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語言差不多,一個布林值只有TrueFalse兩種值,要麼是True,要麼是False(注意單詞,必須完全一樣)

4.1布林運算

  布林值可以進行andornot運算,對應邏輯運算中的與(&)、或(|)、非(¬)

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