欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python變量與數(shù)據(jù)類型全解析(最新整理)

 更新時(shí)間:2025年06月20日 14:42:59   作者:橘子編程  
文章介紹Python變量作為數(shù)據(jù)載體,命名需遵循字母數(shù)字下劃線規(guī)則,不可數(shù)字開頭,大小寫敏感,避免關(guān)鍵字,本文給大家介紹Python變量與數(shù)據(jù)類型全解析,感興趣的朋友一起看看吧

1、變量

變量是數(shù)據(jù)的載體,簡單的說就是一塊用來保存數(shù)據(jù)的內(nèi)存空間,變量的值可以被讀取和修改,這是所有運(yùn)算和控制的基礎(chǔ)。

變量命名規(guī)范

在 Python 中,變量命名需要遵循以下的規(guī)則和慣例。

規(guī)則部分:

規(guī)則1:變量名由字母、數(shù)字和下劃線構(gòu)成,數(shù)字不能開頭。需要說明的是,這里說的字母指的是 Unicode 字符,Unicode 稱為萬國碼,囊括了世界上大部分的文字系統(tǒng),這也就意味著中文、日文、希臘字母等都可以作為變量名中的字符,但是一些特殊字符(如:!、@、#等)是不能出現(xiàn)在變量名中的。我們強(qiáng)烈建議大家把這里說的字母理解為盡可能只使用英文字母。

規(guī)則2:Python 是大小寫敏感的編程語言,簡單的說就是大寫的A和小寫的a是兩個(gè)不同的變量,這一條其實(shí)并不算規(guī)則,而是需要大家注意的地方。

規(guī)則3:變量名不要跟 Python 的關(guān)鍵字重名,盡可能避開 Python 的保留字。這里的關(guān)鍵字是指在 Python 程序中有特殊含義的單詞(如:is、if、else、for、while、True、False等),保留字主要指 Python 語言內(nèi)置函數(shù)、內(nèi)置模塊等的名字(如:int、print、input、str、math、os等)。

Python數(shù)據(jù)類型

1、基本數(shù)據(jù)類型

數(shù)值類型(Number):

  • int: 整數(shù),如10-50
  • float: 浮點(diǎn)數(shù),如3.14-0.0012.0
  • complex: 復(fù)數(shù),如1+2j3-4j
a = 10         # int
b = 3.14       # float
c = 1 + 2j     # complex
print(a, b, c)

整型(int):Python 中可以處理任意大小的整數(shù),而且支持二進(jìn)制(如0b100,換算成十進(jìn)制是4)、八進(jìn)制(如0o100,換算成十進(jìn)制是64)、十進(jìn)制(100)和十六進(jìn)制(0x100,換算成十進(jìn)制是256)的表示法。

print(0b100)  # 二進(jìn)制整數(shù)
print(0o100)  # 八進(jìn)制整數(shù)
print(100)    # 十進(jìn)制整數(shù)
print(0x100)  # 十六進(jìn)制整數(shù)

浮點(diǎn)型(float):浮點(diǎn)數(shù)也就是小數(shù),之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)記數(shù)法表示時(shí),一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的,浮點(diǎn)數(shù)除了數(shù)學(xué)寫法(如123.456)之外還支持科學(xué)計(jì)數(shù)法(如1.23456e2

print(123.456)    # 數(shù)學(xué)寫法
print(1.23456e2)  # 科學(xué)計(jì)數(shù)法

復(fù)數(shù)(complex)是Python中的一種數(shù)字類型,用于表示數(shù)學(xué)中的復(fù)數(shù)。復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成,

a = 3 + 4j      # 復(fù)數(shù) 3+4i
e = complex(2, 3)    # 2+3j
f = complex(4)       # 4+0j
g = complex('5+6j')  # 從字符串創(chuàng)建 5+6j
print(a, e, f, g)

布爾類型(bool)

布爾型(bool):布爾型只有True、False兩種值,要么是True,要么是False,可以用來表示現(xiàn)實(shí)世界中的“是”和“否”,命題的“真”和“假”,狀況的“好”與“壞”,水平的“高”與“低”等等。如果一個(gè)變量的值只有兩種狀態(tài),我們就可以使用布爾型。

is_active = True
is_admin = False
print(is_active, is_admin)
print(is_active and is_admin)

字符串(str)

字符串型(str):字符串是以單引號或雙引號包裹起來的任意文本,比如'hello'"hello",使用反斜杠 \ 轉(zhuǎn)義特殊字符,三引號''' '''/""" """包圍也是字符串

s1 = 'hello'
s2 = "world"
s3 = '''多行
字符串'''
print(s1, s2, s3)

2、復(fù)合數(shù)據(jù)類型

(1) 列表(list)

特點(diǎn):

  • 有序的可變序列
  • 用方括號[]表示
  • 可以包含不同類型的元素
  • 允許重復(fù)元素
# 創(chuàng)建列表
fruits = ['apple', 'banana', 'cherry']
numbers = [1, 2, 3, 4, 5]
mixed = [1, 'a', True, 3.14]
# 訪問元素
print(fruits[0])    # 'apple' (正向索引從0開始)
print(fruits[-1])   # 'cherry' (負(fù)索引表示從后往前)
# 修改元素
fruits[1] = 'blueberry'
print(fruits)       # ['apple', 'blueberry', 'cherry']
# 切片操作
print(numbers[1:3]) # [2, 3] (獲取索引1到2的元素)
print(numbers[:2])  # [1, 2] (從開始到索引1)
print(numbers[2:])  # [3, 4, 5] (從索引2到結(jié)束)
# 常用方法
fruits.append('orange')      # 末尾添加
fruits.insert(1, 'pear')     # 指定位置插入
fruits.remove('apple')       # 刪除指定元素
popped = fruits.pop(2)       # 刪除并返回指定索引元素
fruits.sort()                # 排序(原地修改)
sorted_fruits = sorted(fruits)  # 返回新排序列表

實(shí)際案例:學(xué)生成績管理:

# 初始化學(xué)生成績列表
grades = [85, 90, 78, 92, 88]
# 添加新成績
grades.append(95)
print("添加后:", grades)  # [85, 90, 78, 92, 88, 95]
# 計(jì)算平均分
average = sum(grades) / len(grades)
print("平均分:", average)
# 找出最高分和最低分
print("最高分:", max(grades))
print("最低分:", min(grades))
# 排序成績
grades.sort(reverse=True)
print("降序排列:", grades)

(2) 元組(tuple)

特點(diǎn):

  • 有序的不可變序列
  • 用圓括號()表示
  • 可以包含不同類型的元素
  • 一旦創(chuàng)建不能修改
# 創(chuàng)建元組
colors = ('red', 'green', 'blue')
coordinates = (10.5, 20.3)
single_element = (42,)  # 注意逗號,區(qū)分(42)是整數(shù)
# 訪問元素
print(colors[1])     # 'green'
print(coordinates[0]) # 10.5
# 切片操作
print(colors[:2])    # ('red', 'green')
# 元組解包
x, y = coordinates
print(f"x: {x}, y: {y}")  # x: 10.5, y: 20.3
# 不可變性嘗試(會報(bào)錯(cuò))
# colors[1] = 'yellow'  # TypeError
# 元組連接
new_tuple = colors + ('yellow', 'black')
print(new_tuple)  # ('red', 'green', 'blue', 'yellow', 'black')

實(shí)際案例:RGB顏色處理:

# 定義一組RGB顏色
color1 = (255, 0, 0)    # 紅色
color2 = (0, 255, 0)    # 綠色
color3 = (0, 0, 255)    # 藍(lán)色
# 計(jì)算灰度值函數(shù)
def calculate_grayscale(rgb):
    r, g, b = rgb
    return round(0.299 * r + 0.587 * g + 0.114 * b)
# 計(jì)算各顏色的灰度值
print(f"紅色的灰度值: {calculate_grayscale(color1)}")
print(f"綠色的灰度值: {calculate_grayscale(color2)}")
print(f"藍(lán)色的灰度值: {calculate_grayscale(color3)}")
# 顏色混合函數(shù)
def mix_colors(color_a, color_b, ratio=0.5):
    return tuple(round(a * ratio + b * (1 - ratio)) for a, b in zip(color_a, color_b))
# 混合紅色和藍(lán)色
purple = mix_colors(color1, color3)
print(f"混合紅色和藍(lán)色得到: {purple}")  # (128, 0, 128)

(3) 集合(set)

特點(diǎn):

  • 無序的不重復(fù)元素集
  • 用花括號{}表示(但空集合必須用set())
  • 可變集合(set)和不可變集合(frozenset)兩種
  • 支持?jǐn)?shù)學(xué)集合運(yùn)算
# 創(chuàng)建集合
unique_numbers = {1, 2, 3, 3, 4}  # 實(shí)際為{1, 2, 3, 4}
letters = set('hello')             # {'h', 'e', 'l', 'o'}
empty_set = set()                  # 空集合(不能用{},這是空字典)
# 添加/刪除元素
unique_numbers.add(5)
unique_numbers.remove(2)  # 如果元素不存在會報(bào)錯(cuò)
unique_numbers.discard(10)  # 安全刪除,不存在也不報(bào)錯(cuò)
popped = unique_numbers.pop()  # 隨機(jī)刪除并返回一個(gè)元素
# 集合運(yùn)算
a = {1, 2, 3}
b = {2, 3, 4}
print(a | b)  # 并集 {1, 2, 3, 4}
print(a & b)  # 交集 {2, 3}
print(a - b)  # 差集 {1}
print(a ^ b)  # 對稱差集 {1, 4}
# 集合推導(dǎo)式
squares = {x**2 for x in range(5)}
print(squares)  # {0, 1, 4, 9, 16}

實(shí)際案例:數(shù)據(jù)分析

# 兩個(gè)班級的學(xué)生
class_a = {'Alice', 'Bob', 'Charlie', 'David'}
class_b = {'Charlie', 'David', 'Eve', 'Frank'}
# 找出同時(shí)在兩個(gè)班級的學(xué)生
both_classes = class_a & class_b
print("同時(shí)在兩個(gè)班級的學(xué)生:", both_classes)
# 找出只在A班的學(xué)生
only_a = class_a - class_b
print("只在A班的學(xué)生:", only_a)
# 所有不重復(fù)的學(xué)生
all_students = class_a | class_b
print("所有學(xué)生:", all_students)
# 添加新學(xué)生
class_a.add('Grace')
print("更新后的A班:", class_a)
# 檢查學(xué)生是否存在
print("Alice在A班嗎?", 'Alice' in class_a)
print("Eve在A班嗎?", 'Eve' in class_a)

(4) 字典(dict)

特點(diǎn):

  • 鍵值對集合
  • 用花括號{}表示,鍵值對用:分隔
  • 鍵必須是不可變類型,值可以是任意類型
  • 從Python 3.7開始保持插入順序
# 創(chuàng)建字典
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
grades = {'math': 90, 'english': 85, 'history': 88}
empty_dict = {}
# 訪問元素
print(person['name'])  # 'Alice'
print(grades.get('math', 0))  # 90 (get方法可設(shè)置默認(rèn)值)
# 添加/修改元素
person['email'] = 'alice@example.com'  # 添加
grades['math'] = 95  # 修改
# 刪除元素
del person['city']
popped_value = grades.pop('english')  # 刪除并返回值
# 常用方法
print(person.keys())    # 所有鍵
print(person.values())  # 所有值
print(person.items())   # 所有鍵值對
# 字典推導(dǎo)式
squares = {x: x**2 for x in range(5)}
print(squares)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

實(shí)際案例:單詞統(tǒng)計(jì)

def word_count(text):
    """統(tǒng)計(jì)文本中單詞出現(xiàn)次數(shù)"""
    word_counts = {}
    # 分割文本為單詞(簡單處理)
    words = text.lower().split()
    for word in words:
        # 去除標(biāo)點(diǎn)符號(簡單處理)
        word = word.strip(".,!?")
        # 更新計(jì)數(shù)
        if word in word_counts:
            word_counts[word] += 1
        else:
            word_counts[word] = 1
    return word_counts
# 測試文本
text = "Hello world! Hello Python. Python is great, isn't it? The world is big."
# 統(tǒng)計(jì)單詞
counts = word_count(text)
# 打印結(jié)果
print("單詞統(tǒng)計(jì)結(jié)果:")
for word, count in sorted(counts.items()):
    print(f"{word}: {count}")
# 找出出現(xiàn)最多的單詞
most_common = max(counts.items(), key=lambda item: item[1])
print(f"\n最常出現(xiàn)的單詞是 '{most_common[0]}',出現(xiàn)了 {most_common[1]} 次")

類型

可變性

有序性

元素要求

表示符號

主要用途

列表(list)

可變

有序

[]

存儲有序數(shù)據(jù)集合,可能修改

元組(tuple)

不可變

有序

()

存儲不應(yīng)修改的有序數(shù)據(jù)

集合(set)

可變

無序

必須可哈希

{}

存儲唯一元素,快速成員檢查

字典(dict)

可變

有序(3.7+)

鍵必須可哈希

{key: value}

存儲鍵值對關(guān)聯(lián)數(shù)據(jù)

到此這篇關(guān)于Python變量與數(shù)據(jù)類型全解析的文章就介紹到這了,更多相關(guān)Python變量與數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用python實(shí)現(xiàn)xml與數(shù)據(jù)庫讀取轉(zhuǎn)換的方法

    利用python實(shí)現(xiàn)xml與數(shù)據(jù)庫讀取轉(zhuǎn)換的方法

    這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)xml與數(shù)據(jù)庫讀取轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Python中的joblib模塊詳解

    Python中的joblib模塊詳解

    這篇文章主要介紹了Python中的joblib模塊詳解,用已知的數(shù)據(jù)集經(jīng)過反復(fù)調(diào)優(yōu)后,訓(xùn)練出一個(gè)較為精準(zhǔn)的模型,想要用來對格式相同的新數(shù)據(jù)進(jìn)行預(yù)測或分類,常見的做法是將其訓(xùn)練好模型封裝成一個(gè)模型文件,直接調(diào)用此模型文件用于后續(xù)的訓(xùn)練,需要的朋友可以參考下
    2023-08-08
  • django xadmin action兼容自定義model權(quán)限教程

    django xadmin action兼容自定義model權(quán)限教程

    這篇文章主要介紹了django xadmin action兼容自定義model權(quán)限教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python爬蟲HTTP代理使用教程詳解

    Python爬蟲HTTP代理使用教程詳解

    在爬蟲開發(fā)中,IP封鎖是開發(fā)者最常遇到的"攔路虎",本文將通過通俗易懂的實(shí)戰(zhàn)教程,帶你掌握HTTP代理的核心技術(shù),從原理到代碼實(shí)現(xiàn),助你輕松繞過反爬機(jī)制,提升數(shù)據(jù)采集效率,需要的朋友可以參考下
    2025-04-04
  • 使用uv管理python虛擬環(huán)境的流程步驟

    使用uv管理python虛擬環(huán)境的流程步驟

    uv是高效Python虛擬環(huán)境管理工具,支持多平臺,可替代pip等,提升性能10倍以上,管理版本與依賴,集成MCP協(xié)議,簡化開發(fā)流程,本文給大家詳細(xì)介紹了如何使用uv管理python虛擬環(huán)境的流程步驟,需要的朋友可以參考下
    2025-06-06
  • 最新評論