日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Pyhton 变量

發(fā)布時(shí)間:2025/5/22 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pyhton 变量 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 Python 中定義變量是 不需要指定類型
數(shù)據(jù)類型可以分位 數(shù)字型 和 非數(shù)字型

  • 數(shù)字型

    • 整型(int)
    • 浮點(diǎn)型(float)
    • 布爾型(bool)
      • 真 true 非 0 數(shù) —— 非零即真
      • 假 False 0
    • 復(fù)數(shù)型(complex)
      • 主要用于科學(xué)計(jì)算
  • 非數(shù)字型

    • 字符串
    • 列表
    • 元組
    • 字典

注:使用 type函數(shù)可以查看一個(gè)變量的類型

  • 在Python 中,所有 非數(shù)字型變量 都支持以下特點(diǎn):
  • 都是一個(gè)序列sequence,
  • 取值 []
  • 遍歷 for in
  • 計(jì)算長度、最大/最小值、比較、刪除
  • 鏈接 + 和重復(fù) *
  • 切片
  • 變量的引用

    • 變量和數(shù)據(jù)都是保存在內(nèi)存中的
    • 在Python 中函數(shù)的參數(shù)傳遞 以及 返回值都是靠引用傳遞的

    在Python中

    • 變量和數(shù)據(jù) 是分開存儲(chǔ)的
    • 數(shù)據(jù)保存在內(nèi)存中的一個(gè)位置
    • 變量中保存著數(shù)據(jù)在內(nèi)存中的地址
    • 變量中記錄數(shù)據(jù)的地址,就叫做引用
    • 使用 id() 函數(shù)可以查看變量中保存數(shù)據(jù)所在的 內(nèi)存地址

    注意:如果變量已經(jīng)被定義,當(dāng)給一個(gè)變量賦值的時(shí)候,本質(zhì)上是 修改了數(shù)據(jù)的引用

    • 變量 不再對(duì)之前的數(shù)據(jù)引用
    • 變量 改為 對(duì)新賦值的數(shù)據(jù)引用

    示例:

    def test(num):print("在函數(shù)內(nèi)部 %d 對(duì)應(yīng)的內(nèi)存地址是 %d" % (num, id(num)))# 1> 定義一個(gè)字符串變量result = "vvcat"print("函數(shù)要返回?cái)?shù)據(jù)的內(nèi)存地址是 %d" % id(result))# 2> 將字符串變量返回,返回的是數(shù)據(jù)的引用,而不是數(shù)據(jù)本身return result# 1. 定義一個(gè)數(shù)字的變量 a = 5# 數(shù)據(jù)的地址本質(zhì)上就是一個(gè)數(shù)字 print("a 變量保存數(shù)據(jù)的內(nèi)存地址是 %d" % id(a))# 2. 調(diào)用 test 函數(shù),本質(zhì)上傳遞的是實(shí)參保存數(shù)據(jù)的引用,而不是實(shí)參保存的數(shù)據(jù) r = test(a) print("%s 的內(nèi)存地址是 %d" % (r, id(r)))

    可變和不可變類型

    • 不可變類型,內(nèi)存中的數(shù)據(jù)不允許被修改:
      • 數(shù)字類型 int, bool, float, complex
      • 字符串 str
      • 元組 tuple
    • 可變類型,內(nèi)存中的數(shù)據(jù)可以被修改:
      • 列表 list
      • 字典 dict

    注:字典的 key 只能使用不可變類型的數(shù)據(jù)
    1.可變類型的數(shù)據(jù)變化,是通過方法來實(shí)現(xiàn)的
    2. 如果給一個(gè)可變類型的變量,賦值了一個(gè)新的數(shù)據(jù),引用會(huì)修改

    • 變量不再對(duì)之前的數(shù)據(jù)引用
    • 變量改為對(duì)新賦值的數(shù)據(jù)引用

    示例:

    # 列表 a = [1, 2, 3] print(id(a))a.append(567) print(a) print(id(a)) # 引用不發(fā)生改變a.remove(3) print(a) print(id(a)) # 引用不發(fā)生改變a.clear() print(a) print(id(a)) # 引用不發(fā)生改變# 字典 d = {"name": "vvcat"} print(d)d["age"] = 15 print(d) print(id(d)) # 引用不發(fā)生改變d.pop("age") print(d) print(id(d)) # 引用不發(fā)生改變d.clear() print(d) print(id(d)) # 引用不發(fā)生改變d = {} # 賦值了一個(gè)新的數(shù)據(jù),引用會(huì)修改 print(id(d))

    哈希(hash)

    • Python 中內(nèi)置頭一個(gè)名字叫做 hash(o)的函數(shù)
      • 接收一個(gè) 不可變類型的數(shù)據(jù)作為參數(shù)
      • 返回 結(jié)果是一個(gè)整數(shù)
    • 哈希是一種算法,其作用就是提取數(shù)據(jù)的特征碼(指紋)
      • 相同的內(nèi)容得到相同的結(jié)果
      • 不同的內(nèi)容得到不同的結(jié)果
    • 在Python中,設(shè)置字典的鍵值對(duì)時(shí),會(huì)首先對(duì) key 進(jìn)行 hash 已決定如何在內(nèi)存中保存字典的數(shù)據(jù),以方便后續(xù)對(duì)字典的操作:增、刪、改、查
      • 鍵值對(duì)的 key 必須是不可變類型數(shù)據(jù)
      • 鍵值對(duì)的 value 可以是任意類型的數(shù)據(jù)

    示例:

    d = {} d["name"] = "vvcat" print(d)d[1] = "整數(shù)" print(d)d[(1,)] = "元組" print(d)# TypeError: unhashable type: 'list' # d[[1, 2, 3]] = "列表" print(d)# TypeError: unhashable type: 'dict' # d[{"n": "xxx"}] = "字典" # print(d)print(hash(1))print(hash("vvcat"))print(hash("vvcat1"))print(hash((1,)))# TypeError: unhashable type: 'list' # print(hash([]))# TypeError: unhashable type: 'dict' # print(hash({}))

    不同類型變量之間的計(jì)算

    1)數(shù)字型變量之間可以直接計(jì)算

    • 在Python中,兩個(gè)數(shù)字型變量是可以直接進(jìn)行 算數(shù)運(yùn)算的
    • 如果變量是 bool 型,在計(jì)算時(shí)
      • True 對(duì)應(yīng)的數(shù)字是 1
      • False 對(duì)應(yīng)的數(shù)字是 0

    整型 + 整型 = 整型
    整型 + 布爾型 = 整型
    整型 + 浮點(diǎn)型 = 浮點(diǎn)型
    浮點(diǎn)型 + 浮點(diǎn)型 = 浮點(diǎn)型
    浮點(diǎn)型 + 布爾型 = 浮點(diǎn)型
    布爾型 + 布爾型 = 整型

    2)字符串變量之間使用 + 拼接字符串

    • 在Python中,字符串之間可以使用 + 拼接生成新的字符串
      例如:
    str1 = "Hello" str2 = "World" str1 + str2 'Hello World'

    3)字符串變量 可以和 整數(shù) 使用 * 重復(fù)拼接相同的字符串

    "-" * 10 '----------'

    4)數(shù)字型變量 和 字符串 之間 不能進(jìn)行其他計(jì)算

    name = "vvcat" x = 5 x + name


    類型錯(cuò)誤:“+” 不支持的操作類型:‘int’ 和 ‘str’

    變量的輸入

    • 在Python 中,如果要獲取用戶在鍵盤上的輸入信息,需要輸入信息,需要使用到 input 函數(shù)

    注:用戶輸入的 任何內(nèi)容 Pyhton 都認(rèn)為是一個(gè)字符串

    5)類型轉(zhuǎn)換函數(shù)

    函數(shù)說明
    int(x)將 x 轉(zhuǎn)換為一個(gè)整數(shù)
    float(x)將 x 轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)

    6)變量的格式化輸出

    • %被稱為 格式化操作符,專門用于處理字符串中的格式
      • 包含 % 的字符串,被稱為 格式化字符串
      • % 和不同 字符連用,不同類型的數(shù)據(jù)需要使用不同的格式化字符
    格式化字符含義
    %s字符串
    %d有符號(hào)十進(jìn)制整數(shù),%06d表示輸出的整數(shù)顯示位數(shù),不足的地方使用0補(bǔ)全, 足夠6位的顯示原有的數(shù)字
    %f浮點(diǎn)數(shù),%.02f 表示小數(shù)點(diǎn)后只顯示兩位
    %%輸出%
    • 語法格式如下:
    print("格式化字符串" % 變量1) print("格式化字符串" % (變量1, 變量2...))

    例如:

    name = "vvcat" print("我的名字叫 %s, 請多多關(guān)照!" % name)# 不足6位的前面 補(bǔ)0,足夠6位的顯示原有的數(shù)字 student_no = 30 print("我的學(xué)號(hào)是 %06d" % student_no)price = 11.2 weight = 5 money = price * weight print("蘋果單價(jià) %.2f 元 / 斤, 購買 %.02f斤, 需要支付 %.02f 元" % (price, weight, money))scale = 0.25 print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))


    Python 關(guān)鍵字查看
    通過以下代碼可以查看 Python 中的關(guān)鍵字

    import keyword print(keyword.kwlist)

    字符串中的轉(zhuǎn)義字符

    • \t 在控制臺(tái)輸出一個(gè) 制表符,協(xié)助在輸出文本時(shí) 垂直方向 保持對(duì)齊
    • \n 在控制臺(tái)輸出一個(gè)換行符

    制表符的功能是在不使用表格的情況下在垂直方向 按列對(duì)齊文本

    轉(zhuǎn)義字符描述
    \\反斜杠符號(hào)
    \’單引號(hào)
    \"雙引號(hào)
    \n換行
    \t橫向字符表
    \r回車

    列表

    1.1 列表的定義
    • List (列表)是 Python 中使用最頻繁的數(shù)據(jù)類型,在其他語言中通常叫做 數(shù)組
    • 專門用于存儲(chǔ)一串信息
    • 列表用 [] 定義,數(shù)據(jù)之間使用,分隔
    • 列表的索引從0開始
      • 索引就是數(shù)據(jù)在列表中的位置編號(hào),索引又可以被稱為下標(biāo)

    注意:從列表中取值時(shí),如果超出索引范圍,程序會(huì)報(bào)錯(cuò)

    1.2列表常用操作:
    • 在 python3中定義一個(gè)列表
      例如:
      str_list = []

    • 列表能夠使用的方法如下:

    序號(hào)分類關(guān)鍵字/函數(shù)/方法說明
    1增加列表.insert(索引,數(shù)據(jù))在指定位置插入數(shù)據(jù)
    列表.append(數(shù)據(jù))在末尾追加數(shù)據(jù)
    列表.extend(列表2)將列表2 的數(shù)據(jù)追加到列表
    2修改列表[索引] = 數(shù)據(jù)修改指定索引的數(shù)據(jù)
    3刪除del 列表[索引]刪除指定索引的數(shù)據(jù)
    列表.remove[數(shù)據(jù)]刪除第一個(gè)出現(xiàn)的指定數(shù)據(jù)
    列表.pop刪除末尾數(shù)據(jù)
    列表.pop(索引)刪除指定索引數(shù)據(jù)
    列表.clear清空列表
    4統(tǒng)計(jì)len(列表)列表長度
    列表.count(數(shù)據(jù))數(shù)據(jù)在列表中出現(xiàn)的次數(shù)
    5排序列表.sort()升序排序
    列表.sort(reverse=True)降序排序
    列表.reverse()逆序、反轉(zhuǎn)

    注:Python 的列表中可以 存儲(chǔ)不同類型的數(shù)據(jù)

    循環(huán)遍歷

    • 遍歷 就是 從頭到尾依次 從 列表 中獲取數(shù)據(jù)
      • 在循環(huán)體內(nèi)部 針對(duì) 每一個(gè)元素,執(zhí)行相同的操作
    • 在 Python 中為了提高列表的遍歷效率,專門提供的 迭代遍歷
    • 使用 for 就能夠?qū)崿F(xiàn)迭代遍歷
    # for 循環(huán)內(nèi)部使用的變量 in 列表 for name in name_list:循環(huán)內(nèi)部針對(duì)列表元素進(jìn)行操作print(name) for 變量 in 集合:循環(huán)體代碼 else:沒有通過break 退出循環(huán),循環(huán)結(jié)束后,會(huì)執(zhí)行的代碼

    例如:

    for num in [1, 2, 3, 4, 5]:print(num)if num == 3:break else:# 如果循環(huán)體內(nèi)部使用 break 退出了循環(huán)# else 下方的代碼就不會(huì)被執(zhí)行print("else 下方的代碼被執(zhí)行了")print("循環(huán)結(jié)束")

    元組

    2.1 元組的定義
    • Tuple(元組)與列表類似,不同之處在于元組的 元素不能修改
      • 元組表示多個(gè)元素組成的序列
    • 用于存儲(chǔ) 一串 信息,數(shù)據(jù)之間使用 ,分隔
    • 元組用()定義
    • 元組的索引從 0 開始
      • 索引就是數(shù)據(jù)在 元組 中的位置編號(hào)

    創(chuàng)建空元組

    tuple_info = ()

    元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào)

    tuple_info = (6, )

    如果在定義元組變量時(shí),元組只包含一個(gè)元素,沒有添加逗號(hào),會(huì)根據(jù)這個(gè)元素的類型,進(jìn)行轉(zhuǎn)換
    例如:

    single_tuple = (6) print(type(single_tuple)) # 輸出結(jié)果為 <class 'int'>
    2.2 元組常用操作
    • 在 python3中定義一個(gè)元組
      例如:
      tuple_info = []

    • 列表能夠使用的方法如下:

    序號(hào)分類關(guān)鍵字/函數(shù)/方法說明
    1查找元組.index(數(shù)據(jù))根據(jù)已知元組的數(shù)據(jù),查找該數(shù)據(jù)在元組中的索引
    2統(tǒng)計(jì)len(元組)元組長度
    元組.count(數(shù)據(jù))數(shù)據(jù)在元組中出現(xiàn)的次數(shù)
    2.3 循環(huán)遍歷
    # for 循環(huán)內(nèi)部使用的變量 in 列表 for item in tuple_info:循環(huán)內(nèi)部針對(duì)元組元素進(jìn)行操作print(item )
    • 在Python中,可以使用 for 循環(huán)遍歷所有非數(shù)字型類型的變量:列表、元組、字典、以及字符串。
    2.4 元組在格式化字符串中的應(yīng)用
    • 格式字符串,格式化字符串后面的()本質(zhì)上就是一個(gè)元組
      例如:
    info_tuple = ("vvcat", 12, 1.45)# 格式化字符串后面的 '()' 本質(zhì)上就是元組 print("%s 年齡是 %d 身高是 %.2f" % info_tuple)info_str = "%s 年齡是 %d 身高是 %.2f" % info_tupleprint(info_str)
    2.5 元組和列表之間的轉(zhuǎn)換
    • 使用 list 函數(shù)可以把元組轉(zhuǎn)換成列表
    list(元組)
    • 使用 tuple 函數(shù)可以把列表轉(zhuǎn)換成元組
    tuple(列表)

    字典

    3.1 字典的定義
    • 字典是 除列表意外 Python之中最靈活的數(shù)據(jù)類型
    • 字典同樣可以用來存儲(chǔ)多個(gè)數(shù)據(jù)類型
      • 通常用于存儲(chǔ) 描述一個(gè) 物體 的相關(guān)信息
    • 和列表的區(qū)別
      • 列表是有序的 對(duì)象集合
      • 字典是無序的對(duì)象集合
    • 字典用 {} 定義
    • 字典使用 鍵值對(duì)存儲(chǔ)數(shù)據(jù),鍵值對(duì)之間使用 ,分隔
      • 鍵 key 是索引
      • 值 value 是數(shù)據(jù)
      • 鍵 和 值 之間使用 :分隔
      • 鍵必須是唯一的
      • 值 可以取任何數(shù)據(jù)類型,但 鍵 只能使用 字符串、數(shù)字或元組
    3.2 字典的增刪改查
    vvcat_dict = {"name": "vv"}# 1. 取值 print(vvcat_dict["name"]) # 在取值的時(shí)候,如果指定的key不存在,程序會(huì)報(bào)錯(cuò)! # print(vvcat_dict["name123"])# 2. 增加/修改 # 如果Key不存在,會(huì)新增鍵值對(duì) vvcat_dict["age"] = 18 # 如果Key存在,會(huì)修改已經(jīng)存在的鍵值對(duì) vvcat_dict["name"] = "vvcat" print(vvcat_dict)# 3.刪除 vvcat_dict.pop("name") # 在刪除指定鍵值對(duì)的時(shí)候,如果指定的key不存在,程序會(huì)報(bào)錯(cuò)! # vvcat_dict.pop("name123")print(vvcat_dict)
    3.3 字典常用操作
    • 在 python3中定義一個(gè)字典
      例如:
      dict_info = {}

    • 字典能夠使用的方法如下:

    序號(hào)分類關(guān)鍵字/函數(shù)/方法說明
    1取值字典[key]可以從字典中取值, key 不存在會(huì)報(bào)錯(cuò)
    字典.get(key)可以從字典中取值, key 不存在不會(huì)報(bào)錯(cuò)
    2修改字典[key] = value如果 key 存在,修改數(shù)據(jù); 如果 key 不存在,新建鍵值對(duì)
    字典.setdefault(key, value)如果 Key 存在,不會(huì)修改數(shù)據(jù); 如果 key 不存在,新建鍵值對(duì)
    字典.update(字典2)將字典 2 的數(shù)據(jù)合并到字典1,如果字典2和字典1有重復(fù)的鍵值對(duì),字典2的重復(fù)的鍵值對(duì)將會(huì)覆蓋字典1的鍵值對(duì)
    3刪除del 字典[key]刪除指定鍵值對(duì), key 不存在會(huì)報(bào)錯(cuò)
    字典.popitem()隨機(jī)刪除一個(gè)鍵值對(duì)
    字典.pop(key)刪除指定鍵值對(duì),key 不存在會(huì)報(bào)錯(cuò)
    字典.clear清空列表
    4統(tǒng)計(jì)len(字典)獲取字典的鍵值對(duì)數(shù)量
    5查看字典.keys()所有 key 列表
    字典.values()所有 value 列表
    字典.items()所有 (key, value) 元組列表
    3.4 循環(huán)遍歷
    • 遍歷就是依次從字典中獲取所有鍵值對(duì)
    vvcat_dict = {"name": "vvcat","age": "18","gender": "男"}# 迭代遍歷字典 # 變量k是每一次循環(huán)中,獲取到的鍵值對(duì)的key for k in vvcat_dict:print("%s- %s" % (k, vvcat_dict[k]))

    將多個(gè)字典放在一個(gè)列表中,再進(jìn)行遍歷,在循環(huán)體內(nèi)部針對(duì)每一個(gè)字典進(jìn)行 相同的處理

    # 使用 多個(gè)鍵值對(duì),存儲(chǔ) 描述一個(gè) 物體的相關(guān)信息——描述更復(fù)雜的數(shù)據(jù)信息 # 將 多個(gè)字典 放在 一個(gè)列表 中,再進(jìn)行遍歷 card_list = [{"name": "vvcat","age": 15,"gender": True,"height": 1.55,"weight": 55.5},{"name": "vvcat","age": 18,"gender": True,"height": 1.75,"weight": 75.5} ]# 遍歷列表 for card_info in card_list:print(card_info)# 遍歷列表中的字典 for card_info in card_list:print()for k in card_info:print("%s- %s" % (k, card_info[k]))
    • 在 Python 中完整的for循環(huán)的語法如下:
    for 變量 in 集合:循環(huán)體代碼 else:沒有通過break 退出循環(huán),循環(huán)結(jié)束后,會(huì)執(zhí)行的代碼

    示例:

    students = [{"name": "張三"},{"name": "李四"} ]# 在列表中搜索指定的姓名 find_name = "vvcat"for stu_dict in students:print(stu_dict)if stu_dict["name"] == find_name:print("找到了 %s" % find_name)# 如果已經(jīng)找到,應(yīng)該直接退出循環(huán),而不再變量后續(xù)的元素break else:# 如果希望在搜索列表時(shí),所有的字典檢查之后,都沒有發(fā)現(xiàn)需要搜索的目標(biāo)# 還希望得到一個(gè)統(tǒng)一的提示!print("抱歉沒有找到 %s" % find_name)print("循環(huán)結(jié)束")

    字符串

    4.1 字符串的定義
    • 字符串就是一串字符,是編程語言中表示文本的數(shù)據(jù)類型
    • 在Python中可以使用 一對(duì)雙引號(hào) " 或者 一對(duì)單引號(hào) ’ 定義一個(gè)字符串
      • 雖然可以使用 " 或者 ’ 做字符串的轉(zhuǎn)義,但是在實(shí)際開發(fā)中:
        • 如果字符串內(nèi)部?使用 " , 可以使用 ’ 定義字符串
        • 如果字符串內(nèi)部?使用 ’ , 可以使用 " 定義字符串
    • 可以使用 索引獲取一個(gè)字符串中 指定位置的字符,索引計(jì)數(shù)從 0 開始
    • 也可以使用 for 循環(huán)遍歷字符串中每一個(gè)字符
    string = "Hello World"for s in string:print(s)
    4.2 字符串的常用操作
    • 在 python3中定義一個(gè)字符串,
      例如:
      string = “”

    • 字符串能夠使用的方法如下:

    1)判斷類型

    方法說明
    string.isspace()如果 string 中只包含空格,則返回 True
    string.isalnum()如果 string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返回 True
    string.isalpha()如果 string 至少有一個(gè)字符并且所有字符都是字母則返回True
    string.isdecimal()如果 string 只包含數(shù)字則返回 True, 全角數(shù)字
    string.isdigit()如果 string 只包含數(shù)字怎返回 True, 全角數(shù)字、(1)、\u00b2
    string.isnumeric()如果 string 只包含數(shù)字則返回 True, 全角數(shù)字,漢字?jǐn)?shù)字
    string.istitle()如果 string 是標(biāo)題化的(每個(gè)單詞的首字母大寫)則返回 True
    string.islower()如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False
    string.isupper()如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大寫小的)字符都是大寫,則返回 True,否則返回 False

    2)查找和替換

    方法說明
    string.startswith(str)檢查字符串是否是以 str 開頭,是則返回True
    string.endswith(str)檢查字符串是否是以 str 結(jié)束,是則返回True
    string.find(str, start=0, end=len(string))檢測 str 是否包含在 string 中,如果 start 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1
    string.rfind(str, start=0, end=len(string)類似于 find()函數(shù), 不過是從右邊開始查找
    string.index(str, start=0, end=len(string))跟 find() 方法類似,只不過如果 str 不在 string 會(huì)報(bào)錯(cuò)
    string.rindex(str, start=0, end=len(string))類似于 index(),不過是從右邊開始
    string.replace(old_str, new_str, num=string.count(old))把 string 中的 old_str, 如果 num 指定,則替換不超過 num 次

    3)大小寫轉(zhuǎn)換

    方法說明
    string.capitalize()把字符串的第一個(gè)字符大寫
    string.title()把字符串的每個(gè)單詞首字母大寫
    string.lower()轉(zhuǎn)換 string 中所有大寫字符為小寫
    string.upper()轉(zhuǎn)換 string 中的小寫字母為大寫
    string.swapcase()翻轉(zhuǎn) string 中的大小寫

    4)文本對(duì)齊

    方法說明
    string.ljust(width)返回一個(gè)原字符串左對(duì)齊,并使用空格填充至長度 width 的新字符串
    string.rjust(width)返回一個(gè)原字符串右對(duì)齊,并使用空格填充至長度 width 的新字符串
    string.center(width)返回一個(gè)原字符串居中,并使用空格填充至長度 width 的新字符串

    例如:

    poem = ["落花","李商隱","高閣客竟去","小園花亂飛","參差連曲陌","迢遞送斜暉","腸斷未忍掃","眼穿仍欲歸","芳心向春盡","所得是沾衣"]for poem_str in poem:print("|%s|" % poem_str.ljust(10, " ")) print("------------------------------")for poem_str in poem:print("|%s|" % poem_str.rjust(10, " ")) print("------------------------------")for poem_str in poem:print("|%s|" % poem_str.center(10, " "))

    5)去除空白字符

    方法說明
    string.lstrip()截掉 string 左邊(開始)的空白字符
    string.rstrip()截掉 string 右邊(末尾)的空白字符
    string.strip()截掉 string 左右兩邊的空白字符

    6)拆分和連接

    方法說明
    string.partition(str)把字符串 string 分成一個(gè) 3 元素的元組(str前面,str,str后面)
    string.rpartition(str)類似于 partition()函數(shù),不過是從右邊開始查找
    string.split(str="",num)以 str 為分隔符切片 string,如果num 有指定值,則僅分隔 num + 1個(gè)子字符串,str 默認(rèn)包含 ‘\r’, ‘\t’, ‘\n’ 和空格
    string.splitlines()按照行(’\r’, ‘\n’, ‘\r\n’)分隔,返回一個(gè)包含各行作為元素的列表
    string.join(seq)以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個(gè)新的字符串

    例如:

    poem_str = "落花 \t 李商隱\t 高閣客竟去\t\n 小園花亂飛\t\t 參差連曲陌\t 迢遞送斜暉\t\n 腸斷未忍掃\(yùn)t\t 眼穿仍欲歸\t\t 芳心向春盡\t\t 所得是沾衣\t\n"print(poem_str)# 1. 拆分字符串 poem_list = poem_str.split() print(poem_list)# 2. 合并字符串 result = " ".join(poem_list) print(result)
    4.3 字符串的切片
    • 切片方法適用于字符串、列表、元組

      • 切片使用索引值 來限定范圍,從一個(gè)大的字符串中切出小的字符串
      • 列表和元組都是有序的集合,都能夠通過索引值獲取到對(duì)應(yīng)的數(shù)據(jù)
      • 字典是一個(gè)無序的集合,是使用鍵值對(duì)保存數(shù)據(jù)

    字符串[開始索引:結(jié)束索引:步長]

    注意:

    1.指定的區(qū)間屬于 左閉右開 型 [開始索引,結(jié)束索引] → 開始索引 >= 范圍 < 結(jié)束索引

    • 從 起始 位開始,到結(jié)束 位的前一位結(jié)束(不包含結(jié)束位本身)

    2.從頭開始,開始喲因 數(shù)字可以省略,冒號(hào)不能省略
    3.到末尾結(jié)束,結(jié)束索引數(shù)字可以省略,冒號(hào)不能省略
    4.步長默認(rèn)為1,如果連續(xù)切片,數(shù)字和冒號(hào)都可以省略

    例如:

    num_str = "0123456789" # 1.截取從 2 ~ 5位置的字符串 print(num_str[2:6])# 2.截取從 2 ~ 末尾的字符串 print(num_str[2:])# 3.截取從 開始 ~ 5 位置的字符串 print(num_str[0:6]) print(num_str[:6])# 4.截取完整的字符串 print(num_str[:])# 5.從開始位置,每隔一個(gè)字符截取字符串 print(num_str[::2])# 6.從索引 1 開始,每隔一個(gè)字符截取字符串 print(num_str[1::2])# 7.截取從 2 ~ 末尾 -1 的字符串 # print(num_str[-1]) print(num_str[2:-1])# 8.截取字符串末尾兩個(gè)字符 print(num_str[-2:])# 9.字符串的逆序 # print(num_str[0::-1]) print(num_str[-1::-1]) print(num_str[::-1])# 字符串逆序從索引 1 開始,每隔一個(gè)字符截取字符串 print(num_str[::-2])

    5. 公共方法

    5.1 Python 內(nèi)置函數(shù)

    Python 包含了以下內(nèi)置函數(shù):

    函數(shù)描述備注
    len(item)計(jì)算容器中元素個(gè)數(shù)
    del(item)刪除變量del有兩種方式
    max(item)返回容器中元素最大值如果是字典,只針對(duì) key 比較
    min(item)返回容器中元素最小值如果是字典,只針對(duì) key 比較

    注意

    • 字符串比較符合以下規(guī)則:“0” < “A” < “a”

    例如:

    # 刪除變量 a = [1, 2, 3] del a[1] print(a)del(a[1]) print(a)del(a) # print(a)# 返回容器中元素最大值 最小值 t_str = "qwertyuiopasdfghjklzxcvbnm" print(max(t_str)) print(min(t_str))t_list = [5, 2, 4, 8, 1] print(max(t_list)) print(min(t_list))# 如果是字典,只針對(duì) key 比較 t_dict = {"a": "z", "b" : "y", "c": "x"} print(max(t_dict)) print(min(t_dict))# 字符串比較符合以下規(guī)則:“0” < “A” < “a” print("1" < "2") print("1" > "2") print("aaaa" < "bbbb") print([1, 1, 1] < [2, 2, 2]) print((1, 1, 1) < (2, 2, 2))#TypeError: '<' not supported between instances of 'dict' and 'dict' print({"a": "z"} < {"b": "y"})
    5.2 運(yùn)算符
    運(yùn)算符Python 表達(dá)式結(jié)果描述支持的數(shù)據(jù)類型
    +[1, 2] + [3, 4][1, 2, 3, 4]合并字符串、列表、元組
    *[“Python”] * 5[“Python”, “Python”, “Python”, “Python”, “Python”]重復(fù)字符串、列表元組
    in2 in (1, 2, 3, 4, 5)True元素是否存在字符串、列表、元組、字典
    not in6 not in (1, 2, 3, 4, 5)True元素是否不存在字符串、列表、元組、字典
    > >= == < <=(1, 2, 3) < (2, 2, 3)True元素比較字符串、列表、元組

    注意:

    • in 在對(duì)字典 操作時(shí),判斷的是 字典的鍵
    • in 和 not in 被稱為 成員運(yùn)算符

    例如:

    print([1, 2] * 5) # 輸出結(jié)果:[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]print((1, 2) * 5) # 輸出結(jié)果:(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)# TypeError: unsupported operand type(s) for *: 'dict' and 'int' # {"a" : "z"} * 3print((1, 2) + (3, 4, 5)) # 輸出結(jié)果: (1, 2, 3, 4, 5)print([1, 2] + [3, 4] + [5,]) # 輸出結(jié)果:[1, 2, 3, 4, 5]t_list = [1, 2]# 與 + 的區(qū)別,+ 會(huì)產(chǎn)生一個(gè)新的列表,而extend()方法會(huì)修改原有的列表 t_list.extend([3, 4])print(t_list) # 輸出結(jié)果:[1, 2, 3, 4]t_list.append(0) print(t_list) # 輸出結(jié)果:[1, 2, 3, 4, 0]# append()方法把追加的列表元素看作是一個(gè)單獨(dú)的元素,追加到原列表中 t_list.append([7, 8]) print(t_list) # 輸出結(jié)果: [1, 2, 3, 4, 0, [7, 8]]

    成員運(yùn)算符

    成員運(yùn)算符用于測試序列中是否包含指定的成員

    運(yùn)算符描述
    in如果在指定的序列中找到值返回 True, 否則返回False
    not in如果在指定的序列中沒有找到值返回 True, 否則返回 False

    注意:在對(duì)字典操作時(shí),判斷的是 字典的鍵
    例如:

    print("b" in "abcdefg") # 結(jié)果返回 Trueprint("a" not in "abcde") # 結(jié)果返回 Falseprint(2 in [0, 1, 2]) # 結(jié)果返回 Trueprint(1 not in [0, 1, 2]) # 結(jié)果返回 Falseprint("a" in {"a": "vvcat"}) # 結(jié)果返回 Trueprint("vvcat" in {"a": "vvcat"}) # 結(jié)果返回 False

    6. 局部變量和全局變量

    • 局部變量是在函數(shù)內(nèi)部定義的變量,只能在函數(shù)內(nèi)部使用
    • 全局變量 是在 函數(shù)外部定義 的變量(沒有定義在某一個(gè)函數(shù)內(nèi)),所有函數(shù)內(nèi)部都可以使用這個(gè)變量
    6.1局部變量
    • 局部變量 是在 函數(shù)內(nèi)部 定義的變量,只能在函數(shù)內(nèi)部使用
    • 函數(shù)執(zhí)行結(jié)束后,函數(shù)內(nèi)部的局部變量,會(huì)被系統(tǒng)回收
    • 不同的函數(shù),可以定義相同的名字的局部變量,但是各用個(gè)的不會(huì)產(chǎn)生影響

    局部變量的作用、

    • 在函數(shù)內(nèi)部使用,臨時(shí) 保存函數(shù)內(nèi)部需要使用的數(shù)據(jù)

    局部變量的聲明周期

    • 所謂聲明周期就是變量從 被創(chuàng)建 到被系統(tǒng)回收的過程
    • 局部變量在 函數(shù)執(zhí)行時(shí) 次啊會(huì)被創(chuàng)建
    • 函數(shù)執(zhí)行結(jié)束后 局部變量 被系統(tǒng)回收
    • 局部變量在生命周期內(nèi),可以用來存儲(chǔ) 函數(shù)內(nèi)部臨時(shí)使用到的數(shù)據(jù)
    6.2全局變量
    • 全局變量 是在函數(shù)外部定義 的變量,所有函數(shù)內(nèi)部都可以使用這個(gè)變量

    注:函數(shù)執(zhí)行時(shí),需要處理變量時(shí) 會(huì):

  • 首先查找函數(shù)內(nèi)部是否存在 指定名稱的局部變量,如果有,直接使用
  • 如果沒有,查找函數(shù)外部是否存在 指定名稱 的全局變量,如果有,直接使用
  • 如果還沒有,程序報(bào)錯(cuò)!
  • 1)函數(shù)不能直接修改 全局變量的引用

    • 全局變量 是在 函數(shù)外部定義 的變量(沒有定義在某一個(gè)函數(shù)內(nèi)),所以函數(shù)內(nèi)部 都可以使用這個(gè)變量
    • 在函數(shù)內(nèi)部,可以通過全局變量的引用獲取對(duì)應(yīng)的數(shù)據(jù)
    • 但是,不允許直接修改全局變量的引用——— 使用賦值語句修改全局變量的值

    2)在函數(shù)內(nèi)部修改全局變量的值

    • 如果在函數(shù)中需要修改全局變量,需要使用 global 進(jìn)行聲明

    例如:

    # 全局變量 num = 50def demo1():# 希望修改全局變量的值 - 使用 global 聲明一下變量即可# global 關(guān)鍵字會(huì)告訴解釋器后面的變量是一個(gè)全局變量# 在使用賦值語句時(shí),就不會(huì)創(chuàng)建局部變量global numnum = 100print("demo1 ==> %d" % num)def demo2():print("demo2 ==> %d" % num)demo1() demo2()

    3)全局變量定義的位置

    • 為了保證所有的函數(shù)都能夠正確使用到全局變量,應(yīng)該將全局變量定義在其他函數(shù)的上方

    注意:如果全局變量定義在 調(diào)用函數(shù)之后 ,在執(zhí)行函數(shù)時(shí),變量還沒有定義,所以程序會(huì)報(bào)錯(cuò)!

    為了區(qū)分全局變量和局部變量,在定義全局變量名前建議增加g_或者 gl_的前綴

    總結(jié)

    以上是生活随笔為你收集整理的Pyhton 变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。