我的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

 文中如果有錯誤還請各位大大幫忙指出,畢竟錯誤使人進步嘛^_^


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM