天天看點

Python基礎01——變量和簡單資料類型

變量

什麼是變量

變量就是用一個東西來指向某個值,這個值是與該變量相關聯的資訊

舉個例子:

message = 'Hello Python!'
#這個message就是一個變量,指向的值就是Hello Python這個字元串
#變量message就是用來代指資料Hello python的,我們就可以通過操作message來操作Hello python           

複制

為什麼要使用變量?

使用變量能夠簡化我們的代碼,可以把很多很長的一些資料指派給變量,通過變量來操作這些資料。

變量的命名和使用

變量的命名規範

  1. 變量名隻能包含字母、數字和下劃線。變量名能以字母或下劃線打頭,但不能以數字打頭。
  2. 變量名不能包含空格,但能使用下劃線來分隔其中的單詞。
  3. 不要講Python關鍵字和函數名用作變量名,即不要使用Python保留用于特殊用途的單詞,如print。
  4. 變量名應既簡短又具有描述性。
  5. 慎用小寫字母l和大寫字母o,容易看成數字1和0。
  6. 變量名應使用小寫字母,大寫字母在變量名中有特殊含義。

使用變量時避免命名錯誤

要避免犯命名錯誤這種簡單的錯誤,不過現在的ide基本都會提示變量名錯誤的。

字元串

字元串是什麼?

字元串就是一系列字元,在python中,用引号(單引号、雙引号)括起來的都是字元串。

例如:

str = '我是字元串'
#str指向的就是一個字元串           

複制

如何使用字元串

  1. 使用方法修改字元串的大小,方法名是title()。

name = 'ada lovelace'

print(name.title())

#輸出結果為:Ada Lovelace

#方法title()的作用是以首字母大寫的方式來顯示每個單詞

  1. 将字元串改為全部大寫或全部小寫,方法名分别是upper()和lower()。

name = 'Ada Lovelace'

print(name.upper())

print(name.lower())

#輸出結果為:ADA LOVELACE和ada lovelace

#方法upper()的作用是将每個字母都變成大寫

#方法lower()是将每個字母都變成小寫

  1. 在字元串中使用變量(f字元串)

first_name = 'ada'

last_name = 'lovelace'

full_name = f'{first_name} {last_name}'

print(full_name)

#輸出的結果為ada lovelace

#在前引号前加上字母f, 再将要插入的變量放在花括号内就可以把變量的值給替換過來。

#字元串f是format的簡寫,在python3.6的版本引入

複制

  1. 使用制表符或換行符來添加空白(\t制表符,\n換行符)

複制

print("Python")

Python

print("\tPython")

Python

#制表符\t會輸出一個縮進

print("Languages:\nPython\nC\nJavaScript")

Languages:

Python

C

JavaScript

#換行符\n則是在輸出的時候另起一行

  1. 删除空白(rstrip()、lstrip()、strip())

favorite_language = 'python '

favorite_language

'python '

favorite_language.rstrip()

'python'

favorite_language

'python '

#rstrip()方法可以将字元串末尾的空白給暫時去掉,要重新指派給變量才能永久更改

favorite_language = ' python '

favorite_language.rstrip()

' python'

favorite_language.lstrip()

'python '

favorite_language.strip()

'python'

#使用lstrip()可以剔除字元串前面的空格

#使用rstrip()可以剔除字元串後面的空格

#使用strip()可以剔除前後的空格

使用字元串常見錯誤

在輸入字元串的時候容易發生文法錯誤,一般字元串可以使用單引号括起來,但是如果字元串中間包含了單引号或者撇号,那麼就必須要用雙引号将字元串括起來,因為單引号會與字元串中間的單引号括起來形成另一個字元串。

如果字元串裡面有雙引号則用單引号把字元串給括起來。

什麼是數

數分為整數和浮點數,可以使用數來記錄得分、記錄數字、表示可視化資料等

整數

整數為int類型,1、2、445、435、323都為整數

浮點數

浮點數的類型為float,1.12、23.234、245.231,帶小數點的數字都為浮點數。

數的運算

  1. 數的運算有+、-、*、/,分别為加減乘除,python中還有兩個乘号表示乘方運算
>>> 3 ** 2 
9 
>>> 3 ** 3
27 
>>> 10 ** 6 
1000000           

複制

  1. 任意兩個數相除,結果永遠是浮點數,即使是兩個整數相除且能整除。
4/2

2.0

  1. 在其他任何運算中,如果一個操作數是整數,另一個操作數是浮點數,結果也總是浮點數
1 + 2.0

3.0

2 * 3.0

6.0

3.0 ** 2

9.0

數中的下劃線

書寫很大的數時,可使用下劃線将其中的數字分組,使其更清晰易讀:

>>> universe_age = 14_000_000_000
>>> print(universe_age) 
14000000000
#列印帶有下劃線的數字時,python不會把下劃線列印出來,存儲數字時,python會自動忽略下劃線。           

複制

常量

常量類似于變量,一般使用全大寫來指出應将某個變量視為常量,其值應始終不變:

MAX_CONNECTIONS = 5000
#MAX_CONNECTIONS就是一個常量,在不更改的前提下,它的值永遠是5000           

複制

布爾類型與空類型

什麼是布爾類型?

布爾類型是true和false,用來判斷真假的值。一般在循環語句和判斷語句中使用。

布爾類型與其他類型的關系

  1. 整數0為false,其他非0的數為true
  2. 空字元串為false,有值為true

什麼是空類型

空類型為None,對應資料庫的null值。

基本資料類型之間的轉換和判斷

如何判斷數值的類型?

#使用type()方法
print(type(3))
<class 'int'>

print(type("hello"))
<class 'str'>

print(type(23.33))
<class 'float'>

print(type(True))
<class 'bool'>

#判斷變量的資料類型
a = 23
print(type(a))

<class 'int'>           

複制

基本資料類型的轉換

#轉換成字元串類型,使用str()方法
a = 23
print(type(str(a)))
--------
<class 'str'>

#轉換成整數類型,使用int()方法
a = '23'
print(a)
a = int(a)
print(type(a))
print(a)
------
23
<class 'int'>
23
#轉換成浮點類型,使用float()方法
a = '23'
print(a)
a = float(a)
print(type(a))
print(a)
--------
23
<class 'float'>
23.0
#轉換成布爾類型,使用bool()方法
a = '23'
print(a)
a = bool(a)
print(type(a))
print(a)
-------
23
<class 'bool'>
True           

複制

注釋

什麼是注釋?

注釋就是在程式代碼中用自然語言添加的代碼說明,用來解釋代碼的作用,程式執行時不會執行。

如何編寫注釋

在 Python 中, 注釋用井号 (#) 辨別。 井号後面的内容都會被 Python 解釋器忽略, 如下所示:

# 向大家問好。 
print("Hello Python people!")
Hello Python people!           

複制

還有一種為文檔字元串(docstring)的注釋,描述了函數是做什麼的:

def greet_user():

"""顯示簡單的問候語。"""

print("Hello!")           

複制

該編寫什麼樣的注釋

  1. 編寫注釋的主要目的是闡述代碼要做什麼,以及是如何做的。
  2. 編寫的注釋能夠在以後回看代碼的時候能夠明白代碼的作用
  3. 能夠讓别的合作的程式明白代碼的作用。

python之禅

'''
The Zen of Python, by Tim Peters

Beautiful 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!
'''           

複制