Python學習3 字符串和相關常用函數

字符串聲明

雙引號,單引號,三單引號,三雙引號
里面有雙引號,外面使用單引號
里面有單引號,外面使用雙引號
或者使用轉義字符

#字符串
m='hello'
n="hello"
#里面有雙引號,外面使用單引號
a='"hello"'
#里面有單引號,外面使用雙引號
b="I'm dq"
c='''hello'''
d="""hello"""i='''I say:"ok"'''
j="""I'dq"""print(a,b,c,d,i,j,sep='\n')

注意:不能字符串+數字,會報錯,必須兩者都是字符串

#報錯TypeError: can only concatenate str (not "int") to str
print("3243"+3)
print("3243" + 3+"2343")

規定:
兩個字符串類型的數據使用加法運算符,用來拼接兩個字符串。在Python里數字和字符串不能做加法運算。

數字和字符串之間使用乘法運算符,用于將字符串重復多次。

字符串之間使用比較運算符,會根據各個字符的編碼值逐一進行比較。

數字和字符串之間,做 == 運算的結果是 False,做 != 運算的結果是 True,其它的比較運算均不支持,否則會報錯。

易錯題:

#2
print(‘127’+‘124’)
#真實情況下輸出127124,但答題的時候加上‘’

1)
在這里插入圖片描述
2)
在這里插入圖片描述
3)
在這里插入圖片描述

轉義字符

\n換行
\t水平制表符
\斜杠
\r是回車,光標到行首
\v:垂直制表
如:
aaaa水平

a
a
a
a垂直
tab默認四個空格


#字符串2-轉義字符
m='he\'ll\'o'
n="he\"ll\"o"
print(m,n,sep='\n')

格式化打印字符串

格式化打印字符串有兩種方式:
1.可以使用 % 占位符來表示格式化一個字符串。
%s == > 字符串占位符。
%d == > 整數占位符。
%nd == > 打印時顯示 n 位,如果不夠,在前面使用空格補齊。
%f == > 浮點數占位符。
%. nf == > 保留小數點后 n 位。
%x == > 將數字使用十六進制輸出。
%% == > 輸出一個 % 。

2.format()方式
在這里插入圖片描述
在這里插入圖片描述

字符串下標

1.字符串下標
0–n-1
-n-(-1)

2.字符串一旦定義不能發生變化
x=‘89’
x[0]=‘3’(錯誤)
x=‘2345’(指向一個新的字符串)
在這里插入圖片描述

3.字符串切片
字符串名稱[start :end :step]
【start,end)
step默認為1,從左往右取
如果只設置start,會“截取”到最后。
如果只設置end,會從頭開始“截取”到end前一個字符。
這三個都可以缺省,即取出所有的

正向:

#字符串3-切片1
x='1234567'
#[start:end)從0開始-12
print(x[0:2:1],sep='\n')
#[start:end)從0開始-1234567
print(x[0:7:1],sep='\n')
#全部缺省,取出所有的-1234567
print(x[::],sep='\n')
#取出[1,3)--123
print(x[:3:],sep='\n')
#隔2個取--1357
print(x[0::2],sep='\n')

逆向:
step=-1從右往左取

#字符串3-切片2
x='1234567'
#(-n)--(-1):這里-7--(-1)
#step=1從左向右--34
print(x[-5:-3:1],sep='\n')
#step=-1從右到左,7654
print(x[-1:-5:-1],sep='\n')
#從第-2到第-5,從右往左,每隔兩個字符做1次切片,輸出64
print(x[-2:-5:-2])
##從右往左每隔3個字符做1次切片,輸出741
print(x[::-3],sep='\n')

易錯題:
只有單個數字【n】,是取出單個字符


#3
s="abcdef"
#【-6,-1】
#【0,5】
print(s[3],s[-3],s[0:-3],s[:-3],sep='\n')
#輸出
# d
# d--(-3)從右到左第三個-1,-2,-3
# abc--【0,-3)從頭開始,到第三個字符-6,-5,-4
# abc--從頭開始,到第三個字符
#4
s="ABCDEFG"
#[0,6]
#[-7,-1]
print(s[4],s[-4],s[0:-4],s[:-4],sep="\n")
#-7-6-5-4-3-2-1
#0123456
#對應ABC
#s[4]--E
#s[-4]--D
#s[0:-4]--ABC[0,-4)
#s[:-4]--ABC[0,-4)

在這里插入圖片描述

字符串常見函數

在這里插入圖片描述

獲取字符串長度-len()函數

在這里插入圖片描述

查找內容-find()函數

描述:查找字符串中指定的子字符串sub第一次出現的位置,可以規定字符串的索引查找范圍。若無則返回 -1。

語法:str.find(sub,start,end) -> int 返回整數
sum —要索引的子字符串。
start —索引的起始位置。默認值為0。
end —索引的結束位置。默認值為字符串長度len(str)。
[start,end) 不包括end。

#字符串函數-find
x='i love python'
#語法:字符串名稱。find(子字符串,開始位置,結束位置)
#返回字符子串python第一次出現的位置(下標,從0開始)
print(x.find('python',0,len(x)),end='\n')
#沒有查找到就返回-1
print(x.find('python',0,6),end='\n')

查找內容-rfind()函數

描述:查找字符串中指定的子字符串sub最后一次出現的位置,可以規定字符串的索引查找范圍。若無則返回 -1。

語法:str.rfind(sub,start,end) -> int 返回整數
sum —要索引的子字符串。
start —索引的起始位置。默認值為0。
end —索引的結束位置。默認值為字符串長度len(str)。
[start,end) 不包括end。

注:rfind()函數用法與find()函數相似,rfind()函數返回指定子字符串最后一次出現的位置,find()函數返回指定子字符串第一次出現的位置。

#字符串函數-rfind
x='ip lovnep python'
#語法:字符串名稱。find(子字符串,開始位置,結束位置)
#返回字符子串python最后一次出現的位置(下標,從0開始)--n
print(x.rfind('n',0,len(x)),end='\n')
#查的是第一個字符:p--10
print(x.rfind("python"))
#沒有查找到就返回-1
print(x.rfind('python',0,6),end='\n')

查找內容-index()函數

描述:查找字符串中第一次出現的子字符串的位置,可以規定字符串的索引查找范圍[star,end)。若無則會報錯。

語法:str.index(sub, start, end) -> int 返回整數
sub —— 查找的子字符串。
start —— 索引的起始位置,默認為0。
end —— 索引的結束位置,默認為字符串的長度。
[star,end)


# 字符串函數-index
str = "i love python"
# 與find用法一致
print(str.index("p", 4, 12))
# 若無則會報錯-ValueError: substring not found
print(str.index("k", 4, 12))
print(str.index("i"))

查找內容-rindex()函數

描述:查找字符串中最后一次出現的子字符串的位置,可以規定字符串的索引查找范圍[star,end),若無則會報錯。

語法:str.rindex(sub, start, end) -> int 返回整數。
sub —— 查找的子字符串。
start —— 索引的起始位置,默認為0。
end —— 索引的結束位置,默認為字符串的長度。
[star,end)


#字符串函數-rindex
str = "i love python python"
#返回字符子串p后一次出現的位置(下標,從0開始)
print(str.rindex("p"))
#返回字符子串o后一次出現的位置(下標,從0開始)
print(str.rindex("o",0,len(str)))
# 若無則會報錯-ValueError: substring not found
print(str.rindex("x"))

判斷-endswith()函數

描述:判斷字符串是否以指定字符或子字符串結尾。

語法:str.endswith(“suffix”, start, end) 或
str[start,end].endswith(“suffix”) 用于判斷字符串中某段字符串是否以指定字符或子字符串結尾。
—> bool 返回值為布爾類型(True,False)
suffix — 后綴,可以是單個字符,也可以是字符串,還可以是元組("suffix"中的引號要省略)。
start —索引字符串的起始位置。
end — 索引字符串的結束位置。
str.endswith(suffix) star默認為0,end默認為字符串的長度減一(len(str)-1)。
注意:空字符的情況。返回值通常也為True

#字符串函數-endswith
#查找字符串是否以字符結尾,是返回True,不是返回False
str = "i love python"
#True
print(str.endswith("n"))
#False
print(str.endswith("n",0,6))
#True
print(str.endswith("python"))
#True
print(str.endswith("python",0,len(str)))
#True-空字符串
print(str.endswith(""))

判斷-startswith()函數

描述:判斷字符串是否以指定字符或子字符串開頭。
用法與endswitch一致

#字符串函數-startswith
#查找字符串是否以字符開頭,是返回True,不是返回False
str = "ilove python"
#True
print(str.startswith("i"))
#True
print(str.startswith("i",0,6))
#True
print(str.startswith("ilove"))
#False
print(str.startswith("python",0,len(str)))
#True-空字符串
print(str.startswith(""))

判斷-isalpha()函數

isalpha()的作用是檢查一個字符串中所有的字符是否都是由字母構成的,并且至少有1個字符。
string_name.isalpha()

該函數沒有參數。
string_name是要判斷的字符串或字符串變量。
如果字符串中除了字母和中文外,不包括任何其它字符(數字,符號等)且不是空字符串,則返回True,否則返回False.
示例:
在這里插入圖片描述

判斷- isdigit() 函數

isdigit()方法檢測字符串是否只由數字組成。
如果字符串只包含數字則返回 True 否則返回 False。

str = "123456"  #True
print (str.isdigit())str = "this is string example....wow!!!"#False
print (str.isdigit())str = "thisd22is string example....wow!!!"#False
print (str.isdigit())
str = "可靠 11"#False
print (str.isdigit())

判斷-isalnum()函數

檢查一個字符串是否是由某門語言的有效字符或數字構成。
1)該函數檢查字符串是否由字母[a-z,A-Z](也包括構成其它語言的字符,如漢字,俄文,日文,韓文)或數字[0-9]及其組合組成的,如果是則返回True,否則返回False。

3)組成字符串的字符中有是空字符串,不能有特殊字符,不可打印字符,控制符,標點符號等返回False。

isalnum使用的例子
1、字符串僅包含字母str1 = "Python"
print(str1.isalnum())輸出:True2、字符串僅包含數字str1 = "5211314"
print(str1.isalnum())輸出:True3、字符串由字母或數字組成str1 = "HelloPython3"
print(str1.isalnum())輸出:True4、字符串由字母和漢字組成rtn_value = "翔宇亭IT樂園".isalnum()
print(rtn_value)輸出:True只包括漢字和英文字母,所以為True.5、字符串中包含空格str1 = "I am a student"
print(str1.isalnum())輸出:False6、字符串中包含標點符號str1 = "Perfect!"
print(str1.isalnum())輸出:False7、字符串中包含大小寫的字母str1 = "GoodBoy123"
print(str1.isalnum())輸出:True8、空字符str1 = ""
print(str1.isalnum())輸出:False9、非英文字母str1 = "Ятебялюблю" #俄語
print(str1.isalnum())輸出:True10、包含特殊字符str1 = "Hello@biye5u"
print(str1.isalnum())輸出:False

判斷-isspace()函數

isspace()的作用是檢查字符串是否僅包含空白字符(純空白字符”“,’‘,轉義字符\n,\t,\v,\r),如果字符串僅包含空白字符則返回True,否則返回False。

示例1:
在這里插入圖片描述
示例2:
在這里插入圖片描述

計算-出現次數count()函數

描述:統計字符串里某個字符出現的次數。可以選擇字符串索引的起始位置和結束位置。

str = "i love python,i am learning python"print(str.count("i"))print(str.count("i",2))print(str.count("i",2,5))print(str.count("am"))

替換內容-replace()函數

replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。

str.replace(old, new[, max])
old – 將被替換的子字符串。

new – 新字符串,用于替換old子字符串。

max – 可選字符串, 替換不超過 max 次

返回字符串中的 old(舊字符串) 替換成 new(新字符串)后生成的新字符串,如果指定第三個參數max,則替換不超過 max 次。

實例
str = "this is string example....wow!!! this is really string"
print (str.replace("is", "was"))
print (str.replace("is", "was", 3))
輸出:thwas was string example…wow!!! thwas was really stringthwas was string example…wow!!! thwas is really string

易錯題:
字符串下標從0開始
在這里插入圖片描述

a="abcd"
print(a)
str=a.replace('a','e') #改變的不是原字符串
print(a)
print(str)#是生成一個新字符串a='e'+a[1:]
print(a)

切割字符串-partition()函數:

描述:根據指定的分隔符(sep)將字符串進行分割。從字符串左邊開始索引分隔符sep,索引到則停止索引。

語法:str.partition(sep) -> (head, sep, tail) 返回一個三元元組,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。

#字符串-partition
#partition('分隔符')指定的分隔符(sep)將字符串進行分割
#遇到第一個分隔符就停止
#有:返回(分隔符左邊,分隔符,分隔符右邊)
#無:返回(整個字符串,分隔符)
str = "https://www.baidu.com/"print(str.partition("://"))
print(str.partition(","))
print(str.partition("."))
print(type(str.partition("://")))
# 輸出:
# ('https', '://', 'www.baidu.com/')
# ('https://www.baidu.com/', '', '')
# ('https://www', '.', 'baidu.com/')
# <class 'tuple'>

切割字符串-rpartition()函數

描述:根據指定的分隔符(sep)將字符串進行分割。從字符串右邊(末尾)開始索引分隔符sep,索引到則停止索引。

語法:str.rpartition(sep) -> (head, sep, tail) 返回一個三元元組,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。

#字符串-rpartition
#rpartition('分隔符')指定的分隔符(sep)將字符串進行分割--從右往左
#遇到第一個分隔符就停止
#有:返回(分隔符左邊,分隔符,分隔符右邊)
#無:返回(分隔符,整個字符串)
str = "https://www.baidu.com/"print(str.rpartition("://"))
print(str.rpartition(","))
print(str.rpartition("."))
print(type(str.rpartition("://")))
# 輸出:
# ('https', '://', 'www.baidu.com/')
# ('', '', 'https://www.baidu.com/')
# ('https://www.baidu', '.', 'com/')
# <class 'tuple'>

切割字符串-split()函數

描述:拆分字符串。通過指定分隔符sep對字符串進行分割,并返回分割后的字符串列表。

語法:str.split(sep=None, maxsplit=-1) -> list of strings 返回 字符串列表 或str.split(sep=None, maxsplit=-1)[n]

sep —— 分隔符,默認為空格,但不能為空即(")。
maxsplit —— 最大分割參數,默認參數為-1。
[n] —— 返回列表中下標為n的元素。列表索引的用法。

#字符串函數-split()
a="d/q.i/s.co/ding"
#沒有分割,輸出整個字符串--['dqiscoding']
print(a.split())
#以.分割--['dq', 'is', 'coding']
print(a.split("."))
#分割后的字符串的第一個,再次分割,從0開始
print(a.split('.')[0].split('/'))
print(a.split('.')[1].split('/'))

切割字符串-rsplit()函數

rsplit() 方法通過指定分隔符對字符串進行分割并返回一個列表,默認分隔符為所有空字符,包括空格、換行(\n)、制表符(\t)等。類似于 split() 方法,只不過是從字符串最后面開始分割。

#字符串函數-rsplit()
#從字符串最后面開始分割,但輸出時還是從前面往后輸出
a="d/q.i/s.co/ding"
#沒有分割,輸出整個字符串--['dqiscoding']
print(a.rsplit())
#以.分割--['dq', 'is', 'coding']
print(a.rsplit("."))
#1為最大分割次數,此時只分割一次
print(a.rsplit(".",1))
#分割后的字符串的第一個,再次分割,從0開始
print(a.rsplit('.')[0].rsplit('/'))
print(a.rsplit('.')[1].rsplit('/'))

切割字符串-splitlines()函數

splitline()方法用于在線邊界處分割線。該函數返回字符串中的行列表,包括換行符(可選)。

用法:

string.splitlines([keepends])
參數:
keepends(可選):當設置為True時,結果列表中將包含換行符。
這可以是一個數字,指定換行的位置,也可以是任何Unicode字符,例如“\n”,“\r”,“\r\n”等作為字符串的邊界。

代碼#1

string = “Welcome everyone to\rthe world of Geeks\nGeeksforGeeks”
print (string.splitlines( ))
print (string.splitlines(0))
print (string.splitlines(True))

輸出:

[‘Welcome everyone to’, ‘the world of Geeks’, ‘GeeksforGeeks’]

[‘Welcome everyone to’, ‘the world of Geeks’, ‘GeeksforGeeks’]

[‘Welcome everyone to\r’, ‘the world of Geeks\n’, ‘GeeksforGeeks’]

代碼#2

string = “Cat\nBat\nSat\nMat\nXat\nEat”

print (string.splitlines( ))
print(‘India\nJapan\nUSA\nUK\nCanada\n’.splitlines())

輸出:

[‘Cat’, ‘Bat’, ‘Sat’, ‘Mat’, ‘Xat’, ‘Eat’]

[‘India’, ‘Japan’, ‘USA’, ‘UK’, ‘Canada’]

修改大小寫-capitalize()函數

描述:將字符串的第一個字母變成大寫,其余字母變為小寫。

語法:str.capitalize() —> str 返回字符串

程序示例:

str1 = "i Love python"str2 = " i Love python"str3 = "I Love python"print(str1.capitalize())print(str2.capitalize())print(str3.capitalize())程序運行結果: 
I love pythoni love pythonI love python

修改大小寫-title()函數

描述:返回一個滿足標題格式的字符串。即所有英文單詞首字母大寫,其余英文字母小寫。

語法:str.title() -> str 返回一個字符串

程序示例:

str = "i love python"print(str.title())程序運行結果: 
I Love Python

修改大小寫-upper()函數

描述:將字符串中的所有小寫字母轉換為大寫字母。

語法:str.upper() -> str 返回字符串

程序示例:

str1 = "i love python"  str2 = "I Love Python"  print(str1.upper())print(str2.upper())程序運行結果:
I LOVE PYTHONI LOVE PYTHON

修改大小寫-lower()函數

描述:將字符串中的所有大寫字母轉換為小寫字母。

語法:str.lower() -> str 返回字符串

程序示例:

str1 = "I Love Python"str2 = "Gro? - α" print(str1.lower())
print(str2.lower())程序運行結果:i love python
gro? - α

空格處理-ljust()函數

描述:返回一個原字符串左對齊,并使用fillchar填充(默認為空格)至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。

語法:str.ljust(width, fillchar) -> str 返回一個新的字符串

width —— 指定字符串的輸出長度。

fillchar—— 將要填充的單字符,默認為空格。

程序示例:

str = "python"print(str.ljust(30,"*"))print(str.ljust(30))print(str.ljust(30),"1")程序運行結果:
python************************pythonpython                         1

空格處理- rjust()函數

描述:返回一個原字符串右對齊,并使用fillchar填充(默認為空格)至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。

語法:str.ljust(width, fillchar) -> str 返回一個新的字符串

width —— 指定字符串的輸出長度。

fillchar—— 將要填充的單字符,默認為空格。

程序示例:
str = "python"print(str.rjust(30,"*"))print(str.rjust(30))print("1",str.rjust(30))程序運行結果:
************************pythonpython1                         python

空格處理-center()函數

描述:返回一個長度為width,兩邊用fillchar(單字符)填充的字符串,即字符串str居中,兩邊用fillchar填充。若字符串的長度大于width,則直接返回字符串str。

語法:str.center(width , “fillchar”) -> str 返回字符串 注意:引號不可省

width —— 指定字符串長度。

fillchar —— 要填充的單字符,默認為空格。

程序示例:

str = "i love python"print(str.center(20,"*"))print(str.center(1,"*"))print(str.center(20,"8"))print(str.center(20))程序運行結果:
***i love python****i love python888i love python8888i love python

空格處理–strip()函數

描述:從字符串str中去掉在其左右兩邊chars中列出的字符。

注:chars傳入的是一個字符數組,編譯器去除兩端所有相應的字符,直到出現第一個在chars中不匹配的字符。詳看示例。

語法:str.strip(chars) -> str 返回一個新的字符串
chars —— 要去除的字符 默認為空格或換行符。

#字符串函數-strip
str = "123456789321"
#strip()從字符串str中去掉在其左右兩邊chars中列出的字符
#去掉了兩邊包含123的字符--456789
print(str.strip("123"))
str1 = "my name is ymyyyy"
#去掉了兩邊包含myis空格的字符--name
print(str1.strip("my is"))
print(str1.strip("my "))

空格處理–lstrip()函數

描述:從字符串str中去掉在其左邊chars中列出的字符。

#字符串函數-lstrip
#去掉左邊列出的字符,直到遇到第一個在chars中不匹配的字符
str1 = "bacjabck123kluabc"
print(str1.lstrip("abc"))
str2 = "12578asdfgh12"
print(str2.lstrip("12"))

空格處理-rstrip()函數

描述:從字符串str中去掉在其右邊chars中列出的字符。

#字符串函數-rstrip
#去掉右邊列出的字符,直到遇到第一個在chars中不匹配的字符
str1 = "bacjabck123kluabc"
print(str1.rstrip("abc"))
str2 = "12578asdfgh12"
print(str2.rstrip("12"))

字符串拼接-join()函數

join(): 連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串
語法: ‘sep’.join(seq)

參數說明
sep:分隔符。可以為空
seq:要連接的元素序列、字符串、元組、字典
上面的語法即:以sep作為分隔符,將seq所有的元素合并成一個新的字符串

返回值:返回一個以分隔符sep連接各個元素后生成的字符串


#對字符串進行操作>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

maketrans()方法

描述
maketrans() 方法用于創建字符映射的轉換表,對于接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標。

兩個字符串的長度必須相同,為一一對應的關系。
maketrans()方法語法:
str.maketrans(intab, outtab)
參數
intab – 字符串中要替代的字符組成的字符串。
outtab – 相應的映射字符的字符串。
返回值
返回字符串轉換后生成的新字符串。
使用maketrans() 方法將所有元音字母轉換為指定的數字:

intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)str = "this is string example....wow!!!"
print (str.translate(trantab))
以上實例輸出結果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!

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

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

相關文章

Linux高性能服務器編程 第5章 Linux網絡編程基礎API

5.1 socket 地址 API 現代CPU的累加器一次都能裝載(至少)4 字節(這里考慮32位機&#xff0c;下同)&#xff0c;即一個整 數。那么這4 字節在內存中排列的順序將影響它被累加器裝載成的整數的值。這就是字節序 問題。字節序分為大端字節序(big endian)和小端字節序(little endi…

Java web后端1 XML URI與URL HTTP Tomcat

tomcat地址 規則&#xff1a;http://localhost:8080/項目名/文件名.html http://localhost:8080/WebProject/test.html解決Tomcat 8080端口被占用的情況&#xff1a; cmd中輸入netstat -ano 最后一列的8080&#xff0c;找到PID&#xff0c;然后在任務管理器中&#xff0c;關…

STL源碼剖析 基本算法 < stl_algobase.h >

注意事項 &#xff1a; 實際使用的時候&#xff0c;使用的是<algorithm>這個頭文件&#xff0c;不是題目中的< stl_algobase.h > equal函數 如果兩個序列在&#xff3b;firsLlast&#xff09; 區間內相等&#xff0c;equal() 返 回 true.如果第二序列的元素比較…

華為彈性云服務器ECS使用學習0

學習大綱 ECS概述 組成&#xff1a;CPU,內存&#xff0c;鏡像&#xff0c;操作系統&#xff0c;云硬盤 ECS產品優勢 彈性伸縮AS&#xff08;彈性可擴展&#xff09; ECS產品架構 Region:地理位置和網絡時延的劃分&#xff0c;同一個Region中共享計算和存儲資源&#xff…

STL源碼剖析 set相關算法

STL 一共提供了四種與set (集合)相關的算法&#xff0c;分別是并集(union)、交集(intersection) > 差集 (difference)、對稱差集 (symmetricdifference所謂set,可細分為數學上的定義和STL的定義兩種&#xff0c;數學上的set允許元素重復而未經排序&#xff0c;例 如 &#x…

C++ 使用遞增的方式初始化 一個 vector

int countOdds(int low, int high) {int count 0;std::vector<int>temp{high-low1,0};int n low;std::generate(temp.begin(),temp.end(),[&]{return n;});for (auto x:temp) {std::cout << x;}} 使用Itoa std::iota int countOdds(int low, int high) {in…

Python學習4 列表基礎知識和常用函數

列表 1.格式 2.增刪改查 列表下標&#xff1a; 0–n-1 -n-(-1) #對列表進行切片 #0-(n-1) #-n-(-1) list[dq,python,mm] print(list[0:2])#[0,2) print(list[-3:-2])#[-3,-2) #輸出 #[dq, python] #[dq]題目&#xff1a; 【1&#xff1a;4&#xff1a;2】:[1,4),步長為2 下…

Python學習5 元組基礎知識和常用函數

元組概念 元組&#xff1a;a&#xff08;1&#xff0c;23&#xff09; 列表&#xff1a;a [1,23] 創建和訪問元組 Python 的元組與列表類似&#xff0c;不同之處在于tuple被創建后就不能對其進行修改&#xff0c;類似字符串。 元組與列表類似&#xff0c;也用整數來對它進行…

STL源碼剖析 仿函數

仿函數 也叫函數對象1&#xff0c;具有函數性質的對象&#xff1b;2&#xff0c;這種東西在調用者可以像函數一樣地被調用(調用)&#xff0c;在被調用者則以對象所定義的function call operator扮 演函數的實質角色。要將某種 “操作”當做算法的參數&#xff0c;唯一辦法就是先…

Python學習6 字典基礎知識和常用函數

字典概念 字典是 Python 提供的一種常用的數據結構&#xff0c;它用于存放具有映射關系的數據。為了保存具有映射關系的數據&#xff0c;Python 提供了字典&#xff0c;字典相當于保存了兩組數據&#xff0c;其中一組數據是關鍵數據&#xff0c;被稱為 key&#xff1b;另一組數…

EndNote概述

概述 EndNote 是SCI&#xff08;Thomson Scientific 公司&#xff09;的官方軟件&#xff0c;支持國際期刊的參考文獻格式有3776 種&#xff0c;寫作模板幾百種&#xff0c;涵蓋各個領域的雜志。簡單來說EndNote的功能就是替你管理文獻&#xff0c;一鍵插入固定格式的參考文獻…

Java web后端2 Servlet Maven HttpServlet ServletConfig ServletContext HTTP協議

創建項目 新建項目 Java Enterprise JDK1.8 Web Application Tomcat JAVA 默認 過程需要聯網 Maven的配置 IDEA內置Maven 修改本地倉庫位置&#xff0c;因為以后會越來越大 替換配置文件&#xff1a; 阿里云鏡像下載 Servlet基礎 1.動態Web資源開發 2.Servlet是使用J…

STL源碼剖析 配接器

配接器(adapters)在 STL組件的靈活組合運用功能上&#xff0c;扮演著軸承、轉換器的角色。Adapter這個概念&#xff0c;事實上是一種設計模式(design pattern)。 Design Patterns)) 一書提到23個最普及的設計模式&#xff0c;其中對odopter樣式的定義如下&#xff1a;將 一個cl…

中科大 計算機網絡3 網絡邊緣Edge

網絡結構 邊緣系統 網絡核心 接入網 方塊&#xff1a;邊緣系統(主機) 圓的&#xff1a;網絡核心&#xff0c;數據交換作用 連接邊緣系統和網絡核心的叫做接入網&#xff08;access&#xff09;&#xff0c;把邊緣的主機接入到網絡核心&#xff08;所以是分布式的&#xff09; …

STL源碼剖析 入門開始 STL概論與版本簡介

源代碼之中時而會出現一些全局函數調用操作&#xff0c;尤其是定義于<stl_construct.h> 之中用于對象構造與析構的基本函數&#xff0c;以及定義于<stl_uninitialized.h>之 中 用 于 內 存 管 理 的 基 本 函 數 &#xff0c; 以及定義于<stl_algobase.h>之中…

中科大 計算機網絡4 網絡核心Core 分組交換 電路交換

網絡核心 電路交換&#xff08;線路交換&#xff09;&#xff1a;打電話之前&#xff0c;先建立一條鏈路&#xff08;物理&#xff09; 分組交換&#xff1a;存儲轉發的方式 電路交換&#xff08;線路交換&#xff09; 通過信令&#xff08;控制信息&#xff0c;如&#xf…

STL 源碼剖析 空間配置器

以STL的運用角度而言&#xff0c;空間配置器是最不需要介紹的東西&#xff0c;它總是隱藏在一切組件&#xff08;更具體地說是指容器&#xff0c;container&#xff09; 的背后但是STL的操作對象都存放在容器的內部&#xff0c;容器離不開內存空間的分配為什么不說allocator是內…

中科大 計算機網絡7 分組延遲 分組丟失 吞吐量

分組丟失和延遲的原因 隊列太長沒有意義&#xff0c;用戶需求 排隊&#xff1a;輸出能力<到來的分組&#xff0c;需要等待 四種分組延遲 節點處理延遲&#xff1a;確定的 排隊延遲&#xff1a;隨機&#xff0c;取決于網絡情況 一個比特的傳輸時間&#xff1a; R1Mbps …

STL源碼剖析 迭代器iterator的概念 和 traits編程技法

iterator模式定義如下&#xff1a;提供一種方法&#xff0c;使之能夠依序巡訪某個 聚合物(容器)所含的各個元素&#xff0c;而又無需暴露該聚合物的內部表述方式.STL的中心思想在于&#xff1a;將數據容器(containers)和算法(algorithms)分開&#xff0c;彼此獨立設計&#xff…

中科大 計算機網絡11 應用層原理

應用層大綱 傳輸層向應用層提供的服務&#xff0c;形式是Socket API&#xff08;原語&#xff09; 一些網絡應用的例子 互聯網層次中&#xff0c;應用層協議最多 流媒體應用&#xff1a;直播 網絡核心最高的層次就是網絡層 應用進程通信方式 C/S&#xff1a; 客戶端&…