python第三天,字串續

來源:互聯網
上載者:User

標籤:namespace   如何   not   雙引號   開發項目   spec   har   info   細節   

  

字串類型

在python中字串類型可以用 成對單引號,如:‘你好,中國。‘; 也可以用成對雙引號,如:"厲害了,我滴國"。代碼如下:

  

通過.title(),可以將一段話的首字母變為大寫字母,如:“i love you!”

  

通過.upper()和.lower()可以將字串全部變為大寫或小寫,如:

  

  儲存資料時,方法lower()很有用。很多時候,你無法依靠使用者來提供正確的大小寫,因此需要講字串先轉化為小寫,再儲存它們。以後需要顯示這些資訊時,在將其轉換為最合適的大小寫方式。
  這種情況在我們輸入網站驗證碼的時候很有用,我們在註冊一個新的網站的時候也經常遇到這樣的問題,網站要求我們輸入驗證碼,但是無論我們輸入的是大寫的還是小寫都沒有關係。
假如:網站後台提供了隨機的驗證碼,有大寫有小寫,裡面肯定存在這轉換機制,將我們輸入的驗證碼轉換為統一的格式在跟後台產生的驗證碼進行比較,比如:

#網站隨機產生的驗證碼,有大寫還有小寫site_verification_code = "ABadf"#輸入使用者看到的驗證碼,使用者可以隨便輸入,不管大小寫都沒有關係user_verification_code = input("Please enter the verification code: ")if user_verification_code.lower() == site_verification_code.lower():    #如果使用者輸入的驗證碼(轉換為小寫格式)跟網站隨機產生的驗證碼是一致的,那麼使用者就可以進入網站,否則就需要重新輸入    print("Welcome to Baidu.")else:    print("The code you entered is incorrect, please re-enter: ")results:Please enter the verification code: abadfWelcome to Baidu

  我們輸入abadf或者abADf,只要是跟網站隨機產生的驗證碼一致,最後都會進入到網站裡面,這就與驗證碼的驗證機制類似;
假如我們輸入了錯誤的驗證碼,比如acadf,看結果是怎樣的如下:

results:Please enter the verification code: acadfThe code you entered is incorrect, please re-enter: 

  這個時候程式運行結果提示我們,我們輸入的驗證碼是錯誤的,需要我們重新輸入,當然這個程式沒有加入迴圈語句,這個是可以添加迴圈的,可以是無限迴圈,也可以設定輸入多少次,編程就是對現實世界的描述,在編程中體現它。

合并拼接字串

  在很多情況下,都需要合并字串。例如,我們可能將姓和名儲存在不同的變數中,等要顯示姓名時,再將它們合二為一:

  

  Python使用加號(+)來合并字串。在這個執行個體中,我們使用+來合并first_name、空格和last_name,以得到完整的姓名,在Python中,編程是可以美麗的,讓程式看起來整潔漂亮,所以需要時刻修飾代碼,讓代碼看起來整潔美觀。
  比如添加一些空格、分行符號、特殊符號(-," "等),定位字元等,讓代碼看起來整齊有序,讓人有一種享受感,耳目一新。 

使用定位字元或分行符號來添加空白   

  在編程中,空白泛指任何非列印字元,如空格、定位字元和分行符號。我們可以只用空白來組織輸出,以使代碼更易讀,而且美觀有序。
  要在字串中添加定位字元,可使用字元組合\t;要在字串中添加分行符號,可使用字元組合\n:

  

  

刪除空白

  在程式中,額外的空白可能令人迷惑。如"python"和"python "看起來幾乎沒有什麼兩樣,但是對程式來說,它們是兩個不同的字串,Python能夠發現"python "中的額外空白,並認為它們是有意義的--除非你告訴它不是這樣的。

  在學習取出末尾空白之前我們先學習下如何擷取字串長度,這個時候我們會利用到len(),

  通過這個方法,我們可以看出有三個空格在subject中,那麼我們通過rstrip()來確保末尾沒有空格也就是去除末尾的3個空格,

  

  

  在上面程式中,我們對程式進行了處理,輸出了原始程式以及長度,還有剔除空格後的長度,可以看出,在Python中,加空格和不加空格是不一樣的,必要的時候要剔除多餘的空格。
  python提出空格有三種方法,rstrip()、lstrip()和strip()。
  單詞strip的含義是:除去,剝去;剝奪;刪除;清除,拆除,在Python中主要是刪除空格,rstrip()是刪除單詞右邊的空格,lstrip()是left+strip的縮寫,意思是刪除單詞左邊的空格,制霸單詞strip()是刪除單詞兩側的空格;
  學過excel函數的應該知道,excel函數trim()也是為了刪除空格的,但是它能刪除單詞中間的空格,在Python中strip()方法是不可以的,只能刪除兩側的空格:
  比如:在excel中,trim(" I love Python ") = "I love Python",但是在Python中,使用strip()方法,得到的結果是:"I love Python"是無法刪除字串中間的字元的。
  然而,這種刪除只是暫時的,並沒有真正的從favorite_language中刪除右邊的空格,只是在輸出結果的時候我們得到了我們想要看到的結果。
  要永久刪除這個字串中的空白,必須將刪除操作的結果存回到變數中:
  favorite_language = favorite_language.rstrip()
  為刪除這個字串中的空白,需要將其末尾的空白刪除,在將結果存回到原來的變數中。在編程中,經常需要修改變數的值,在將新值存回到原來的變數中。這就是變數的值可能隨程式的運行或使用者的輸入資料而發生變化的原因。

數字轉字串

  在開發過程中,很多時候我們會用到字串和數字進行組合,如果強行進行轉換是會報錯的,

  

  那麼如果想要將兩種類型合在一起使用,這個時候我們用到了str()這個方法,

  

  有數位時候一定要轉化為字串才能夠合并拼接

使用字串時避免語法錯誤

  Python對輸入的單詞很嚴格,大小寫,字元格式設定等都要嚴格終於,有一個地方出錯系統就會報錯,我也經常遇到這樣的問題,比如字串和數字拼接,經常會忘記把數字轉化為字串,這樣系統就會報錯。

Python之禪

  程式設計語言Perl曾在互連網領域長期佔據著統治地位,早期的大多數互動式網站使用的都是Perl指令碼。彼時,“解決問題的辦法有多個”被Perl社區奉為座右銘。
  這種理念一度深受大家的喜歡,因為這種語言固有的靈活性使得大多數問題都有很多不同的解決之道。在開發項目期間,這種靈活性是可以接受的,但大家最終認識到,
  過於強調靈活性會導致大型項目難以維護:要通過研究代碼搞清楚當時解決複雜問題的人是怎麼想的,既困難又麻煩,還會耗費大量的時間。
  經驗豐富的程式員倡導儘可能避繁就簡,Python社區的理念都包含在Tim Peters編寫的“Python之禪”中。要獲悉這些有關編寫優秀Python代碼的指導原則,只需要在解譯器中執行命令
  import this。就能查看編寫程式的原則,指導性意見。
  

The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren‘t special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one-- and preferably only one --obvious way to do it.Although that way may not be obvious at first unless you‘re Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, it‘s a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- let‘s do more of those!

  Beautiful is better than ugly.
  Python程式員篤信代碼可以編寫的漂亮而優雅。編程是要解決問題的,設計良好、高效而漂亮的解決方案都會讓程式員心生敬意。隨著對Python的認識越來
越深入,並使用它來編寫越來越多的代碼,有一天也許會有人站在你後面驚呼:“哇,代碼編寫的真是偏亮!”

  Simple is better than complex.
  如果有兩個解決方案,一個簡單,一個複雜,但都行之有效,就選擇簡單的解決方案吧。這樣,你編寫的代碼將更容易維護,你或他人以後改進這些代碼時也會
更容易。
  Complex is better than complicated.
  現實是複雜的,有時候可能沒有簡單的解決方案。這種情況下,就選擇最簡單可行的解決方案吧。
  Readability counts.
  即便是複雜的代碼,也要讓它易於理解。開發的項目涉及複雜代碼時,一定要為這些代碼編寫有益的注釋。
  There should be one -- and preferably only one --obvious way to do it.
  如果讓兩名Python程式員去解決同一個問題,他們提供的解決方案應大致相同。這並不是說編程沒有創意空間,而是恰恰相反!然而,大部分編程工作都是
  使用常見解決方案來解決簡單的小問題,但這些小問題都包含在更龐大、更有創意空間的項目中。在你的程式中,各種具體細節對Python程式員來說都應易於理解。

python第三天,字串續

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.