*** 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語言差不多,一個布爾值只有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
文中如果有錯誤還請各位大大幫忙指出,畢竟錯誤使人進步嘛^_^