主頁 > 後端開發 > Python——一些特殊的變數

Python——一些特殊的變數

2020-10-21 17:11:55 後端開發

如果你學習過java編程,那么這里你非常容易理解

知識點回顧

  • Python 中資料型別可以分為 數字型非數字型

  • 數字型

    • 整型 (int)
    • 浮點型(float
    • 布爾型(bool
      • True 非 0 數 —— 非零即真
      • False 0
    • 復數型 (complex)
      • 主要用于科學計算,例如:平面場問題、波動問題、電感電容等問題
  • 非數字型

    • 字串
    • 串列
    • 元組
    • 字典
  • Python 中,所有 非數字型變數 都支持以下特點:

    1. 都是一個 序列 sequence,也可以理解為 容器
    2. 取值 []
    3. 遍歷 for in
    4. 計算長度最大/最小值比較洗掉
    5. 鏈接 +重復 *
    6. 切片

01. 串列

1.1 串列的定義

  • List(串列) 是 Python 中使用 最頻繁 的資料型別,在其他語言中通常叫做 陣列
  • 專門用于存盤 一串 資訊
  • 串列用 [] 定義,資料 之間使用 , 分隔
  • 串列的 索引0 開始
    • 索引 就是資料在 串列 中的位置編號,索引 又可以被稱為 下標

注意:從串列中取值時,如果 超出索引范圍,程式會報錯

name_list = ["zhangsan", "lisi", "wangwu"]

1.2 串列常用操作

  • ipython3 中定義一個 串列,例如:name_list = []
  • 輸入 name_list. 按下 TAB 鍵,ipython 會提示 串列 能夠使用的 方法 如下:
In [1]: name_list.
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove 
序號 分類 關鍵字 / 函式 / 方法 說明
1 增加 串列.insert(索引, 資料) 在指定位置插入資料
串列.append(資料) 在末尾追加資料
串列.extend(串列2) 將串列2 的資料追加到串列
2 修改 串列[索引] = 資料 修改指定索引的資料
3 洗掉 del 串列[索引] 洗掉指定索引的資料
串列.remove[資料] 洗掉第一個出現的指定資料
串列.pop 洗掉末尾資料
串列.pop(索引) 洗掉指定索引資料
串列.clear 清空串列
4 統計 len(串列) 串列長度
串列.count(資料) 資料在串列中出現的次數
5 排序 串列.sort() 升序排序
串列.sort(reverse=True) 降序排序
串列.reverse() 逆序、反轉

del 關鍵字(科普)

  • 使用 del 關鍵字(delete) 同樣可以洗掉串列中元素
  • del 關鍵字本質上是用來 將一個變數從記憶體中洗掉的
  • 如果使用 del 關鍵字將變數從記憶體中洗掉,后續的代碼就不能再使用這個變數了
del name_list[1]

在日常開發中,要從串列洗掉資料,建議 使用串列提供的方法

關鍵字、函式和方法(科普)

  • 關鍵字 是 Python 內置的、具有特殊意義的識別符號
In [1]: import keyword
In [2]: print(keyword.kwlist)
In [3]: print(len(keyword.kwlist))

關鍵字后面不需要使用括號

  • 函式 封裝了獨立功能,可以直接呼叫
函式名(引數)

函式需要死記硬背

  • 方法 和函式類似,同樣是封裝了獨立的功能
  • 方法 需要通過 物件 來呼叫,表示針對這個 物件 要做的操作
物件.方法名(引數)

在變數后面輸入 .,然后選擇針對這個變數要執行的操作,記憶起來比函式要簡單很多

1.3 回圈遍歷

  • 遍歷 就是 從頭到尾 依次串列 中獲取資料

    • 回圈體內部 針對 每一個元素,執行相同的操作
  • Python 中為了提高串列的遍歷效率,專門提供的 迭代 iteration 遍歷

  • 使用 for 就能夠實作迭代遍歷

# for 回圈內部使用的變數 in 串列
for name in name_list:

    回圈內部針對串列元素進行操作
    print(name)

1.4 應用場景

  • 盡管 Python串列 中可以 存盤不同型別的資料
  • 但是在開發中,更多的應用場景是
    1. 串列 存盤相同型別的資料
    2. 通過 迭代遍歷,在回圈體內部,針對串列中的每一項元素,執行相同的操作

02. 元組

2.1 元組的定義

  • Tuple(元組)與串列類似,不同之處在于元組的 元素不能修改
    • 元組 表示多個元素組成的序列
    • 元組Python 開發中,有特定的應用場景
  • 用于存盤 一串 資訊資料 之間使用 , 分隔
  • 元組用 () 定義
  • 元組的 索引0 開始
    • 索引 就是資料在 元組 中的位置編號
info_tuple = ("zhangsan", 18, 1.75)

創建空元組

info_tuple = ()

元組中 只包含一個元素 時,需要 在元素后面添加逗號

info_tuple = (50, )

2.2 元組常用操作

  • ipython3 中定義一個 元組,例如:info = ()
  • 輸入 info. 按下 TAB 鍵,ipython 會提示 元組 能夠使用的函式如下:
info.count  info.index

有關 元組常用操作 可以參照上圖練習

2.3 回圈遍歷

  • 取值 就是從 元組 中獲取存盤在指定位置的資料
  • 遍歷 就是 從頭到尾 依次元組 中獲取資料
# for 回圈內部使用的變數 in 元組
for item in info:

    回圈內部針對元組元素進行操作
    print(item)

  • Python 中,可以使用 for 回圈遍歷所有非數字型型別的變數:串列元組字典 以及 字串
  • 提示:在實際開發中,除非 能夠確認元組中的資料型別,否則針對元組的回圈遍歷需求并不是很多

2.4 應用場景

  • 盡管可以使用 for in 遍歷 元組
  • 但是在開發中,更多的應用場景是:
    • 函式的 引數 和 回傳值,一個函式可以接收 任意多個引數,或者 一次回傳多個資料
      • 有關 函式的引數 和 回傳值,在后續 函式高級 給大家介紹
    • 格式字串,格式化字串后面的 () 本質上就是一個元組
    • 讓串列不可以被修改,以保護資料安全
info = ("zhangsan", 18)

print("%s 的年齡是 %d" % info)

元組和串列之間的轉換

  • 使用 list 函式可以把元組轉換成串列
list(元組) 
  • 使用 tuple 函式可以把串列轉換成元組
tuple(串列)

03. 字典

3.1 字典的定義

  • dictionary(字典) 是 除串列以外 Python 之中 最靈活 的資料型別
  • 字典同樣可以用來 存盤多個資料
    • 通常用于存盤 描述一個 物體 的相關資訊
  • 和串列的區別
    • 串列有序 的物件集合
    • 字典無序 的物件集合
  • 字典用 {} 定義
  • 字典使用 鍵值對 存盤資料,鍵值對之間使用 , 分隔
    • key 是索引
    • value 是資料
    • 之間使用 : 分隔
    • 鍵必須是唯一的
    • 可以取任何資料型別,但 只能使用 字串數字元組
xiaoming = {"name": "小明",
            "age": 18,
            "gender": True,
            "height": 1.75}

3.2 字典常用操作

  • ipython3 中定義一個 字典,例如:xiaoming = {}
  • 輸入 xiaoming. 按下 TAB 鍵,ipython 會提示 字典 能夠使用的函式如下:
In [1]: xiaoming.
xiaoming.clear       xiaoming.items       xiaoming.setdefault
xiaoming.copy        xiaoming.keys        xiaoming.update
xiaoming.fromkeys    xiaoming.pop         xiaoming.values
xiaoming.get         xiaoming.popitem    

有關 字典常用操作 可以參照上圖練習

3.3 回圈遍歷

  • 遍歷 就是 依次字典 中獲取所有鍵值對
# for 回圈內部使用的 `key 的變數` in 字典
for k in xiaoming:

    print("%s: %s" % (k, xiaoming[k]))

提示:在實際開發中,由于字典中每一個鍵值對保存資料的型別是不同的,所以針對字典的回圈遍歷需求并不是很多

3.4 應用場景

  • 盡管可以使用 for in 遍歷 字典
  • 但是在開發中,更多的應用場景是:
    • 使用 多個鍵值對,存盤 描述一個 物體 的相關資訊 —— 描述更復雜的資料資訊
    • 多個字典 放在 一個串列 中,再進行遍歷,在回圈體內部針對每一個字典進行 相同的處理
card_list = [{"name": "張三",
              "qq": "12345",
              "phone": "110"},
             {"name": "李四",
              "qq": "54321",
              "phone": "10086"}
             ]

04. 字串

4.1 字串的定義

  • 字串 就是 一串字符,是編程語言中表示文本的資料型別
  • 在 Python 中可以使用 一對雙引號 " 或者 一對單引號 ' 定義一個字串
    • 雖然可以使用 \" 或者 \' 做字串的轉義,但是在實際開發中:
      • 如果字串內部需要使用 ",可以使用 ' 定義字串
      • 如果字串內部需要使用 ',可以使用 " 定義字串
  • 可以使用 索引 獲取一個字串中 指定位置的字符,索引計數從 0 開始
  • 也可以使用 for 回圈遍歷 字串中每一個字符

大多數編程語言都是用 " 來定義字串

string = "Hello Python"

for c in string:
    print(c)

4.2 字串的常用操作

  • ipython3 中定義一個 字串,例如:hello_str = ""
  • 輸入 hello_str. 按下 TAB 鍵,ipython 會提示 字串 能夠使用的 方法 如下:
In [1]: hello_str.
hello_str.capitalize    hello_str.isidentifier  hello_str.rindex
hello_str.casefold      hello_str.islower       hello_str.rjust
hello_str.center        hello_str.isnumeric     hello_str.rpartition
hello_str.count         hello_str.isprintable   hello_str.rsplit
hello_str.encode        hello_str.isspace       hello_str.rstrip
hello_str.endswith      hello_str.istitle       hello_str.split
hello_str.expandtabs    hello_str.isupper       hello_str.splitlines
hello_str.find          hello_str.join          hello_str.startswith
hello_str.format        hello_str.ljust         hello_str.strip
hello_str.format_map    hello_str.lower         hello_str.swapcase
hello_str.index         hello_str.lstrip        hello_str.title
hello_str.isalnum       hello_str.maketrans     hello_str.translate
hello_str.isalpha       hello_str.partition     hello_str.upper
hello_str.isdecimal     hello_str.replace       hello_str.zfill
hello_str.isdigit       hello_str.rfind

提示:正是因為 python 內置提供的方法足夠多,才使得在開發時,能夠針對字串進行更加靈活的操作!應對更多的開發需求!

1) 判斷型別 - 9

方法 說明
string.isspace() 如果 string 中只包含空格,則回傳 True
string.isalnum() 如果 string 至少有一個字符并且所有字符都是字母或數字則回傳 True
string.isalpha() 如果 string 至少有一個字符并且所有字符都是字母則回傳 True
string.isdecimal() 如果 string 只包含數字則回傳 True,全角數字
string.isdigit() 如果 string 只包含數字則回傳 True,全角數字\u00b2
string.isnumeric() 如果 string 只包含數字則回傳 True,全角數字漢字數字
string.istitle() 如果 string 是標題化的(每個單詞的首字母大寫)則回傳 True
string.islower() 如果 string 中包含至少一個區分大小寫的字符,并且所有這些(區分大小寫的)字符都是小寫,則回傳 True
string.isupper() 如果 string 中包含至少一個區分大小寫的字符,并且所有這些(區分大小寫的)字符都是大寫,則回傳 True

2) 查找和替換 - 7

方法 說明
string.startswith(str) 檢查字串是否是以 str 開頭,是則回傳 True
string.endswith(str) 檢查字串是否是以 str 結束,是則回傳 True
string.find(str, start=0, end=len(string)) 檢測 str 是否包含在 string 中,如果 start 和 end 指定范圍,則檢查是否包含在指定范圍內,如果是回傳開始的索引值,否則回傳 -1
string.rfind(str, start=0, end=len(string)) 類似于 find(),不過是從右邊開始查找
string.index(str, start=0, end=len(string)) 跟 find() 方法類似,不過如果 str 不在 string 會報錯
string.rindex(str, start=0, end=len(string)) 類似于 index(),不過是從右邊開始
string.replace(old_str, new_str, num=string.count(old)) 把 string 中的 old_str 替換成 new_str,如果 num 指定,則替換不超過 num 次

3) 大小寫轉換 - 5

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

4) 文本對齊 - 3

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

5) 去除空白字符 - 3

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

6) 拆分和連接 - 5

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

4.3 字串的切片

  • 切片 方法適用于 字串串列元組
    • 切片 使用 索引值 來限定范圍,從一個大的 字串切出 小的 字串
    • 串列元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應的資料
    • 字典 是一個 無序 的集合,是使用 鍵值對 保存資料

字串[開始索引:結束索引:步長]

注意

  1. 指定的區間屬于 左閉右開[開始索引, 結束索引) => 開始索引 >= 范圍 < 結束索引
    • 起始 位開始,到 結束位的前一位 結束(不包含結束位本身)
  2. 從頭開始,開始索引 數字可以省略,冒號不能省略
  3. 到末尾結束,結束索引 數字可以省略,冒號不能省略
  4. 步長默認為 1,如果連續切片,數字和冒號都可以省略

索引的順序和倒序

  • 在 Python 中不僅支持 順序索引,同時還支持 倒序索引
  • 所謂倒序索引就是 從右向左 計算索引
    • 最右邊的索引值是 -1,依次遞減

演練需求

    1. 截取從 2 ~ 5 位置 的字串
    1. 截取從 2 ~ 末尾 的字串
    1. 截取從 開始 ~ 5 位置 的字串
    1. 截取完整的字串
    1. 從開始位置,每隔一個字符截取字串
    1. 從索引 1 開始,每隔一個取一個
    1. 截取從 2 ~ 末尾 - 1 的字串
    1. 截取字串末尾兩個字符
    1. 字串的逆序(面試題)

答案

num_str = "0123456789"

# 1. 截取從 2 ~ 5 位置 的字串
print(num_str[2:6])

# 2. 截取從 2 ~ `末尾` 的字串
print(num_str[2:])

# 3. 截取從 `開始` ~ 5 位置 的字串
print(num_str[:6])

# 4. 截取完整的字串
print(num_str[:])

# 5. 從開始位置,每隔一個字符截取字串
print(num_str[::2])

# 6. 從索引 1 開始,每隔一個取一個
print(num_str[1::2])

# 倒序切片
# -1 表示倒數第一個字符
print(num_str[-1])

# 7. 截取從 2 ~ `末尾 - 1` 的字串
print(num_str[2:-1])

# 8. 截取字串末尾兩個字符
print(num_str[-2:])

# 9. 字串的逆序(面試題)
print(num_str[::-1])

05. 公共方法

5.1 Python 內置函式

Python 包含了以下內置函式:

函式 描述 備注
len(item) 計算容器中元素個數
del(item) 洗掉變數 del 有兩種方式
max(item) 回傳容器中元素最大值 如果是字典,只針對 key 比較
min(item) 回傳容器中元素最小值 如果是字典,只針對 key 比較
cmp(item1, item2) 比較兩個值,-1 小于/0 相等/1 大于 Python 3.x 取消了 cmp 函式

注意

  • 字串 比較符合以下規則: "0" < "A" < "a"

5.2 切片

描述 Python 運算式 結果 支持的資料型別
切片 "0123456789"[::-2] "97531" 字串、串列、元組
  • 切片 使用 索引值 來限定范圍,從一個大的 字串切出 小的 字串
  • 串列元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應的資料
  • 字典 是一個 無序 的集合,是使用 鍵值對 保存資料

5.3 運算子

運算子 Python 運算式 結果 描述 支持的資料型別
+ [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字串、串列、元組
* ["Hi!"] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重復 字串、串列、元組
in 3 in (1, 2, 3) True 元素是否存在 字串、串列、元組、字典
not in 4 not in (1, 2, 3) True 元素是否不存在 字串、串列、元組、字典
> >= == < <= (1, 2, 3) < (2, 2, 3) True 元素比較 字串、串列、元組

注意

  • in 在對 字典 操作時,判斷的是 字典的鍵
  • innot in 被稱為 成員運算子

成員運算子

成員運算子用于 測驗 序列中是否包含指定的 成員

運算子 描述 實體
in 如果在指定的序列中找到值回傳 True,否則回傳 False 3 in (1, 2, 3) 回傳 True
not in 如果在指定的序列中沒有找到值回傳 True,否則回傳 False 3 not in (1, 2, 3) 回傳 False

注意:在對 字典 操作時,判斷的是 字典的鍵

5.4 完整的 for 回圈語法

  • Python 中完整的 for 回圈 的語法如下:
for 變數 in 集合:
    
    回圈體代碼
else:
    沒有通過 break 退出回圈,回圈結束后,會執行的代碼

應用場景

  • 迭代遍歷 嵌套的資料型別時,例如 一個串列包含了多個字典
  • 需求:要判斷 某一個字典中 是否存在 指定的 值
    • 如果 存在,提示并且退出回圈
    • 如果 不存在,在 回圈整體結束 后,希望 得到一個統一的提示
students = [
    {"name": "阿土",
     "age": 20,
     "gender": True,
     "height": 1.7,
     "weight": 75.0},
    {"name": "小美",
     "age": 19,
     "gender": False,
     "height": 1.6,
     "weight": 45.0},
]

find_name = "阿土"

for stu_dict in students:

    print(stu_dict)

    # 判斷當前遍歷的字典中姓名是否為find_name
    if stu_dict["name"] == find_name:
        print("找到了")

        # 如果已經找到,直接退出回圈,就不需要再對后續的資料進行比較
        break
    else:
        print("沒有找到")

print("回圈結束")

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184119.html

標籤:Python

上一篇:Python——函式

下一篇:Django + Uwsgi + Nginx 的生產環境部署

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more