1. 程式人生 > >Python 入門學習02 —— 變數、註釋及 if 條件語句的使用

Python 入門學習02 —— 變數、註釋及 if 條件語句的使用

一、變數

  變數是指值會發生變化的的量,與常量相對。它的存在是為了儲存日後的結果,節省程式運算過程中的一些時間。

  • 宣告變數的格式

變數名 = 變數

age = 123
name = "Springer"
a = b = 5
  • 檢視變數的格式

使用 type() 函式可以檢視變數的型別

age = 18
print( type(age))
結果

demo

  • 變數的命名規範
  • 要具有描述性,看見變數名稱就可以明白其要表達的含義。
  • 變數名只能以下劃線、數字、字母組成,不可以是空格或特殊字元(例:#*,.¥~!)。
  • 不能以中文為變數名( Python 中支援以中文為變數名,但是不要使用)。
  • 不能以數字開頭。
  • 保留字元(即 Python 中本身採用的字元)是不能被使用的。
  • 在 Python 中所有的變數都是可變的,為了區分常量,用全部大寫的變數名來代表此變數為常量。
name_length        school_name        message        AGE        STUDENTNUM 

二、記憶體釋放

  python 不像 C++Java 等語言一樣,他們可以不用事先宣告變數型別而直接對變數進行賦值。對 Python

語言來講,物件的型別和記憶體都是在執行時確定的。這也是為什麼我們稱 Python 語言為動態型別的原因(這裡我們把動態型別可以簡單的歸結為對變數記憶體地址的分配是在執行時自動判斷變數型別並對變數進行賦值)。
  Python 引用了記憶體計數這一簡單的計數來控制垃圾回收。當記憶體中有不再使用的部分時,垃圾收集器就會把他們清理掉。它會去檢查那些引用計數為 0 的物件,然後清除其在記憶體的空間。當然除了引用計數為 0 的會被清除,還有一種情況也會被垃圾收集器清掉:當兩個物件相互引用時,他們本身其他的引用已經為 0 了。

三、註釋

  • 單行註釋
# 這是一個註釋
name = "Springer"    #這是一個註釋
# 這是一個註釋
  • 多行註釋
'''
三對單引號,Python多行註釋符。
三對單引號,Python多行註釋符。
'''
"""
三對雙引號,Python多行註釋符。
三對雙引號,Python多行註釋符。
"""

四、條件語句的使用

  • input()
      input() 接收的所有資料都是字串,即使你輸入的都是數字,但依然會被當成字串來處理。
  • if 條件語句

if 判斷條件1:
執行語句1……
elif 判斷條件2:
執行語句2……
elif 判斷條件3:
執行語句3……
else:
執行語句4……
注:在使用 if 條件語句時,要注意首行縮排,一般情況下以四個空格為一個縮排標準。一個 tab 符不等於四個空格。

五、判斷一個字串的組成

  • 檢測字串是否只由數字組成。

isdigit()

  • 檢測字串是否只由字母組成。

isalpha()

  • 檢測字串是否由字母和數字組成。

isalnum()

#!-*- coding:GBK -*-
str_num = "18"
str_english = "abc"
str_hybrid = "a1b8c"

print("------------", str_num, "-------------")
print(str_num, "是否只由數字組成", str_num.isdigit())
print(str_num, "是否只由字母組成", str_num.isalpha())
print(str_num, "是否由字母和數字組成", str_num.isalnum())
print("------------", str_english, "-------------")
print(str_english, "是否只由數字組成", str_english.isdigit())
print(str_english, "是否只由字母組成", str_english.isalpha())
print(str_english, "是否由字母和數字組成", str_english.isalnum())
print("------------", str_hybrid, "-------------")
print(str_hybrid, "是否只由數字組成", str_hybrid.isdigit())
print(str_hybrid, "是否只由字母組成", str_hybrid.isalpha())
print(str_hybrid, "是否由字母和數字組成", str_hybrid.isalnum())
結果

demo

注意

  在使用 isdigit() 時會有一個坑,那就是 Number = input(“請輸入數字:”) 即從控制檯上獲取一串值那麼就有 python input() 相當於 eval( raw_input( prompt ) ) ,用來獲取控制檯的輸入。
  raw_input() 將所有輸入作為字串看待,返回字串型別。而 input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的型別( int , float )。
  當輸入全數字字串時,這時候在使用 Number.isdigit() 就會報錯(AttributeError: ‘int‘ object has no attribute ‘isdigit‘),已經是 int 型別的值,在使用該函式,肯定會報錯。
  那麼最好是選用 raw_input() 函式,作為動態輸入方法,否則就會掉入坑。
demo

六、一個簡單的樣例

#!-*- coding:GBK -*-

userName = ""
password = ""
password_again = ""
password_user = ""
input_num = 1

userName = input("請輸入您的使用者名稱:")

print("使用者名稱設定成功!")

password = input("請輸入您設定的密碼:")
password_again = input("請確認您設定的密碼:")

while password_again != password:
    password_again = input("兩次密碼不一致,請重新設定密碼:")
    password = input("請輸入新的密碼:")
    password_again = input("請確認您設定的密碼:")
else:
    print("密碼設定成功!")

password_user = input("請輸入登入密碼:")

while password_user != password:
    password_user = input("您輸入的密碼有誤,請重新輸入:")
    if input_num < 2:
        input_num += 1
    else:
        print("您已連續輸錯三次,賬戶已凍結!")
        break
else:
    print(userName + "先生/女士,歡迎您!")

本文內容部分取自百度內容,如有雷同部分請見諒。