>>#獲得用戶名:>>>user_name=raw_input("whatisyourname?")在python中用井號(#)表示注釋。井號(#)右邊的內存將不被程序執行。即使沒有注釋,也應該讓代碼本身易于理解。" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python基礎學習筆記(二)

系統 1519 0

python基礎學習筆記(二)

2013-02-24 16:25 ?蟲師 閱讀( ... ) 評論( ... ) 編輯 收藏

繼續第一篇的內容,講解, python 的一些基本的東西。

?

注釋

?

為了讓別人能夠更容易理解程序,使用注釋是非常有效的,即使是自己回頭再看舊代碼也是一樣。

                >>> 
                
                  #
                
                
                  獲得用戶名:
                
                
>>> user_name = raw_input(
                
                  "
                
                
                  what is your name?
                
                
                  "
                
                )
              

python? 中用井號( # )表示注釋。井號( # )右邊的內存將不被程序執行。即使沒有注釋,也應該讓代碼本身易于理解。幸好! Python 是一門出色的語言,它能幫助程序員編寫易于理解的程序。 ^_^

?

?

字符串


?

?

單引號字符串和轉義引號

                >>> 
                
                  "
                
                
                  hello,world
                
                
                  "
                
                
                  '
                
                
                  hello,world
                
                
                  '
                
                

>>> 
                
                  '
                
                
                  "hello ,world" she said
                
                
                  '
                
                
                  '
                
                
                  "hello ,world" she said
                
                
                  '
                
                

>>> 
                
                  "
                
                
                  'hello,world' she said
                
                
                  "
                
                
                  "
                
                
                  'hello,world' she said
                
                
                  "
                
              

?

第一個輸出,明明是雙引號(?“”?)?,怎么輸入變成了單引號(?‘’?)。這有什么區別呢?事實上,沒有區別。

再看第二個,單引導(‘’)里面包含了一對雙引號(“”),這次完整輸出了。難道只有雙引號輸出會變成單引號么?

再看第三個,雙引號(“”)號里面包含了一對單引號(‘’),這次為什么沒把最外面的雙引號變成單引號輸出??這編譯器比較情緒化,呵呵!

?

                >>> 
                
                  "
                
                
                  Let's go
                
                
                  "
                
                
                  "
                
                
                  Let's go
                
                
                  "
                
                

>>>
                
                  '
                
                
                  Let
                
                
                  '
                
                s go
                
                  '

                
                
                  SyntaxError: invalid syntax


                
                >>> 
                
                  '
                
                
                  Let\'s go
                
                
                  '
                
                
                  "
                
                
                  Let's go
                
                
                  "
                
              

第一個輸出,雙引號包含一個單引號(實際上應該叫撇 ( ‘)? ,因為它不是成對出現的。)可以正常輸出。

第二個輸出,一對單引號里面包含了一個單引號(這應該是輸入者的本意)。編譯器不知道怎么識別了。

第三個輸出,為了達到這個目的,我們需要把中間的單引號用斜杠( \ )進行轉義。這次又不一樣了,單引號輸出之后變成了雙引號。編譯器,你真調皮。

?

拼接字符串

下面試試加號( + )來拼接一個字符

                >>> 
                
                  "
                
                
                  helle,
                
                
                  "
                
                +
                
                  "
                
                
                  world!
                
                
                  "
                
                
                  '
                
                
                  helle,world!
                
                
                  '
                  

>>> x= " hello, " >>> y= " world! " >>> x+ y ' hello,world! '

?

?

字符串表示, str? 和? repr

前面的例子讀者可能注意到,所有通過 python 打印的字符串還是被引號括起來的。這是因為 python 打印值的時候會保持該值在 python 代碼中的狀態,而不是你希望?用戶所看到的狀態。如果用 print 語句,結果就不一樣了:

                >>> 
                
                  "
                
                
                  hello,world!
                
                
                  "
                
                
                  '
                
                
                  hello,world!
                
                
                  '
                
                
>>> 10000L
10000L

>>> 
                
                  print
                
                
                  "
                
                
                  hello,world!
                
                
                  "
                
                
                  
hello,world!

                
                >>> 
                
                  print
                
                 10000L
10000
              

可以看到,長整型數 10000L 被轉換成了數字 10000? ,而且在顯示給用戶的時候也如此。

我們在這里討論的實際上是值被轉為字符的兩種機制。可以通過以下兩個函數來使用這兩種機制:

                >>> 
                
                  print
                
                 str(
                
                  "
                
                
                  hello,world!
                
                
                  "
                
                
                  )
hello,world!

                
                >>> 
                
                  print
                
                 str(10000L
                
                  )

                
                10000

>>> 
                
                  print
                
                 repr(
                
                  "
                
                
                  hello,world!
                
                
                  "
                
                
                  )

                
                
                  '
                
                
                  hello,world!
                
                
                  '
                
                
>>> 
                
                  print
                
                 repr(10000L
                
                  )

                
                10000L
              

str() 函數?,它會把值轉換為合理形式的字符串,以例用戶可以理解;

repr() 函數,它會創建一個字符串,它以合法的 python 表達式的形式來表示值。

?

?

input? 和? raw_input? 的比較

上一章的最后一個例子用到了 raw_input? 函數,那它與? input? 有什么不用??下面我們用 input 函數,再試試那個例子。

                >>> name = input(
                
                  "
                
                
                  what is your name?
                
                
                  "
                
                
                  )
what 
                
                
                  is
                
                
                   your name?huhu

Traceback (most recent call last):
  File 
                
                
                  "
                
                
                  
                
                
                  "
                
                , line 1, 
                
                  in
                
                
                  
                    
    name 
                  
                  = input(
                  
                    "
                  
                  
                    what is your name?
                  
                  
                    "
                  
                  
                    )
  File 
                  
                  
                    "
                  
                  
                    
                  
                  
                    "
                  
                  , line 1, 
                  
                    in
                  
                  
                    
                      
NameError: name 
                    
                    
                      '
                    
                    
                      huhu
                    
                    
                      '
                    
                    
                      is
                    
                    
                      not
                    
                    
                       defined


                    
                    >>> name = input(
                    
                      "
                    
                    
                      what is name?
                    
                    
                      "
                    
                    
                      )
what 
                    
                    
                      is
                    
                     name?
                    
                      "
                    
                    
                      huhu
                    
                    
                      "
                    
                    
>>> 
                    
                      print
                    
                    
                      "
                    
                    
                      hello, 
                    
                    
                      "
                    
                     + name + 
                    
                      "
                    
                    
                       !
                    
                    
                      "
                    
                    
                      
hello, huhu !
                    
                  
                
              

input() 函數會假設用戶輸入的是合法的 python 表達式。所以直接輸入 huhu? 系統會提示錯誤,但是如果加上引號(“ huhu ”)就會是一個合法的字符,程序運行是沒有問題的。

然而,要求用戶帶著引號輸入他們的名字有點過份,因此,就這需要使用 raw_input 函數。

                >>> input(
                
                  "
                
                
                  enter a namber:
                
                
                  "
                
                
                  )
enter a namber:
                
                3
3
>>> raw_input(
                
                  "
                
                
                  enter a namber:
                
                
                  "
                
                
                  )
enter a namber:
                
                3

                
                  '
                
                
                  3
                
                
                  '
                
              

當然 input 有特別的需要,比如要求用戶輸入數字時。

?

?

長字符串 ?

如果需要寫一個非常非常長的字符串,它需要跨多行,那么,可以使用三個引號帶點普通引號。

                >>> 
                
                  print
                
                
                  '''
                
                
                   this is a very long string.
It continues here.
and it's not over yet.

                
                
                  '''
                
                
                  
 this 
                
                
                  is
                
                
                   a very long string.
It continues here.

                
                
                  and
                
                 it
                
                  '
                
                
                  s not over yet.
                
              

普通字符串也可以跨行。如果一行之中最后一個字符是反斜線,那么,換行符本身就“轉義”了,也就是被忽略了。

                >>> 
                
                  print
                
                
                  "
                
                
                   Hello.\
world!
                
                
                  "
                
                
                  
 Hello.world!

                
                >>> 1+2+
                
                  \
      
                
                4+5
12
              

?

?

?

原始字符串

                >>> path =
                
                  '
                
                
                  C:\abc
                
                
                  '
                
                
>>> 
                
                  print
                
                
                   path
C:bc
                
              

怎么會這樣呢,我想輸入的是一個路徑,卻被換行了。

                >>> 
                
                  print
                
                
                  '
                
                
                  C:\\abc
                
                
                  '
                
                
                  
C:\abc

                
                >>> 
                
                  print
                
                
                  '
                
                
                  C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz
                
                
                  '
                
                
                  
C:\Program Files\fnord\foo\bar\baz\frozz
                
              

通過上面的雙斜線( \\ )解決了路徑問題,但如果路徑很長的話會不會太麻煩了。

                >>> 
                
                  print
                
                 r
                
                  '
                
                
                  C:\Program Files\fnord\foo\bar\baz\frozz
                
                
                  '
                
                
                  
C:\Program Files\fnord\foo\bar\baz\frozz


                
                >>> 
                
                  print
                
                 r
                
                  '
                
                
                  Let\'s go !
                
                
                  '
                
                
                  
Let\
                
                
                  '
                
                
                  s go !
                
              

原始字符串不會把反斜線當作特殊字符。可以看到,原始字符串以 r 開頭。

?

?

Unicode 字符串

字符串常量的最后一種類型就是 Unicode? 字符串(或者稱為 Unicode? 對象 --- 與字符串并不是同一個類型)。 Python 中的普通字符串在內部是以 8 ASCII 碼形成存儲的,而 Unicode 字符串則存儲為 16 Unicode 字符,這樣就能夠表示更多的字符集了,包括世界上大多數語言的特殊字符。?

如果你不短簡什么是 Unicode? ,可以訪問 Unicode 網站: http://www.unicode.org

                >>> u
                
                  '
                
                
                  hello, world!
                
                
                  '
                
                
                  
u
                
                
                  '
                
                
                  hello, world!
                
                
                  '
                
              

可以看到, Unicode 字符串使用 u 前綴,就像原始字符串使用 r? 一樣。

注意:在 python?3.0 中,所有字符串都是 Unicode 字符串。

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲高清在线观看视频 | 欧美福利视频在线 | 97影院午夜在线观看琪琪 | 国产精品国产欧美综合一区 | 日本国产精品 | 91成人免费观看在线观看 | 在线精品一区二区三区 | 国产精品亚洲欧美日韩一区在线 | 欧美专区亚洲专区 | 成人a视频片在线观看免费 成人a视频在线观看 | 成人在线观看国产 | 国产偷国产偷在线高清 | 日韩中文一区 | 中文字幕永久视频 | 日韩在线一区二区三区免费视频 | 国产精品久久久久久一级毛片 | 国产精品视频第一区二区 | 久草免费精品视频 | 国产精品一区在线观看你懂的 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 97影院午夜在线观看视频 | 午夜网站在线观看免费网址免费 | 亚洲夜夜操 | 99网| 久久亚洲精品视频 | 久久成| 五月婷激情 | 久久精品这里是免费国产 | 综合啪啪| 久久国产乱子伦精品免 | 亚洲黄色a级片 | 久久综合久久久久 | 国产亚洲玖玖玖在线观看 | 精品久久久久久久久免费影院 | 毛片大 | 亚洲精品在线免费 | 午夜一级免费视频 | 欧美午夜精品久久久久免费视 | 乱码一区二区三区完整视频 | 久草免费公开视频 | 日本1区二区三区公司 |