搜尋
首頁後端開發Python教學Python中基本資料型別和常用語法有哪些

    整數

    在Python中,整數(integer)是一種內建資料類型,用來表示整數值。 Python中的整數型別可以表示任意大小的整數,而不需要考慮電腦字長的限制。這是因為Python會自動根據需要調整整數類型的位數,以便可以儲存任意大小的整數。

    以下是一些整數的範例:

    x = 42          # 整数常量
    y = -123        # 负整数常量
    z = 0           # 零
    #除法操作返回的结果可以是整数或浮点数,具体取决于操作数的类型和结果。如果除法的操作数都是整数,则结果为整数,如果有一个操作数是浮点数,则结果为浮点数。
    x = 10
    y = 3
    print(x + y)      # 输出结果为13
    print(x / y)      # 输出结果为3.3333333333333335
    #在上面的示例中,我们定义了两个整数x和y,然后对它们进行了加法和除法操作,并打印了结果。注意,除法操作返回的结果是一个浮点数,而不是整数。如果要将结果转换为整数,可以使用`int()`函数进行转换。例如:
    x = 10
    y = 3
    result = int(x / y)
    print(result)      # 输出结果为3

    在Python中,對於大數字的表示,可以直接使用整數或長整數(long integer),不需要使用科學計數法。

    在Python 2.x 中,整數型的大小是有限制的,最大值是 2^31 - 1,如果需要表示更大的整數,可以使用長整型。 Long integers have no size limitation when represented, as they can automatically adjust their size to fit the required precision.。可以使用 "L" 後綴將一個整數位面量標記為長整型,例如:12345678901234567890L。

    Python 3.x 中,整數不再有值的大小限制,可以直接表示極大的整數,而不需要使用長整數型。在Python 3.x 中,長整型已經被整合到普通的整型中,因此在表示大數字時,不需要任何額外的標記或語法。

    例如,在Python中可以這樣表示一個非常大的整數:

    x = 123456789012345678901234567890

    空值

    當談到Python中的空值時,我們可以將其看作是一個佔位符,用來表示沒有值或空值。

    在Python中,空值由一個內建物件 None 表示,這個物件是特殊的,可以用作任何類型的佔位符。當變數未賦值或函數傳回值需要一個佔位符時,我們通常使用None來表示空值。以下是一個簡單的範例,展示如何使用None

    x = None      # 将变量x设置为None
    y = 10        # 将变量y设置为一个整数值
    z = None      # 将变量z设置为None
    
    if x is None:
        print("x is None")
    else:
        print("x is not None")

    在上面的範例中,我們首先將變數xz設定為None。然後,我們使用is運算子檢查變數x是否為None。由於x確實是None,所以條件if x is None成立,印出"x is None"。相反,如果變數x包含任何其他值(例如整數值),則該條件將不成立。

    要注意的是,None不同於空字串或空列表。空字串表示沒有字符,而空列表表示沒有元素。相較之下,None是一個對象,它表示沒有值或空值。因此,在編寫Python程式碼時,應該正確理解並使用None,以避免混淆和錯誤。

    浮點數

    在Python中,浮點數是一種內建資料類型,用來表示實數。與整數類型不同的是,浮點數是近似值,而不是精確值。這是因為Python採用了雙精度浮點數格式來表示浮點數,這種格式可以表示非常大和非常小的數字,但由於近似性和捨去誤差,會導致一些精度問題。因此,當使用浮點數時,需要注意捨入誤差和精確度問題。

    在Python中,可以使用小數點來表示浮點數,也可以使用科學數數法。例如,以下是一些浮點數的範例:

    x = 3.14159      # 浮点数常量
    y = -0.0001      # 负浮点数常量
    z = 2.0e-6       # 科学计数法表示的浮点数(0.000002)
    #Python中的浮点数可以执行各种算术操作,如加法、减法、乘法和除法等。下面是一个简单的示例,计算三个浮点数之和:
    x = 0.1
    y = 0.2
    z = 0.3
    print(x + y + z)   # 输出结果为0.6000000000000001
    #Python中的浮点数可以执行各种算术操作,如加法、减法、乘法和除法等。下面是一个简单的示例,计算三个浮点数之和:
    x = 0.1
    y = 0.2
    z = 0.3
    print(x + y + z)   # 输出结果为0.6000000000000001
    #在上面的示例中,我们计算三个浮点数之和,并打印结果。然而,输出结果并不是期望的0.6,而是一个近似值0.6000000000000001。这是由于浮点数的近似性和舍入误差导致的。为了避免这种问题,我们可以使用`round()`函数对浮点数进行四舍五入,以便得到更精确的结果。例如:
    x = 0.1
    y = 0.2
    z = 0.3
    result = round(x + y + z, 2)   # 对浮点数进行四舍五入,并保留两位小数
    print(result)   # 输出结果为0.6

    在上面的範例中,我們使用round()函數對浮點數進行四捨五入,並保留兩位小數。然後,我們印出結果,得到期望的0.6。

    與、或、非,運算子

    Python中的邏輯運算子有三種:與運算子(and)、或運算(or)和非運算(not)。這些邏輯運算子可以用於布林類型的值(True或False),也可以用於其他類型的值。

    用法如下:

    #1.  与运算
    #与运算(`and`)用于判断两个条件是否都为True。如果两个条件都为True,则返回True,否则返回False。以下是与运算的一些示例:
    x = 5
    y = 10
    result = x < 10 and y > 5
    print(result)      # 输出结果为True
    #在上面的示例中,我们使用与运算符`and`判断两个条件是否都为True,并打印了结果
    #2.  或运算
    #或运算(`or`)用于判断两个条件中是否有至少一个为True。如果两个条件都为False,则返回False,否则返回True。以下是或运算的一些示例:
    x = 5
    y = 10
    result = x < 10 or y < 5
    print(result)      # 输出结果为True
    #在上面的示例中,我们使用或运算符`or`判断两个条件中是否有至少一个为True,并打印了结果。
    #3.  非运算
    #非运算(`not`)用于对一个条件进行取反操作,如果条件为True,则返回False,如果条件为False,则返回True。以下是非运算的一些示例:
    x = 5
    result = not x > 10
    print(result)      # 输出结果为True
    #在上面的示例中,我们使用非运算符`not`对一个条件进行取反操作,并打印了结果。
    #总之,在Python中,逻辑运算符可以用于布尔类型的值(True或False),也可以用于其他类型的值。这些逻辑运算符包括与运算(`and`)、或运算(`or`)和非运算(`not`),可以用于各种逻辑操作中。

    字元編碼

    因為電腦是老外發明的,最初只能辨識大小寫英文字母、數字和一些符號,這些是透過ASCII 編碼實現的,如下圖所示B的編碼是66,1的編碼是49;

    隨著電腦和網路的發展,全球各國都要使用,ASCII 編碼顯然不足以表示中文等其他字符,這個過程中中國製定了GB2312, 韓國製定了Euc-kr 等自己的編碼格式,為了防止衝突,後來誕生了Unicode 字元集,它把所有的編碼都統一起來,解決了編碼衝突導致的亂碼問題,後來又衍生出了更節約成本的「可變長編碼」 UTF- 8 編碼。

    我們整理下ASCII, Unicode, UTF-8 的差異:

    ASCII、UnicodeUTF-8 都是字元編碼的標準,用於將字元轉換為二進位數字以便電腦處理。它們之間的主要區別在於編碼的方式和能夠表示的字元集。

    ASCII是一种最早的字符编码标准,它定义了 128 个字符,包括英文字母、数字和一些标点符号等基本符号。ASCII采用7位二进制编码表示字符,可以表示的字符范围是 0-127。

    Unicode是一种用于表示字符集的标准,它定义了世界上几乎所有的字符集,包括中文、日文、韩文等各种语言的字符。Unicode使用32位二进制编码表示字符,可以表示的字符范围非常广泛,包括标点符号、表情符号、数学符号等等。

    UTF-8Unicode 的一种编码方式,它是一种可变长度编码方式,能够表示Unicode中的任何字符,包括中文、日文、韩文等各种语言的字符。UTF-8对于英文字母、数字和常用符号等ASCII字符只需1个字节编码,比较节省空间。在UTF-8编码中,使用1个字节表示0-127范围内的字符,2个字节表示 128-2047 范围内的字符,3个字节表示 2048-65535 范围内的字符,4个字节表示 65536-1114111 范围内的字符。

    总的来说,ASCII是最基本的字符编码方式,Unicode扩展了字符集的范围,而UTF-8则是Unicode的一种编码方式,具有可变长度编码和兼容ASCII编码的优点,因此被广泛应用于互联网和计算机系统中。

    Python中基本資料型別和常用語法有哪些

    字符串

    了解了字符编码,我们再来看字符串,Python中,字符串是一个不可变的序列(Sequence),用于表示一段字符序列, 采用 Unicode 编码方式,因此可以表示世界上几乎所有的字符。

    #Python中的字符串可以用单引号、双引号或三引号来表示
    str1 = &#39;Hello, world!&#39;  # 使用单引号
    str2 = "Hello, world!"  # 使用双引号
    str3 = &#39;&#39;&#39;Hello, 
              world!&#39;&#39;&#39;     # 使用三引号表示多行字符串
    #字符串是不可变的,也就是说,一旦定义了一个字符串,就不能再修改它的值,只能重新定义一个新的字符串。
    str1 = &#39;Hello, world!&#39;
    str1[0] = &#39;h&#39;  # 错误,字符串不可变
    ##Python中的字符串支持各种常见的操作,例如字符串连接、字符串切片、字符串查找、大小写转换等等。例如:
    str1 = &#39;Hello, &#39;
    str2 = &#39;world!&#39;
    str3 = str1 + str2  # 字符串连接
    print(str3)  # 输出:Hello, world!
    str4 = &#39;hello, world!&#39;
    print(str4[0:5])  # 输出:hello,字符串切片
    print(str4.find(&#39;world&#39;))  # 输出:7,查找字符串中子串的位置
    print(str4.upper())  # 输出:HELLO, WORLD!,将字符串转换为大写
    #Python中的字符串非常灵活,可以通过各种操作来实现字符串的处理和转换。同时,Python也提供了丰富的字符串处理库,例如正则表达式库re,可以更加高效和方便地处理字符串。

    列表(list), 元祖(tuple)

    python 中提供了 list 和 tuple 来表示有序集合,其区别是 list 可修改,tuple (元祖)一旦初始化就不能修改;

    详细介绍如下:

    list

    在Python中,数组通常用列表(list)来表示。列表是一种有序的可变序列,它可以存储任意类型的元素。列表的索引从0开始,可以通过索引访问和修改元素。以下是一个示例:

    #1. 创建列表
    #可以使用方括号 [] 或 list() 函数创建一个新的列表
    my_list = [1, 2, 3, "hello"]
    another_list = list(range(5))
    #2. 访问列表元素
    #可以使用索引来访问列表中的元素,索引从0开始。也可以使用负数索引从列表末尾开始倒数访问元素
    print(my_list[0])  # 输出 1
    print(my_list[-1])  # 输出 "hello"
    #3. 切片操作
    ##可以使用切片操作访问列表的子序列,切片操作的语法为 start:end:step
    print(my_list[1:3])  # 输出 [2, 3]
    print(my_list[:2])  # 输出 [1, 2]
    print(my_list[::2])  # 输出 [1, 3]
    #4. 修改列表
    #可以使用索引来修改列表中的元素,也可以使用切片操作修改多个元素
    my_list[0] = "new value"
    my_list[1:3] = [4, 5]
    &#39;&#39;&#39;5. 列表方法
    Python列表提供了许多有用的方法来操作列表,例如:
    - `append()` 在列表末尾添加一个元素
    - `extend()` 将一个列表的元素添加到另一个列表的末尾
    - `insert()` 在指定索引处插入一个元素
    - `remove()` 删除列表中第一个匹配的元素
    - `pop()` 删除并返回指定索引处的元素
    - `index()` 返回指定元素在列表中第一次出现的索引
    - `count()` 返回指定元素在列表中出现的次数
    - `sort()` 对列表进行排序
    - `reverse()` 将列表反转
    &#39;&#39;&#39;
    my_list.append("new element")
    my_list.extend([6, 7])
    my_list.insert(1, "new element at index 1")
    my_list.remove("hello")
    popped_element = my_list.pop(2)
    index_of_element = my_list.index("new element")
    count_of_element = my_list.count(2)
    my_list.sort()
    my_list.reverse()
    #6. 复制列表
    ##可以使用切片操作或者 `copy()` 方法来复制一个列表
    my_list_copy = my_list[:]
    my_list_copy = my_list.copy()
    #7.获取列表长度
    #可以使用 `len()` 函数获取一个列表的长度,即其中元素的个数
    print(len(my_list))  # 输出 4

    tuple

    在Python中,元组(tuple)是一个不可变(immutable)的序列,类似于列表(list),不同之处在于元组的元素不能被修改,添加或删除。元组可以包含任何类型的对象,包括其他元组。

    可以使用圆括号 () 或者 tuple() 函数来创建一个元组。

    #1. 创建:
    my_tuple = (1, 2, 3, "hello")
    another_tuple = tuple(range(5))
    #2. 访问元组元素
    #可以使用索引来访问元组中的元素,索引从0开始。也可以使用负数索引从元组末尾开始倒数访问元素。
    print(my_tuple[0])  # 输出 1
    print(my_tuple[-1])  # 输出 "hello"
    #3. 切片操作
    #可以使用切片操作访问元组的子序列,切片操作的语法为 start:end:step。
    print(my_tuple[1:3])  # 输出 (2, 3)
    print(my_tuple[:2])  # 输出 (1, 2)
    print(my_tuple[::2])  # 输出 (1, 3)
    #4. 复制元组
    #由于元组是不可变的,所以不能像列表那样使用切片操作来复制一个元组。可以使用 `tuple()` 函数或者直接将一个元组赋值给另一个变量来复制一个元组,例如:
    my_tuple_copy = tuple(my_tuple)
    another_tuple = my_tuple
    #5. 元组解包
    #元组可以使用比较运算符进行比较,比较的规则是从左到右依次比较元组中的每一个元素,直到发现不相等的元素或者所有元素都比较完毕
    (1, 2) < (1, 3)  # 返回 True
    (1, 2) == (2, 1)  # 返回 False

    条件判断

    可以使用条件判断语句来根据某个条件来执行不同的代码,Python中的条件判断语句使用 ifelifelse 关键字

    score = float(input("请输入分数:"))
    if score >= 90:
        grade = "A"
    elif score >= 80:
        grade = "B"
    elif score >= 70:
        grade = "C"
    elif score >= 60:
        grade = "D"
    else:
        grade = "E"
    print("你的等级是:", grade)

    除了 if 语句,Python还提供了一些其他的条件语句和表达式,如 while 循环和 for 循环,以及 andornot 等逻辑运算符。这些都是Python编程中非常基础的知识点,需要学习掌握。

    循环

    python 有两种基本的循环方式, for in 和 while, 基本用法如下

    #1. for in 循环示例:
    my_list = [1, 2, 3, 4, 5]
    for num in my_list:
        print(num)
    #2. while 循环示例
    n = int(input("请输入一个整数:"))
    factorial = 1
    while n > 0:
        factorial *= n
        n -= 1
    print(factorial)

    除了 forwhile 循环之外,Python 还提供了一些高级的循环控制语句,如 breakcontinueelse 等,这些语句能够使循环更加灵活。

    for 循环怎么获取下标?

    可以使用 enumerate() 函数来在 for 循环中同时获取元素和它的索引。enumerate() 函数返回一个枚举对象,其中每个元素都是一个元组,包含两个元素:索引和对应的元素值。

    my_list = ["apple", "banana", "orange"]
    
    for i, fruit in enumerate(my_list):
        print(i, fruit)
    
    # 0 apple
    # 1 banana
    # 2 orange

    字典 (dict)

    Python 中的字典(dict)是一种无序、可变的数据类型,相当于其他语言中的 map, 用于存储键值对。

    下面是一个简单的字典示例:

    my_dict = {&#39;apple&#39;: 3, &#39;banana&#39;: 2, &#39;orange&#39;: 4}
    &#39;&#39;&#39;字典有许多常用的操作,包括:
    1.  访问元素:可以通过键来访问字典中的值,例如 `my_dict[&#39;apple&#39;]` 将返回 3。
    2.  修改元素:可以通过键来修改字典中的值,例如 `my_dict[&#39;banana&#39;] = 5` 将把 `banana` 的值修改为 5。
    3.  添加元素:可以使用赋值语句来添加新的键值对,例如 `my_dict[&#39;grape&#39;] = 6` 将添加一个新的键值对 `grape: 6`。
    4.  删除元素:可以使用 `del` 语句来删除键值对,例如 `del my_dict[&#39;orange&#39;]` 将删除键为 `orange` 的键值对。
    5.  遍历元素:可以使用 `for` 循环来遍历字典中的键值对,例如:&#39;&#39;&#39;
       for key, value in my_dict.items():
        print(key, value)
    #6. 获取键、值、键值对的列表:可以使用 `keys()`、`values()` 和 `items()` 方法来分别获取所有键、所有值和所有键值对的列表。例如:
      keys = my_dict.keys()
    	values = my_dict.values()
    	items = my_dict.items()
    #注意,`keys()`、`values()` 和 `items()` 方法返回的是视图对象,而不是列表。如果需要将其转换为列表,可以使用 `list()` 函数来转换。

    集合(set)

    集合(set)是一种无序、可变的数据类型,用于存储一组唯一的对象,集合不允许重复元素,而且是无序的,即不支持通过索引来访问元素,集合可以用花括号 {}set() 函数来创建。

    #1.创建集合:
    my_set = {1, 2, 3}
    my_set = set([1, 2, 3])
    #2.添加元素
    my_set.add(4)
    my_set.update([4, 5, 6])
    #3.删除元素
    my_set.remove(4)
    my_set.discard(5)
    my_set.pop()
    #4.清空集合
    my_set.clear()
    #5.判断元素是否在集合中
    if 1 in my_set:
        print(&#39;1 is in the set&#39;)
    #6.求交集、并集、差集
    set1 = {1, 2, 3}
    set2 = {2, 3, 4}
    intersection = set1 & set2 # 求交集
    union = set1 | set2 # 求并集
    difference = set1 - set2 # 求差集
    #7.遍历集合
    for item in my_set:
        print(item)

    以上是Python中基本資料型別和常用語法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
    Python的科學計算中如何使用陣列?Python的科學計算中如何使用陣列?Apr 25, 2025 am 12:28 AM

    Arraysinpython,尤其是Vianumpy,ArecrucialInsCientificComputingfortheireftheireffertheireffertheirefferthe.1)Heasuedfornumerericalicerationalation,dataAnalysis和Machinelearning.2)Numpy'Simpy'Simpy'simplementIncressionSressirestrionsfasteroperoperoperationspasterationspasterationspasterationspasterationspasterationsthanpythonlists.3)inthanypythonlists.3)andAreseNableAblequick

    您如何處理同一系統上的不同Python版本?您如何處理同一系統上的不同Python版本?Apr 25, 2025 am 12:24 AM

    你可以通過使用pyenv、venv和Anaconda來管理不同的Python版本。 1)使用pyenv管理多個Python版本:安裝pyenv,設置全局和本地版本。 2)使用venv創建虛擬環境以隔離項目依賴。 3)使用Anaconda管理數據科學項目中的Python版本。 4)保留系統Python用於系統級任務。通過這些工具和策略,你可以有效地管理不同版本的Python,確保項目順利運行。

    與標準Python陣列相比,使用Numpy數組的一些優點是什麼?與標準Python陣列相比,使用Numpy數組的一些優點是什麼?Apr 25, 2025 am 12:21 AM

    numpyarrayshaveseveraladagesoverandastardandpythonarrays:1)基於基於duetoc的iMplation,2)2)他們的aremoremoremorymorymoremorymoremorymoremorymoremoremory,尤其是WithlargedAtasets和3)效率化,效率化,矢量化函數函數函數函數構成和穩定性構成和穩定性的操作,製造

    陣列的同質性質如何影響性能?陣列的同質性質如何影響性能?Apr 25, 2025 am 12:13 AM

    數組的同質性對性能的影響是雙重的:1)同質性允許編譯器優化內存訪問,提高性能;2)但限制了類型多樣性,可能導致效率低下。總之,選擇合適的數據結構至關重要。

    編寫可執行python腳本的最佳實踐是什麼?編寫可執行python腳本的最佳實踐是什麼?Apr 25, 2025 am 12:11 AM

    到CraftCraftExecutablePythcripts,lollow TheSebestPractices:1)Addashebangline(#!/usr/usr/bin/envpython3)tomakethescriptexecutable.2)setpermissionswithchmodwithchmod xyour_script.3)

    Numpy數組與使用數組模塊創建的數組有何不同?Numpy數組與使用數組模塊創建的數組有何不同?Apr 24, 2025 pm 03:53 PM

    numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

    Numpy數組的使用與使用Python中的數組模塊陣列相比如何?Numpy數組的使用與使用Python中的數組模塊陣列相比如何?Apr 24, 2025 pm 03:49 PM

    numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

    CTYPES模塊與Python中的數組有何關係?CTYPES模塊與Python中的數組有何關係?Apr 24, 2025 pm 03:45 PM

    ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    PhpStorm Mac 版本

    PhpStorm Mac 版本

    最新(2018.2.1 )專業的PHP整合開發工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3 Linux新版

    SublimeText3 Linux新版

    SublimeText3 Linux最新版

    mPDF

    mPDF

    mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    將Eclipse與SAP NetWeaver應用伺服器整合。