Python入門Day3

Python的基礎數據類型

1.Python中提供了六種內置的數據類型,一般用于存儲數據:
–數值Number
–字符串String
–列表List
–元組Tuple
–字典Dictionary
–集合Set
2.Python中的數據類型可以做以下幾個分類:
–有序:可以使用下標(索引)訪問元素
–無序:不可以使用下標(索引)訪問元素
–可變:可以被修改
–不可變:不可以被修改

有序無序
可變列表字典、集合
不可變字符串、元組數值

數值類型

Python3中數值類型支持:

類型范圍
int1,2(-無窮,+無窮)
float(無double)1.2,3.7E-2(科學計數法,10的-2次方)(-無窮,+無窮)
boolean(繼承了int類型True(參與計算的話,True默認1,False默認0[True,False]
complexx+yjx是實數部分,y是虛數部分

基本算術運算

a = 10
b = 3# 加法
sum_result = a + b  # 結果為13# 減法
sub_result = a - b  # 結果為7# 乘法
mul_result = a * b  # 結果為30# 除法(浮點數)
div_result = a / b  # 結果為3.333...# 整數除法(向下取整)
floor_div = a // b  # 結果為3# 取模(余數)
mod_result = a % b  # 結果為1# 冪運算
power_result = a ** b  # 結果為1000

數值類型轉換

x = 5.7# 轉換為整數(截斷小數)
int_x = int(x)  # 結果為5# 轉換為浮點數
float_x = float(10)  # 結果為10.0# 復數運算
complex_num = complex(2, 3)  # 結果為2+3j

數學函數

import math# 平方根
sqrt_val = math.sqrt(16)  # 結果為4.0# 對數
log_val = math.log(10, 2)  # 以2為底10的對數# 三角函數
sin_val = math.sin(math.pi / 2)  # 結果為1.0# 階乘
factorial_val = math.factorial(5)  # 結果為120# 求和
c = math.sum(a,b) # 最大值最小值
a = math.max(c,b)
a = math.min(c,b)# 返回兩個數值的商和余數
a,b = math.divmod(y,x)#### 其他常用函數
- 冪運算:`math.pow(x, y)` 計算x的y次方
- 絕對值:`math.fabs(x)` 浮點數絕對值,整數求絕對值math.abs(x)
- 取整:`math.ceil(x)`向上取整,`math.floor(x)`向下取整
- 常量:`math.pi`圓周率,`math.e`自然對數底數注意:對于復數運算,需要使用cmath模塊而非math模塊。## 數學函數詳解

隨機數生成

import random# 生成0到1之間的隨機浮點數
rand_float = random.random()# 生成指定范圍內的整數
rand_int = random.randint(1, 100)# 從序列中隨機選擇
rand_choice = random.choice([1, 2, 3, 4, 5])

數值比較與邏輯運算

x = 5
y = 10# 比較運算
greater = x > y  # False
equal = x == 5  # True# 邏輯運算
logical_and = (x < 10) and (y > 5)  # True
logical_or = (x == 5) or (y == 0)  # True

字符和字符串

字符串的基本定義

在Python中,字符串是由零個或多個字符組成的不可變序列,用單引號(')、雙引號(")或三引號('''""")包裹。例如:

str1 = 'Hello'
str2 = "World"
str3 = '''多行
字符串'''

字符串的特性

  • 不可變性:字符串一旦創建,其內容無法修改。若需改變,需創建新字符串。
  • 編碼支持:Python 3默認使用Unicode編碼(UTF-8),可直接處理多語言字符。
  • 轉義字符:通過反斜杠(\)插入特殊字符,如\n(換行)、\t(制表符)。

多行字符串

三引號允許字符串跨越多行,保留換行和縮進格式:

multi_line = """這是
一個多行
字符串"""

原始字符串(Raw String)

在字符串前加rR,忽略轉義字符,常用于正則表達式或文件路徑

raw_str = r"C:\new_folder\temp"

字符串的常見操作

  • 拼接:用+連接字符串。
  • 重復:用*重復字符串,如'a' * 3得到'aaa'
  • 索引與切片:通過下標訪問字符或子串,如str1[0]str1[1:4]
  • 切片的批量操作:str[a: b :c],a是其實元素的位置,b是終止元素的位置,c是步長。str[::]表示取所有;str[::2]表示每兩個取一個。abc同樣可以為負數。

字符串格式化

Python提供多種格式化方法:

  • f-string(Python 3.6+):
    name = "Alice"
    greeting = f"Hello, {name}"
    
  • format()方法
    template = "{} {}".format("Hello", "Bob")
    
  • 百分號(%)格式化(舊式):
    formatted = "Value: %d" % 42
    

字符串的基本定義

在Python中,字符串是由零個或多個字符組成的不可變序列,用單引號(')、雙引號(")或三引號('''""")包裹。例如:

str1 = 'Hello'
str2 = "World"
str3 = '''多行
字符串'''

字符串的特性

  • 不可變性:字符串一旦創建,其內容無法修改。若需改變,需創建新字符串。
  • 編碼支持:Python 3默認使用Unicode編碼(UTF-8),可直接處理多語言字符。
  • 轉義字符:通過反斜杠(\)插入特殊字符,如\n(換行)、\t(制表符)。

多行字符串

三引號允許字符串跨越多行,保留換行和縮進格式:

multi_line = """這是
一個多行
字符串"""

原始字符串(Raw String)

在字符串前加rR,忽略轉義字符,常用于正則表達式或文件路徑:

raw_str = r"C:\new_folder\temp"

字符串的常見操作

  • 拼接1:用+連接字符串。
  • 拼接2:“–”.join(“HUAWEI”) ==> ‘H–U–A–W–E–I’
  • 重復:用*重復字符串,如'a' * 3得到'aaa'
  • 索引與切片:通過下標訪問字符或子串,如str1[0]str1[1:4]
  • 分割:str.split(str1),以str1為分隔符對字符串切割, “python”.split(‘t’) ==> [‘py’, ‘hon’]
  • 替換:“python”.replace(‘py’,‘PY’) ==> ‘PYthon’
  • 大寫: “python”.upper()==>‘PYTHON’
  • 小寫:“PYTHON”.lower()==>‘python’
  • 格式化輸出:print(“我的名字叫%s,今年%a歲”%(“Zonda”,26))==>我的名字叫Zonda,今年26歲

元組

元組的定義

元組(Tuple)是Python中的一種不可變有序序列,用于存儲多個元素。元組使用圓括號()定義,元素之間用逗號分隔。即使只有一個元素,也需要在元素后加逗號以區分元組和其他數據類型。

# 定義元組
tuple1 = (1, 2, 3)          # 多元素元組
tuple2 = ("a",)             # 單元素元組(需加逗號)
tuple3 = tuple([4, 5, 6])   # 通過構造函數創建

元組的特性

不可變性:元組一旦創建,其 元素不可修改、刪除或添加。但若元素本身是可變對象(如列表),其內容可修改。
有序性:元組中的元素按定義順序存儲,支持索引和切片操作

# 不可變示例
t = (1, 2, [3, 4])
t[2][0] = 5  # 合法,修改元組中的列表元素
t[0] = 10    # 非法,拋出TypeError

元組的常見操作

索引與切片:通過下標訪問元素,切片返回新元組。
遍歷:使用for循環遍歷元組。
拼接與重復+拼接元組,*重復元組。

t = (1, 2, 3, 4)
print(t[1])       # 輸出: 2
print(t[1:3])     # 輸出: (2, 3)
new_t = t + (5,)  # 拼接: (1, 2, 3, 4, 5)

元組與列表的區別

可變性:列表可變,元組不可變。
性能:元組因不可變性,通常比列表更高效,適合作為字典鍵或常量集合。
用途:列表用于動態數據,元組用于保護數據不被修改。

# 元組作為字典鍵
dict_key = {("a", "b"): "value"}
```### 元組的定義  
元組(Tuple)是Python中的一種不可變有序序列,用于存儲多個元素。元組使用圓括號`()`定義,元素之間用逗號分隔。即使只有一個元素,也需要在元素后加逗號以區分元組和其他數據類型。  ```python
# 定義元組
tuple1 = (1, 2, 3)          # 多元素元組
tuple2 = ("a",)             # 單元素元組(需加逗號)
tuple3 = tuple([4, 5, 6])   # 通過構造函數創建

元組的特性

不可變性:元組一旦創建,其元素不可修改、刪除或添加。但若元素本身是可變對象(如列表),其內容可修改。
有序性:元組中的元素按定義順序存儲,支持索引和切片操作。

# 不可變示例
t = (1, 2, [3, 4])
t[2][0] = 5  # 合法,修改元組中的列表元素
t[0] = 10    # 非法,拋出TypeError

元組的常見操作

索引與切片:通過下標訪問元素,切片返回新元組。
遍歷:使用for循環遍歷元組。
拼接與重復+拼接元組,*重復元組。

t = (1, 2, 3, 4)
print(t[1])       # 輸出: 2
print(t[1:3])     # 輸出: (2, 3)
new_t = t + (5,)  # 拼接: (1, 2, 3, 4, 5)

元組與列表的區別

可變性:列表可變,元組不可變。
性能:元組因不可變性,通常比列表更高效,適合作為字典鍵或常量集合。
用途:列表用于動態數據,元組用于保護數據不被修改。

# 元組作為字典鍵
dict_key = {("a", "b"): "value"}

列表

Python列表的定義

Python列表是一種有序、可變的數據結構,用于存儲多個元素。列表用方括號[]表示,元素之間用逗號分隔。列表可以包含不同類型的元素,例如整數、字符串、浮點數,甚至其他列表。

my_list = [1, 2, 3, "apple", 5.5]

Python列表的特點

列表是動態的,可以隨時添加或刪除元素。列表允許重復元素,并且可以通過索引訪問或修改元素。索引從0開始,負數索引表示從列表末尾開始計數。

fruits = ["apple", "banana", "cherry"]
print(fruits[1])  # 輸出: banana
print(fruits[-1]) # 輸出: cherry

列表的常用操作

列表支持多種操作,包括切片、拼接、復制等。切片操作可以獲取列表的子集,格式為list[start:end:step]。拼接操作可以使用+合并兩個列表。

numbers = [1, 2, 3, 4, 5]
print(numbers[1:4])  # 輸出: [2, 3, 4]
print(numbers[::2])  # 輸出: [1, 3, 5]

列表拼接操作:

list1 = [1, 2]
list2 = [3, 4]
combined = list1 + list2   # [1, 2, 3, 4]
list1.extend(list2)        # list1變為[1, 2, 3, 4]

可以將元組轉化為列表:

t1=(2,3,(1,2,3))
list1 = list(t1)
print(list1) #輸出[2, 3, (1, 2, 3)]

列表復制操作
復制分為淺拷貝深拷貝淺拷貝(copy()或切片)僅復制外層對象,深拷貝(deepcopy())會遞歸復制所有嵌套對象。

import copy
original = [1, [2, 3]]
shallow = original.copy()          # 淺拷貝,嵌套列表共享引用
deep = copy.deepcopy(original)     # 深拷貝,完全獨立

列表查找

使用index()方法查找元素首次出現的索引,in運算符判斷元素是否存在。查找失敗時index()會拋出ValueError

lst = [10, 20, 30, 20]
idx = lst.index(20)  # 返回1
exists = 30 in lst   # 返回True

列表排序

sort()方法原地排序,sorted()函數返回新列表。可通過key參數定制排序規則,reverse控制升降序。

lst = [3, 1, 4, 2]
lst.sort()                      # 原地排序變為[1, 2, 3, 4]
new_lst = sorted(lst, reverse=True)  # 生成[4, 3, 2, 1]

列表逆序

reverse()方法原地逆序,切片[::-1]生成新逆序列表。

lst = [1, 2, 3]
lst.reverse()       # 變為[3, 2, 1]
reversed_lst = lst[::-1]  # 生成[1, 2, 3]

數量統計

count()統計元素出現次數,len()獲取列表長度。

lst = [1, 2, 2, 3]
cnt = lst.count(2)   # 返回2
length = len(lst)    # 返回4
```### 列表查找
使用`index()`方法查找元素首次出現的索引,`in`運算符判斷元素是否存在。查找失敗時`index()`會拋出`ValueError`。
```python
lst = [10, 20, 30, 20]
idx = lst.index(20)  # 返回1
exists = 30 in lst   # 返回True

列表的方法

列表提供了一系列內置方法,例如append()extend()insert()remove()pop()等。這些方法可以用于添加、刪除或修改列表中的元素。

#增加:
colors = ["red", "green"]
colors.append("blue")     # 添加元素
colors.insert(1, "yellow") # 插入元素
colors.extend(["yellow","blue","black"])#將可迭代的對象逐個插入列表尾部
#刪除:
colors.remove("green")    # 刪除元素
colors.pop(0) #刪除"red"并輸出
#查找:
colors.index("green")#返回給定元素第一次出現位置的下標,輸出為1

列表的遍歷

可以通過循環遍歷列表中的元素。常見的遍歷方式包括for循環和while循環。列表推導式是一種簡潔的生成列表的方式。

squares = [x**2 for x in range(5)]
print(squares)  # 輸出: [0, 1, 4, 9, 16]

也可以在遍歷的過程中加上條件

squares = [x**2 for x in range(5) if x % 2 == 1]
print(squares)  # 輸出: [1,9]

也可以兩個數字一起加條件遍歷

print([(x,y) for x in range(5) if x%2==1 for y in range(10) if y % 3 == 1])
#輸出[(1, 1), (1, 4), (1, 7), (3, 1), (3, 4), (3, 7)]

列表與元組的區別

列表是可變的,而元組是不可變的。如果需要修改數據,應使用列表;如果需要不可變的數據結構,應使用元組。元組用圓括號()表示。

my_tuple = (1, 2, 3)

以上內容涵蓋了Python列表的核心概念和常見操作,適用于初學者和需要快速回顧的開發人員。### Python列表的定義

Python列表是一種有序、可變的數據結構,用于存儲多個元素。列表用方括號[]表示,元素之間用逗號分隔。列表可以包含不同類型的元素,例如整數、字符串、浮點數,甚至其他列表。

my_list = [1, 2, 3, "apple", 5.5]

列表和數組

Python中的列表在外觀上和數組相似,但是兩者并不是一種結構。
–Python的內置數據結構中并沒有數組,需要借助工具包numpy實現。
–列表和數組可以相互轉化,但是本質是不一樣的。數組有維度,列表無維度。

>>> import numpy
>>> l = [1,2,3,4]
>>> print(l)
[1, 2, 3, 4]
>>> print(numpy.array(l))
[1 2 3 4]
>>> l2 = [[1,2],[3,4]]
>>> print(l2)
[[1, 2], [3, 4]]
>>> print(numpy.array(l2))
[[1 2][3 4]]

字典

字典的定義:字典的每個元素由兩部分組成-鍵和值,所以字典的元素也被稱為鍵值對
–其中鍵是不可變且唯一的
–如果字典有相同的鍵,則后面的鍵對應的值會將前面的值覆蓋
數據量大的時候,字典數據的訪問速度比列表快
–字典是無序可變的序列

deepseek解釋:字典(Dictionary)是Python中一種可變容器模型,可存儲任意類型對象。字典的每個元素由一個鍵(key)和一個值(value)組成,鍵和值之間用冒號分隔,元素之間用逗號分隔,整個字典包括在花括號中。

字典的鍵必須是唯一的,且不可變類型(如字符串、數字或元組)。值可以是任何數據類型,且可以重復。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

字典的創建

字典可以通過多種方式創建。直接使用花括號是最常見的方法。

# 空字典
empty_dict = {}# 直接賦值
person = {'name': 'Bob', 'age': 30}# 使用dict()構造函數
person = dict(name='Bob', age=30)# 從鍵值對列表創建
person = dict([('name', 'Bob'), ('age', 30)])

字典的訪問

可以通過鍵來訪問字典中的值。如果鍵不存在,會引發KeyError。使用get()方法可以避免KeyError,并返回默認值。

person = {'name': 'Bob', 'age': 30}# 直接訪問
print(person['name'])  # 輸出: Bob# 使用get方法
print(person.get('name'))  # 輸出: Bob
print(person.get('gender', 'Unknown'))  # 輸出: Unknown

字典的修改

字典是可變的,可以通過鍵來修改或添加新的鍵值對。

person = {'name': 'Bob', 'age': 30}# 修改值
person['age'] = 31# 添加新鍵值對
person['city'] = 'London'print(person)  # 輸出: {'name': 'Bob', 'age': 31, 'city': 'London'}

字典的刪除

可以使用del語句、pop()方法或clear()方法來刪除字典中的元素。

person = {'name': 'Bob', 'age': 30, 'city': 'London'}# 刪除特定鍵值對
del person['age']# 刪除并返回值
city = person.pop('city')# 清空字典
person.clear()print(person)  # 輸出: {}

字典的遍歷

字典可以通過多種方式遍歷,包括鍵、值或鍵值對。

person = {'name': 'Bob', 'age': 30, 'city': 'London'}# 遍歷鍵
for key in person:print(key)# 遍歷值
for value in person.values():print(value)# 遍歷鍵值對
for key, value in person.items():print(key, value)

字典的常用方法

字典提供了多種內置方法,用于操作和查詢字典。

person = {'name': 'Bob', 'age': 30, 'city': 'London'}# 獲取所有鍵
keys = person.keys()# 獲取所有值
values = person.values()# 獲取所有鍵值對
items = person.items()# 復制字典
person_copy = person.copy()# 更新字典
person.update({'age': 31, 'gender': 'Male'})

字典的嵌套

字典可以嵌套在其他字典中,形成復雜的數據結構。

people = {'person1': {'name': 'Alice', 'age': 25},'person2': {'name': 'Bob', 'age': 30}
}print(people['person1']['name'])  # 輸出: Alice

字典推導式

字典推導式提供了一種簡潔的創建字典的方法。

# 創建平方字典
squares = {x: x*x for x in range(6)}print(squares)  # 輸出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

集合

集合的定義

集合(set)是Python中的一種無序、可變不重復元素的容器數據類型。其核心特性包括:

  • 無序性:元素存儲順序與添加順序無關。
  • 唯一性:自動去除重復元素。
  • 可變性:支持增刪操作,但元素本身必須是不可變類型(如數字、字符串、元組)。

集合用大括號 {}set() 函數定義,空集合必須使用 set(){} 表示空字典)。

s1 = {1, 2, 3}          # 直接定義
s2 = set([1, 2, 2])     # 從列表轉換,結果為 {1, 2}

集合的操作方法

添加元素
  • add(x):添加單個元素。
  • update(iterable):合并其他可迭代對象(如列表、元組)的元素。
s = {1, 2}
s.add(3)               # {1, 2, 3}
s.update([4, 5])       # {1, 2, 3, 4, 5}
刪除元素
  • remove(x):刪除指定元素,若不存在則報錯。
  • discard(x):刪除元素,若不存在則不報錯。
  • pop():隨機刪除并返回一個元素(因集合無序)。
  • clear():清空集合。
s = {1, 2, 3}
s.remove(2)            # {1, 3}
s.discard(4)           # 無變化
s.pop()                # 可能返回 1 或 3,隨機刪除一個元素并返回

集合的運算

集合支持數學中的集合操作:

基本運算
  • union()|:并集。
  • intersection()&:交集。
  • difference()-:差集。
  • symmetric_difference()^:對稱差集(僅在其中一個集合存在的元素)。
a = {1, 2, 3}
b = {3, 4, 5}
a.union(b)             # {1, 2, 3, 4, 5}
a & b                  # {3}
a - b                  # {1, 2}
a ^ b                  # {1, 2, 4, 5}
判斷方法
  • issubset()<=:子集判斷。
  • issuperset()>=:超集判斷。
  • isdisjoint():判斷是否無交集。
a = {1, 2}
b = {1, 2, 3}
a.issubset(b)          # True
b.issuperset(a)        # True
a.isdisjoint({4, 5})   # True

集合的應用場景

  1. 去重:快速去除列表中的重復項。
    lst = [1, 2, 2, 3]
    unique = list(set(lst))  # [1, 2, 3]
    
  2. 成員測試:檢查元素是否存在(比列表效率更高)。
  3. 數學運算:處理交集、并集等邏輯問題。

集合通過哈希表實現,因此查找操作的時間復雜度為 O(1),適合高頻查詢場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913076.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913076.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913076.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端富文本添加錄音功能方案

為富文本編輯器添加錄音功能可以增強內容創作的多樣性。以下是幾種實現方案&#xff1a; 方案一&#xff1a;基于Web Audio API原生實現 實現步驟獲取用戶麥克風權限 navigator.mediaDevices.getUserMedia({ audio: true }).then(stream > { /* 處理音頻流 */ }).catch(err …

解鎖阿里云Hologres:開啟實時數據分析新時代

引言在當今這個數字化浪潮洶涌澎湃的大數據時代&#xff0c;數據就如同企業和組織的 “數字石油”&#xff0c;成為了最具價值的資產之一。隨著信息技術的飛速發展&#xff0c;各行業所產生和收集的數據量正以指數級的速度增長&#xff0c;從社交媒體上的用戶互動信息&#xff…

python學習打卡day59

DAY 59 經典時序預測模型3 知識點回顧&#xff1a; SARIMA模型的參數和用法&#xff1a;SARIMA(p, d, q)(P, D, Q)m模型結果的檢驗可視化&#xff08;昨天說的是摘要表怎么看&#xff0c;今天是對這個內容可視化&#xff09;多變量數據的理解&#xff1a;內生變量和外部變量多變…

java中agent的作用

一 java中agent1.1 agent-javaagent 是 Java 虛擬機 (JVM) 提供的一個啟動參數&#xff0c;用于在 Java 程序 main 方法執行之前&#xff0c;加載一個特殊的 Java 代理程序&#xff08;Java Agent&#xff09;。它的核心作用是對運行中的 Java 程序進行字節碼層面的動態修改、監…

[C/C++內存安全]_[中級]_[如何避免數組訪問越界]

場景 C/C的標準在C26以前還沒支持內存安全的訪問連續內存的類或特性。在開發分析內存數據或文件數據的程序時&#xff0c;經常需要把一段內存數據復制到另一個堆空間里。 這時目標內存空間由于起始地址的移動&#xff0c;剩余大小的計算錯誤&#xff0c;經常會導致訪問越界錯誤…

rabbitmq 與 Erlang 的版本對照表 win10 安裝方法

win10 64位系統 安裝的版本 otp_win64_27.3.3.exe rabbitmq-server-4.1.1.exe rabbitmq 與 Erlang 的版本對照表 Erlang Version Requirements This guide covers Erlang/OTP version requirements https://www.rabbitmq.com/docs/which-erlang Erlang 28 is not currently…

kali安裝教程

kali教程 我下載的是kali的集成環境&#xff0c;可以直接進行打開&#xff0c;無需進行安裝。 Get Kali | Kali Linux&#xff0c; 官網下載路徑 直接按enter鍵 安裝完成 生成一個小皮安裝鏈接 會給你生成一個外網和內網地址&#xff0c; 可以進行瀏覽 點擊我同意這個協議…

微信小程序入門實例_____快速搭建一個快遞查詢小程序?

&#x1f337;&#x1f337;之前幾篇博文我們一起開發了天氣查詢、單詞速記和待辦事項小程序&#xff0c;這次我們來對生活中常用的功能 —— 快遞查詢來探索相關的小程序。網購已經成為大家生活的一部分&#xff0c;有了自己的快遞查詢小程序&#xff0c;不用切換多個應用&…

【防火墻基礎之傳統墻到 UTM 到 NGFW 再到 AI 的變化】

防火墻技術演進與未來趨勢&#xff1a;從傳統防御到AI驅動的智能安全 防火墻技術歷經數十年發展&#xff0c;已從早期的簡單包過濾演進為融合AI的智能安全平臺。當前&#xff0c;傳統爬蟲防護技術如頻率限制和人機校驗已無法應對現代攻擊&#xff0c;而全面風控體系通過多維協同…

【仿muduo庫實現并發服務器】Poller模塊

仿muduo庫實現并發服務器 1.Poller模塊成員變量創建epoll模型對于一個描述符添加或修改事件監控對于一個描述符移除事件監控啟動epoll事件監控&#xff0c;獲取所有活躍連接 1.Poller模塊 Poller模塊主要是對任意的描述符進行IO事件監控。 它是對epoll的封裝&#xff0c;可以讓…

小程序學習筆記:使用 MobX 實現全局數據共享,實例創建、計算屬性與 Actions 方法

在小程序開發過程中&#xff0c;組件間的數據共享是一個常見且關鍵的問題。今天&#xff0c;我們就來深入探討一下如何在小程序中實現全局數據共享&#xff0c;借助 MobX 相關的包&#xff0c;讓數據管理變得更加高效便捷。 什么是全局數據共享 全局數據共享&#xff0c;也被…

觀測云 × AWS SSO:權限治理可觀測實踐

AWS IAM Identity Center 介紹 AWS IAM Identity Center&#xff08;原 AWS Single Sign-On&#xff09;是 AWS 提供的一項云原生身份與訪問管理&#xff08;IAM&#xff09;服務&#xff0c;旨在集中簡化多 AWS 賬戶、多業務應用的安全訪問控制。 觀測云 觀測云是一款專為 …

springboot整合配置swagger3

一. swagger3介紹 Swagger 3 是基于 OpenAPI 規范 3.0 的 API 文檔工具&#xff0c;用于設計、構建和消費 RESTful API。它通過標準化描述 API 的接口、參數、響應等元數據&#xff0c;實現以下核心功能&#xff1a; 自動生成交互式文檔API 測試與調試代碼生成&#xff08;客…

RabbitMQ 4.1.1初體驗

為什么選擇 RabbitMQ&#xff1f;* RabbitMQ 是一款可靠且成熟的消息代理和流處理中間件&#xff0c;可輕松部署在云端、本地數據中心或您的開發機上&#xff0c;目前已被全球數百萬用戶使用。 優勢在哪里 互操作性 RabbitMQ 支持多種開放標準協議&#xff0c;包括 AMQP 1.0 和…

【精華】QPS限流等場景,Redis其他數據結構優劣勢對比

下面是一個詳細的 Redis 數據結構對比表&#xff0c;比較它們在實現 QPS 限流 / 滑動窗口統計 / 查定比監控等場景中的適用性&#xff1a; ? Redis 數據結構對比表&#xff08;用于接口限流 / QPS 監控&#xff09; 維度String INCR 固定窗口List 滑動窗口Hash 計數器ZSet 滑…

頂層設計:支持單元化、灰度化的應用架構

一、頂層目標 業務連續性&#xff1a;任何單元故障不影響整體彈性伸縮&#xff1a;根據業務流量橫向擴展靈活灰度&#xff1a;任何發布都可逐步平滑上線成本可控&#xff1a;單元化帶來的資源冗余最小 二、核心理念 設計目標核心理念單元化垂直拆分&#xff0c;分而治之&…

MacOS Safari 如何打開F12 開發者工具 Developer Tools

背景 If you’re a web develper, the Safari Develop menu provides tools you can use to make sure your website works well with all standards-based web browsers. 解決 If you don’t see the Develop menu in menu bar, Choose Safari > settingsClick Advanced…

2025—暑期訓練一

A 本題描述了一個最優路徑規劃問題的解法&#xff0c;核心思路是利用數軸上區間覆蓋的特性&#xff0c;將問題簡化為兩個端點的訪問問題。以下是關鍵點的詳細解析&#xff1a; 核心觀察 區間覆蓋特性 給定的位置數組 x1, x2, ..., xn 是嚴格遞增的&#xff08;即 x1 < x2 …

ubuntu 18.04配置鏡像源

配置鏡像源的主要作用是優化軟件下載速度、提升系統更新穩定性&#xff0c;并確保軟件包獲取的可靠性 我這里配置阿里云鏡像源 鏡像的具體內容參考此文: 文章鏈接 以防萬一,先備份一下 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后開始修改 sudo nano /etc…

RecyclerView中跳轉到最后一條item并確保它在可視區域內顯示

在RecyclerView中跳轉并顯示最后一條Item 要在RecyclerView中跳轉到最后一條item并確保它在可視區域內顯示&#xff0c;可以使用以下幾種方法&#xff1a; 1. 使用scrollToPosition()方法&#xff08;基本方法&#xff09; recyclerView.scrollToPosition(adapter.getItemCo…