Python語言學習第3天_變量與基本數(shù)據(jù)類型

一槽片、 引言

回顧上一天的學習內(nèi)容

Python語言學習第2天_初識Python技扼,昨天該篇文介紹Python的歷史和特點、應用領(lǐng)域并編譯運行第一個Python程序,

掌握變量和數(shù)據(jù)類型的重要性

  • 變量和數(shù)據(jù)類型是編程語言中處理數(shù)據(jù)的基礎。變量允許我們存儲數(shù)據(jù),并在需要時使用它洒敏,而數(shù)據(jù)類型定義了變量的屬性和可以存儲的數(shù)據(jù)種類。
  • 合理并正確地使用數(shù)據(jù)類型可以避免程序中的錯誤疙驾、提高程序的效率凶伙、使代碼更加易讀和易于維護

二、變量的概念與使用

變量的定義:什么是變量它碎,為什么需要變量

什么是變量

在編程中函荣,變量是一個用于存儲數(shù)據(jù)值的標識符。它可以看作是內(nèi)存中的一個存儲單元扳肛,其中存放了可以隨時訪問和修改的數(shù)據(jù)傻挂。變量允許我們給數(shù)據(jù)起一個名字,這樣就可以在程序中多次引用這個數(shù)據(jù)挖息,而不需要重復書寫它金拒。

為什么需要變量

  • 數(shù)據(jù)重用:變量允許我們存儲一個數(shù)據(jù)值,并在程序的不同部分多次使用套腹。這樣可以避免重復寫同樣的數(shù)據(jù)绪抛,使代碼更加簡潔和易于管理。
  • 代碼可讀性:通過為數(shù)據(jù)賦予有意義的變量名沉迹,可以增加代碼的可讀性睦疫。其他開發(fā)者(或未來的你)可以更容易地理解代碼的功能。
  • 易于修改:如果需要在程序中使用相同的數(shù)據(jù)值鞭呕,使用變量可以方便地修改蛤育。只需修改變量的值,所有引用該變量的地方都會自動更新葫松。
  • 靈活性和擴展性:變量提供了一種靈活的方式來處理數(shù)據(jù)瓦糕。你可以隨時修改變量的值,或者將變量的引用傳遞給函數(shù)和模塊腋么,這使得代碼更加靈活和可擴展咕娄。
  • 內(nèi)存管理:變量幫助程序員有效地管理內(nèi)存。程序可以在不再需要數(shù)據(jù)時釋放變量的內(nèi)存珊擂,或者根據(jù)需要動態(tài)地分配和重新分配內(nèi)存圣勒。
  • 功能實現(xiàn):變量是實現(xiàn)復雜功能的基礎。例如摧扇,在進行數(shù)學計算圣贸、控制程序流程、處理用戶輸入等時扛稽,變量都是必不可少的吁峻。

變量命名規(guī)則:字母、數(shù)字、下劃線的組合用含,以及首字符不能為數(shù)字等規(guī)定

在Python中矮慕,變量命名需要遵循一些規(guī)則:

  • 區(qū)分大小寫:Python是大小寫敏感的,這意味著variable和Variable是兩個不同的變量啄骇。
  • 只能以字母(a-z, A-Z)或下劃線(_)開頭:變量名不能以數(shù)字開頭痴鳄。例如,123abc是無效的變量名肠缔,而_123abc是有效的夏跷。
  • 可以包含字母、數(shù)字(0-9)和下劃線(_):變量名中不能包含空格或特殊字符明未,如%槽华、$、#等趟妥。例如猫态,my_variable和variable2都是有效的變量名。
  • 不能是Python的關(guān)鍵字:變量名不能是Python的保留字披摄,如if亲雪、while、class等疚膊。這些關(guān)鍵字(詳情見提綱六)有特定的語言意義义辕,不能用作普通變量名。
  • 長度沒有限制:理論上寓盗,Python變量名的長度沒有限制灌砖,但為了代碼的可讀性和易用性,建議使用簡潔明了的變量名傀蚌。
  • 盡量描述性強:一個好的變量名應該能夠清晰地描述它所代表的含義基显。例如,total_score比簡單的ts更容易理解善炫。
  • 避免使用大寫字母和下劃線組合:雖然技術(shù)上允許撩幽,但通常大寫字母和下劃線組合的命名方式是給類名保留的。例如箩艺,MyClass是一個類名窜醉,而my_variable是一個更好的變量名選擇。

變量賦值:如何聲明并初始化變量

在Python中艺谆,聲明并初始化變量是非常簡單的榨惰,你不需要顯式地聲明數(shù)據(jù)類型。Python是動態(tài)類型的語言擂涛,這意味著你直接為變量賦值,而Python解釋器會在運行時自動推斷變量的類型。以下是聲明并初始化變量的基本步驟:

選擇一個符合命名規(guī)則的變量名:變量名可以包含字母撒妈、數(shù)字和下劃線恢暖,但不能以數(shù)字開頭,也不能是Python的關(guān)鍵字狰右。
使用賦值運算符(=)為變量賦值:將你想要存儲的數(shù)據(jù)值賦給變量杰捂。
下面是一些聲明并初始化變量的例子:

# 聲明一個整型變量
number = 10

# 聲明一個浮點型變量
pi = 3.14159

# 聲明一個字符串變量
greeting = "Hello, World!"

# 聲明一個布爾型變量
is_valid = True

# 聲明一個列表變量
fruits = ["apple", "banana", "cherry"]

# 聲明一個字典變量
person = {"name": "Alice", "age": 25}

在上述例子中,我們創(chuàng)建了幾個不同類型的變量棋蚌,包括整數(shù)嫁佳、浮點數(shù)、字符串谷暮、布爾值蒿往、列表和字典。Python解釋器根據(jù)賦給變量的值自動確定變量的數(shù)據(jù)類型湿弦。

你也可以在一條語句中聲明多個變量瓤漏,如下所示:

x, y, z = 1, 2, 3

這里,我們同時聲明了三個變量x颊埃、y和z蔬充,并且分別為它們賦了值1、2和3班利。

記住饥漫,Python中的變量就像標簽,你可以隨時為它們分配新的值罗标,甚至可以是不同類型的值庸队,因為Python是動態(tài)類型的。例如:

x = 100  # x是一個整型
x = "text"  # 現(xiàn)在x是一個字符串

在這個例子中馒稍,我們首先給x賦了一個整數(shù)值皿哨,然后又給它賦了一個字符串值。Python解釋器會根據(jù)最新的賦值來處理變量x纽谒。

三证膨、基本數(shù)據(jù)類型

在Python中,基本數(shù)據(jù)類型可以分為幾個類別鼓黔,包括數(shù)字央勒、序列、映射澳化、集合和布爾值崔步。下面是這些基本數(shù)據(jù)類型的概述:

  1. 數(shù)字
    • 整數(shù) (int):正整數(shù)、0缎谷、負整數(shù)井濒,如1, 0, -10
    • 浮點數(shù) (float):帶小數(shù)的數(shù)字,如3.14, -0.001瑞你。
    • 復數(shù) (complex):實部和虛部組成的數(shù)字酪惭,如1j, 2 + 3j
  2. 序列
    • 字符串 (str):文本數(shù)據(jù)者甲,如"Hello, World!", 'Python'春感。
    • 列表 (list):有序的元素集合,元素可以是不同類型虏缸,如[1, 2, 3], ["a", "b", "c"]鲫懒。
    • 元組 (tuple):不可變的有序元素集合,如(1, 2, 3), ("a", "b", "c")刽辙。
  3. 映射
    • 字典 (dict):鍵值對的集合窥岩,如{"name": "Alice", "age": 25}
  4. 集合
    • 集合 (set):無序且元素唯一的集合扫倡,如{1, 2, 3}, {1.1, 2.2, 3.3}谦秧。
  5. 布爾值
    • 布爾 (bool):邏輯值,只有兩個可能的值:TrueFalse撵溃。

在Python中疚鲤,你可以使用type()函數(shù)來檢查變量的數(shù)據(jù)類型。例如:

x = 100
print(type(x))  # 輸出:<class 'int'>

y = 3.14
print(type(y))  # 輸出:<class 'float'>

z = "Hello"
print(type(z))  # 輸出:<class 'str'>

了解這些基本數(shù)據(jù)類型對于編寫Python代碼非常重要缘挑,因為它們決定了你可以在變量中存儲哪些類型的數(shù)據(jù)集歇,以及你可以對這些數(shù)據(jù)進行哪些操作。

四语淘、數(shù)據(jù)類型的檢測與轉(zhuǎn)換

數(shù)據(jù)類型檢測

在Python中诲宇,你可以使用type()函數(shù)來檢測一個變量的數(shù)據(jù)類型,也可以使用isinstance()函數(shù)來檢查一個變量是否是某個特定類型或從某個類派生而來惶翻。此外姑蓝,如果你需要將變量從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,Python提供了一些內(nèi)置函數(shù)來實現(xiàn)這一目的吕粗。

  • type()函數(shù):返回變量的類型纺荧。
  • isinstance()函數(shù):檢查變量是否是某個類型的實例。
x = 100
print(type(x))  # 輸出:<class 'int'>
print(isinstance(x, int))  # 輸出:True
print(isinstance(x, float))  # 輸出:False

數(shù)據(jù)類型轉(zhuǎn)換

Python提供了多種內(nèi)置函數(shù)來將變量從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型颅筋。這些函數(shù)通常以目標數(shù)據(jù)類型命名宙暇,并可以作為函數(shù)調(diào)用。

  • int():將變量轉(zhuǎn)換為整數(shù)议泵。
  • float():將變量轉(zhuǎn)換為浮點數(shù)占贫。
  • str():將變量轉(zhuǎn)換為字符串。
  • list():將變量轉(zhuǎn)換為列表先口。
  • tuple():將變量轉(zhuǎn)換為元組型奥。
  • set():將變量轉(zhuǎn)換為集合瞳收。
  • dict():將變量轉(zhuǎn)換為字典。
  • bool():將變量轉(zhuǎn)換為布爾值厢汹。
x = "123"
y = int(x)  # 將字符串轉(zhuǎn)換為整數(shù)
print(type(y))  # 輸出:<class 'int'>

z = float(x)  # 將字符串轉(zhuǎn)換為浮點數(shù)
print(type(z))  # 輸出:<class 'float'>

a = [1, 2, 3]
b = tuple(a)  # 將列表轉(zhuǎn)換為元組
print(type(b))  # 輸出:<class 'tuple'>

注意事項

在進行類型轉(zhuǎn)換時缎讼,如果源數(shù)據(jù)無法直接轉(zhuǎn)換為目標類型,可能會引發(fā)錯誤坑匠。例如,嘗試將一個非數(shù)字的字符串轉(zhuǎn)換為整數(shù)會引發(fā)ValueError卧惜。

x = "abc"
y = int(x)  # 嘗試將非數(shù)字字符串轉(zhuǎn)換為整數(shù)厘灼,將引發(fā)ValueError

因此,在進行類型轉(zhuǎn)換之前咽瓷,最好先驗證數(shù)據(jù)是否可以安全地轉(zhuǎn)換為所需的類型设凹。

五、練習與實踐

練習1:創(chuàng)建不同類型的變量并進行簡單操作

# 創(chuàng)建整數(shù)變量
number = 10
number += 5  # 加法操作
print(number)  # 輸出:15

# 創(chuàng)建浮點數(shù)變量
pi = 3.14159
pi *= 2  # 乘法操作
print(pi)  # 輸出:6.28318

# 創(chuàng)建字符串變量
greeting = "Hello, "
name = "World"
full_greeting = greeting + name  # 字符串拼接
print(full_greeting)  # 輸出:Hello, World

# 創(chuàng)建布爾變量
is_valid = True
is_valid = not is_valid  # 邏輯非操作
print(is_valid)  # 輸出:False

練習2:演示不同類型數(shù)據(jù)間的相互轉(zhuǎn)換

# 字符串轉(zhuǎn)換為整數(shù)
str_number = "123"
int_number = int(str_number)
print(type(int_number))  # 輸出:<class 'int'>

# 整數(shù)轉(zhuǎn)換為字符串
int_number = 456
str_number = str(int_number)
print(type(str_number))  # 輸出:<class 'str'>

# 列表轉(zhuǎn)換為元組
list_of_numbers = [1, 2, 3]
tuple_of_numbers = tuple(list_of_numbers)
print(type(tuple_of_numbers))  # 輸出:<class 'tuple'>

# 元組轉(zhuǎn)換為集合
tuple_of_numbers = (4, 5, 6)
set_of_numbers = set(tuple_of_numbers)
print(type(set_of_numbers))  # 輸出:<class 'set'>

練習3:解決簡單實際問題

實際問題1:計算圓的面積

# 給定半徑
radius = 5.0

# 計算面積
area = 3.14159 * radius ** 2
print("圓的面積是:", area)  # 輸出:圓的面積是: 78.53975

實際問題2:判斷一個數(shù)是偶數(shù)還是奇數(shù)

# 給定一個數(shù)
num = 7

# 判斷偶數(shù)或奇數(shù)
if num % 2 == 0:
    print(num, "是偶數(shù)")
else:
    print(num, "是奇數(shù)")  # 輸出:7 是奇數(shù)

通過這些練習茅姜,你可以更好地理解Python中的變量和數(shù)據(jù)類型闪朱,以及如何在不同類型之間進行轉(zhuǎn)換。這些是編寫更復雜程序的基礎钻洒。

六奋姿、Python關(guān)鍵字

False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, 
except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield

這些關(guān)鍵字在Python的語法中扮演著特定的角色,例如:

if素标、elif称诗、else 用于條件判斷。
for头遭、while寓免、break、continue 用于循環(huán)控制计维。
def 用于定義函數(shù)袜香。
class 用于定義類。
try鲫惶、except蜈首、finally、raise 用于異常處理剑按。
import疾就、from 用于模塊導入。
return 用于從函數(shù)返回值艺蝴。
yield 用于生成器函數(shù)中的值生產(chǎn)猬腰。
True、False猜敢、None 是Python中的內(nèi)置常量姑荷。
要查看Python解釋器當前版本的關(guān)鍵字列表盒延,可以使用keyword模塊:

import keyword
print(keyword.kwlist)

七、總結(jié)與展望

1鼠冕、對本章知識點的回顧總結(jié)

本章主要圍繞Python語言學習的基礎知識添寺,特別是變量、數(shù)據(jù)類型懈费、變量命名規(guī)則计露、Python關(guān)鍵字、數(shù)據(jù)類型檢測與轉(zhuǎn)換等主題憎乙。下面是對本章知識點的回顧總結(jié):

  1. 變量
    • 變量是用于存儲數(shù)據(jù)值的標識符票罐。
    • 變量允許我們給數(shù)據(jù)起一個名字,以便在程序中多次引用泞边。
  2. 數(shù)據(jù)類型
    • Python的基本數(shù)據(jù)類型包括數(shù)字(整數(shù)该押、浮點數(shù)、復數(shù))阵谚、序列(字符串蚕礼、列表、元組)梢什、映射(字典)奠蹬、集合和布爾值。
    • 每種數(shù)據(jù)類型都有其特定的用途和操作規(guī)則嗡午。
  3. 變量命名規(guī)則
    • 變量名必須以字母(a-z, A-Z)或下劃線(_)開頭罩润。
    • 變量名可以包含字母、數(shù)字和下劃線翼馆,但不能以數(shù)字開頭割以。
    • 變量名不能是Python的關(guān)鍵字。
  4. Python關(guān)鍵字
    • 關(guān)鍵字是Python語言中具有特殊意義的保留字应媚。
    • 不能將關(guān)鍵字用作變量名或其他標識符严沥。
  5. 數(shù)據(jù)類型檢測與轉(zhuǎn)換
    • 使用type()函數(shù)來檢測變量的數(shù)據(jù)類型。
    • 使用isinstance()函數(shù)來檢查變量是否是某個特定類型或從某個類派生而來中姜。
    • Python提供了多種內(nèi)置函數(shù)來將變量從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型消玄,例如int(), float(), str(), list(), tuple(), set(), dict()bool()
  6. 練習與實踐
    • 通過創(chuàng)建不同類型的變量并進行簡單操作來實踐丢胚。
    • 編寫代碼片段來演示不同類型數(shù)據(jù)間的相互轉(zhuǎn)換翩瓜。
    • 解決一些簡單的實際問題,以鞏固對變量和數(shù)據(jù)類型的理解携龟。

理解這些基礎知識對于深入學習Python至關(guān)重要兔跌。它們構(gòu)成了編寫有效、高效和可維護代碼的基礎峡蟋。

2坟桅、展望

Python語言學習第4天_控制結(jié)構(gòu):條件語句與循環(huán)

本文是轉(zhuǎn)載文章 珩小派华望,版權(quán)歸原作者所有。建議訪問原文仅乓,轉(zhuǎn)載本文請聯(lián)系原作者赖舟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市夸楣,隨后出現(xiàn)的幾起案子宾抓,更是在濱河造成了極大的恐慌,老刑警劉巖豫喧,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洞慎,死亡現(xiàn)場離奇詭異,居然都是意外死亡嘿棘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門旭绒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸟妙,“玉大人,你說我怎么就攤上這事挥吵≈馗福” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵忽匈,是天一觀的道長房午。 經(jīng)常有香客問我,道長丹允,這世上最難降的妖魔是什么郭厌? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮雕蔽,結(jié)果婚禮上折柠,老公的妹妹穿的比我還像新娘。我一直安慰自己批狐,他們只是感情好扇售,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嚣艇,像睡著了一般承冰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上食零,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天困乒,我揣著相機與錄音,去河邊找鬼贰谣。 笑死顶燕,一個胖子當著我的面吹牛凑保,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涌攻,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼欧引,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恳谎?” 一聲冷哼從身側(cè)響起芝此,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎因痛,沒想到半個月后婚苹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鸵膏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年膊升,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谭企。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡廓译,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出债查,到底是詐尸還是另有隱情非区,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布盹廷,位于F島的核電站征绸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏俄占。R本人自食惡果不足惜管怠,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缸榄。 院中可真熱鬧排惨,春花似錦、人聲如沸碰凶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欲低。三九已至辕宏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砾莱,已是汗流浹背瑞筐。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腊瑟,地道東北人聚假。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓块蚌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親膘格。 傳聞我的和親對象是個殘疾皇子峭范,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容