主頁 >  其他 > 第三講 Python中的資料結構

第三講 Python中的資料結構

2022-08-20 10:28:05 其他

3.1  Python中的索引和切片

3.1.1  Python中的索引

◆索引:我們可以直接使用索引來訪問序列中的元素,同時索引可分為正向和負向兩種,而切片也會用到索引,支持字串(String)、串列(List)、元組(Tuple)【不可變】,但不支持集合和字典【可變】,

◆序列:包括字串(String)、串列(List)、元組(Tuple)、集合和字典,

下面放上一個圖,有助于大家理解正、負向索引的區別,如圖所示:

?正向索引取值,例:

str='python'  print(str[0])#輸出p   print(str[3])#輸出h

print(str[6])#報錯,索引越界string index out of range

?負向索引取值,例:

str='python'  print(str[-1])#輸出n

3.1.2  Python中的切片

◆切片:指對操作的物件截取其中一部分的操作,字串、串列、元組都支持切片操作,

◆切片的語法:[start_index : end_index : step]

?start_index表示起始索引,即索引開始的位置     

?end_index表示結束索引,即結束索引的步長,

?step表示步長,即表示選取間隔,步長不能為0,且默認值為1

注意:切片操作是指按照步長,截取從起始索引到結束索引,但不包含結束索引(也就是結束索引減1)的所有元素,

Python中的切片實體 :   str='python'  

?print(str[0:3])#從索引0開始到第三位結束,不包含第三位,即0,1,2位      print(str[1:3])       print(str[2:-1])

?print (str[:-1])#不設起始索引,默認從0位開始   

★切片反轉:str='python'   print(str[::-1])#輸出nohtyp

?print (str[2:])#不設結束索引,默認取到末尾   

?print (str[1:6:3])#輸出yo

?print(str[-1:-5])#步長為正則從左往右取值,結果為空

print(str[-5:-1])#輸出ytho   

?print(str[-1:-5:-1])#從右往左確定數位,步長為負則從右往左取值#輸出noht

?print(str[2::-1])#輸出typ  print(str[:2:-1])#noh    

?print(str[::-1])#輸出nohtyp   print(str[::1])#輸出python

print(str[::-2])#輸出結果為nhy

print(str[::2])#輸出結果為pto

反轉輸出面試題常遇: 

print(str[-2:-5:-1])#輸出結果為oht

print(str[-5:-1:-1])#輸出結果為空

3.2  Python中的字串

3.2.1  字串

?字符:指類字形單位或符號,包括字母、數字、運算子號、標點符號和功能性符號以及其它字符,通常由8個二進制位(一個位元組)表示一個字符,

?字串:常用‘str’表示,由一連串字符組成,是Python中最常用的資料型別,用單引號''或者雙引號""來創建字串,

例:str1 = 'hello Kitty'     str2 = "hello Kitty"

3.2.2  字串常用函式

字串常用函式定義:表示每個輸入值對應唯一輸出值的一種對應關系,

◆?capitalize():使字串首字母大寫

str1='hello_are_you_ok'    print (str.capitalize())

?title():使字串首字母大寫

str1='hello_are_you_ok'      print(str1.title())

區別:capitalize只有整個字串的第一個字母大寫,title作用于整個字串內的單詞的首字母大寫,

◆lower():將字串中所有字母轉換為小寫字母輸出

str='ADFASDF'  print (str.lower())#輸出adfasdf

◆upper():將字串中的所有字符轉換為大寫字母輸出

str='AsWRsdfsdfDSF'  print (str.upper())#輸出ASWRSDFSDFDSF

◆count():統計具體字符出現的次數

str = 'abcad'       print (str.count('a'))

◆join():把集合中的字符按自定義的分隔符連接在一起

     str ="abcad"        print ('-'.join(str))#輸出a-b-c-a-d

◆split():把字串通過指定的識別符號進行分割

    str ="abcad"   print (str.split('b'))#指定分隔符存在時,去掉分隔符,剩下元素保留并轉化為一個串列,如['a', 'cad']

print (str.split('*'))#指定分隔符不存在時,所有元素轉化成一個串列,如:['abcad']

?例:把hello_python轉化為HelloPython.

方法1:str='helo_python'       方法2:s='helo_python'
st=str.title()               s1=s.title().split('_')
s=st.split('_')              print(s1[0]+s1[1])
print(s[0]+s[1])

#輸出HeloPython

◆strip(ab):洗掉字串開頭和結尾有a或b的字符

str ="abcad"  print (str.strip('ab'))#輸出cad

str ="abcad"  print (str.strip('ac'))#輸出bcad

str ="abcad"  print (str.strip('ad'))#輸出bc

◆lstrip(ab):洗掉字串開頭有ab序列字符

str ="abcad"  print (str.lstrip('a'))

#輸出bcad

◆rstrip(ab):洗掉字串結尾有ab序列字符

?str ="abcad"  print (str.rstrip('d'))#輸出abca

?s="abc_abc_abc_abc"print(s.lstrip('ac'))#bc_abc_abc_abc

?print(s.rstrip('acb'))#輸出abc_abc_abc_

◆startswith():判斷字串是否以什么開始

str ="abcad"  print (str.startswith('a'))

#這里輸出結果為true或false

◆endswith():判斷字串是否以什么結束

?str ="abcad"     print (str.endswith('d'))

#這里輸出結果為true或false

?例:nasa=input('請上傳正確的檔案:')
if nasa.endswith('.txt'):
    print('上傳成功')
else:
    print('上傳失敗')

◆find()/rfind():字串查詢find()是從左邊開始查,rfind()是從右邊開始查,確定元素后,最終下標結果依據正向索引顯示

str1 ="duoguladuo.test"    print (str1.find("o"))#輸出2
print (str1.rfind("o"))#輸出9 print (str1.rfind("l"))#輸出5

◆replace():replace(substring,newstring,max) substring表示被替換的字串,newstring要替換字串,max表示替換的次數

str2='duoguladuo.test'   ?print(str2.replace('g','t'))#duotuladuo.test

?print(str2.replace('g','t',2))#duotuladuo.test#替換兩個前往后
?print(str2.replace('o','s'))#替換次數不填,默認替換全部#dusguladus.test
?print(str2.replace('o','s',1))#dusguladuo.test

◆isdigit():判斷字串中是否全為數字

str='abcd'     print (str.isdigit())

◆isalpha():判斷字串中是否全為字母

str='abcd'      print (str.isalpha())

◆isalnum():判斷字串當中是否全都為數字,全為字母,或者數字字母組合,回傳布林值:True和False 如果有特殊符號就是否

str='1234aa@#$'     print (str.isalnum())

◆istitle():判斷字串中首字母是否為大寫,其他是否為小寫,其他不為小寫則為否

?str='PyThon'    print(str.istitle())#輸出False

?str='Python'    print(str.istitle())#輸出True

◆isupper()/islower():is開頭的就是判斷一個字串是否展示為都是大寫或者都是小寫

?str.isupper() 是否全大寫      ?str.islower()是否全小寫

3.3  Python中的串列

3.3.1  Python中的串列定義

◆串列(list):是一組有序存盤的資料,也是python常見的序列之一,序列中的每個元素都分配一個索引,第一個元素索引是0,第二個元素索引是1,依此類推,序列都可以進行的操作包括索引,切片,加,乘,檢查成員,

◆串列表達符號:[]          查看串列型別:print(type(表名))

◆定義串列的方法:

?方法一:list1 = [1,2,3,4] #直接通過[]進行定義

?方法二:list2 = list('1234') #使用list()方法進行定義

3.3.2  串列中對應的函式

◆索引和切片賦值

list1 = [1,88,'test','duoceshi']    list1[0] = 666

list1[2:] = list('123')

?例(索引賦值):str='password'  dj=list(str)  dj[0]='PW'   print(dj)#輸出['PW', 'a', 's', 's', 'w', 'o', 'r', 'd']

?例(切片賦值):dj=['PW', 'a', 's', 's', 'w', 'o', 'r', 'd']
dj[0:1]='MN'     print(dj)

#輸出['M', 'N', 'a', 's', 's', 'w', 'o', 'r', 'd']

?dj=['PW', 'a', 's', 's', 'w', 'o', 'r', 'd']  dj[2:]=list('MN')(或dj[2:]='MN')   print(dj)#輸出['PW', 'a', 'M', 'N']

◆append函式:添加一個元素

list1 = [1,2,3,4]   list1.append('duoceshi')   print (list1)

◆extend函式:連接兩個串列

list1=[1,2,3,4,5]   list2 =[6,7,8]    list1.extend(list2)

print(list1) #輸出[1, 2, 3, 4, 5, 6, 7, 8]

★注意:

?extend與append方法的相似之處在于都是將新接收到引數放置到已有串列的后面,

?append方法可以接收任意資料型別的引數,并且追加到list尾部;?extend方法一般和串列還有字串進行拼接,不能與int進行拼接,

◆insert(index,value)函式:在指定位置插入一條資料

list1 = [1,2,3,4]  list1.insert(0,'test') print(list1)

#輸出['test', 1, 2, 3, 4]

◆remove函式:移除元素

list1 = [1,2,3,4,1]     list1.remove(1)#輸出[2,3,4,1]

★注:如果串列中有多個相同的元素,會洗掉前面那個

◆del函式:索引洗掉值

list1 = [1,2,3,4]      del list1[0] #輸出[2,3,4]

◆index函式:在串列中查找元素所對應的索引值

list1 = [1,2,3,4]    print(list1.index(1))#輸出0

◆sort函式:實作串列的排列

list1 = [1,2,3,4,1]   list1.sort()   print(list1)

#輸出[1, 1, 2, 3, 4]

◆sorted函式:實作串列的降序排列

list1 = [1,2,3,4,1]   ?print(sorted(list1,reverse=True))#輸出[4, 3, 2, 1, 1]降序排序

?print(sorted(list1,reverse=False))#輸出[1, 1, 2, 3, 4]升序排序

reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(默認)

★sort 與 sorted 區別:

?sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作,

?list 的 sort 方法回傳的是對已經存在的串列進行操作,無回傳值,而內建函式 sorted 方法回傳的是一個新的 list,而不是在原來的基礎上進行的操作,

◆reverse函式:串列元素反轉 

list1 = [1,2,3,4]     list1.reverse()     print(list1)

#輸出[4, 3, 2, 1]

◆pop函式:

list1 = [1,2,3,4]  print(list1.pop(2))#輸出3

Print(list1.pop())#輸出4

 ?默認移除串列最后一個元素,并回傳元素的值

 ?移除指定位置的元素list1.pop(0)表示移除第一個元素

 ?在串列中pop函式是唯一一個既能改變串列元素又有回傳值

◆串列中文列印亂碼解決方法

a = [1,2,3,"中國"]    print (str(a).decode('string_escape'))

 ?decode():指定編碼格式

 ?★string-escape:編碼格式,能解決因為被\轉義的問題

3.4  Python中的元組

 3.4.1  Python中的元組定義

元組(tuple):是Python中常用的一種資料結構,元組由不同的元素組成,每個元素可以存盤不同型別的資料,如字串、數字、甚至元組,元組是'寫保護'的,即元組中元素作為一個整體,創建后不能再做任何修改操作,

◆元組表達符為:()

◆元組的定義:tuple1=(1,2,3)

★注意:當元組只有一個元素時,后面要加逗號,如:tuple1=(1,)

 3.4.2  元組中常見的操作

◆元組與串列呼出方式類似  

turple1=('a','b','c','d')   print(tuple[0])

◆元組轉換為串列

tuple1 = ('a','b','c','d')   list1=list(tuple1)

print(list1,type(list1))

◆串列轉換為元組

list1=[1,2,3,4]            tuple1=tuple(list1) print(tuple1,type(tuple1))

◆元組中的值是不可以直接改變的

tuple1=('a','b','c')     tuple1.insert(0,'d')

print(tuple1)

◆元組中的值是可以間接來改變

?tuple1 = ('a', 'b', 'c', 'd')    list1 = list(tuple1) #先改成串列       list1[1] = 'test' #通過串列改值

tuple1 = tuple(list1) #在轉換成元組    print(tuple1)

★商湯科技面試題:

1>元組可以被改變嗎?

當元組的元素作為一個整體時是不可以改變的,但是可以間接進行修改,首先把元組轉換為串列,再進行修改元素,修改后再轉換成元組

2>元組和串列的區別?

?定義符不一樣.元組是(),串列是[],list表示串列,tuple表示元組

?元組是不能被修改的,串列是可以被修改的

?元組用于儲存異構資料,即當做一個沒有欄位名的記錄來使用,比如用元組來記錄一個人的身高、體重、年齡資訊,記錄形式為:

person=(‘zhangsan’,180,80,20)

list[‘香蕉’,‘蘋果’,‘獼猴桃’]

?元組是不可變型別,大小固定,串列是可變資料型別,資料可以動態變化,所以在記憶體占用方面,同樣大小的資料,元組占用記憶體更少

3>如何修改串列里的元素

List=[1,2,3,4,5,6]#定義一個串列   list[0]=9#通過索引的方式把要修改的元素取出并進行賦值,以及通過一些串列函式修改元素   print(list)

4>如何修改元組中串列里的元素,比如把大娃改成大總

tuple=('董事長','總經理','合伙人',['大娃','二娃','三娃','四娃'])
tuple[3][0]='大總'     print(tuple)#輸出('董事長', '總經理', '合伙人', ['大總', '二娃', '三娃', '四娃'])

3.4.3元組和串列的區別

★相同:  ?都是序列型別的容器物件,可以存放任何型別的資料

        ?支持切片、迭代等操作

★不同:  ?list 是可變的物件,元組tuple是不可變的物件

        ?tuple不可變,所以使用tuple可以使代碼更安全

3.5  Python中的字典和集合

3.5.1  Python中的字典定義

字典(dict):是另一種可變容器模型,且可存盤任意型別物件,存放一系列具有映射關系的資料結構,字典是無序的,是以key:value的形式存盤資料

◆字典的每個鍵值key:value對用冒號:分割,每個鍵值對之間用逗號分割,整個字典包括在大括號{}中

◆字典同時是無序,字典都是以鍵值對的形式存在,先鍵后值,鍵是唯一的,值且不唯一

◆字典表達符:{}

◆字典的定義方式:

 ?法一:dict1={'name':'dishini','age':18} #通過{}直接定義

 ?法二:list = [('a',1),('b',2),('c',3)] dict2 = dict(list) #通過dict()方法定義

取值:通過key取value,例:dict==dict(list)  print(dict)

3.5.2  字典中常見的函式

◆添加一個鍵值對

?dict1 = {"name":"xiaowang","age":"10"}

dict1['class']=1834 如果字典里已經有這個鍵,舊資料將會替換

print(dict1)

?#設定鍵絕對setdefault 類似添加
dict={'name':'zhangsan','age':18}

dict.setdefault('sex','男')  print(dict)

#輸出{'name': 'zhangsan', 'age': 18, 'sex': '男'}
?#如果字典存在鍵時,此時設定鍵值無效
dict.setdefault('sex','女')      print(dict)

#輸出{'name': 'zhangsan', 'age': 18, 'sex': '男'}

◆字典添加元素setdefault()

dict1 = {'name':xiaowang,'age':18}

dict1.setdefault('sex','1')

print (dict1)

注:如果插入資料鍵已經在字典里,插入是不生效的,默認值為空時,插入資料為None

◆del洗掉字典

dict1 ={"name":"xiaowang","age":"18","sex":"1"}

del (dict1)

print(dict1)

◆取出鍵回傳串列

dict1 = {"name":"xiaowang","age":"10"}

print (dict1.keys())

dict1 = {"name":"xiaowang","age":"10"}

print(key)  或

                  for i in dict.keys()     #key存到i中

print(i)

◆取出值回傳串列

dict1 = {"name":"xiaowang","age":"10"}

print (dict1.values())

◆取出具體鍵的值

 ?dict1 = {"name":"xiaowang","age":"10"}

print (dict1['name'])

?取出具體的鍵以及對應鍵的值

dict={'name':'zhangsan','age':18}
for key in dict:
    print(key,dict[key])#列印字典的鍵以及對應的值

#輸出name zhangsan   age 18

?取出具體的鍵以及對應鍵的值,并以串列形式回傳

dict={'name':'zhangsan','age':18,'sex':'男'}
for i,j in dict.items():          print(i,j)

#輸出name zhangsan

age 18

sex 男

◆del洗掉指定的鍵,連同值也洗掉

dict1 ={"name":"xiaowang","age":"18","sex":"1"}

del (dict1["name"])

print (dict1)

◆pop(key)函式,洗掉指定鍵并回傳該指定鍵被洗掉的值

dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
print(dict.pop('name'))#輸出zhangsan

◆clear()清空字典所有項

dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}

dict.clear()     print (dict)

或print(dict.clear())#輸出None

再列印print(dict)#輸出{}

◆get(key)方法,通過key獲取值,當鍵不存在,回傳None(介面測驗常用)

dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
print(dict.get('age'))#輸出18

◆fromkeys  函式初始化,函式可以給具體的鍵指定值

dict={}.fromkeys(['name','age'])#初始化字典,不指定,值默認
print(dict)#輸出{'name': None, 'age': None}
dict['name']='老六'#指定值
print(dict)#輸出{'name': '老六', 'age': None}

◆has_key函式或__contains__函式檢查字典是否有指定的鍵,有回傳True,沒有回傳False

?dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
print(dict.__contains__('name')) #回傳true,因為鍵存在

?★dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
if dict.__contains__('nasa'):
    print('存在此鍵')
else:
    dict.setdefault('nasa','masike')
print(dict)

#輸出{'name': 'zhangsan', 'age': 18, 'sex': '男', 'nasa': 'masike'}

◆popitem函式隨機回傳并洗掉字典中的鍵值對(一般洗掉末尾對)

如果字典已經為空,卻呼叫了此方法,就報出KeyError例外

dict1 = {'name':xiaowang,'age':18,'class':24}

dict1.popitem()

print (dict1)#輸出{'name': 'zhangsan', 'age': 18}

print (dict1.popitem())#輸出('sex', '男')

print (dict1)#輸出{'name': 'zhangsan', 'age': 18}

◆update函式利用一個字典更新另外一個字典
dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
dict1={'class':1832}
dict.update(dict1)
print(dict)#輸出{'name': 'zhangsan', 'age': 18, 'sex': '男', 'class': 1832}

★注意:如果要更新的元素項在原字典里存在,則把原來的項覆寫

dict = {'name': 'zhangsan', 'age': 18, 'sex': '男'}
dict1={'age':1832}
dict.update(dict1)
print(dict)#輸出{'name': 'zhangsan', 'age': 1832, 'sex': '男'}

◆字典的遍歷:for...in...遍歷字典

dict1 = {'name':xiaowang,'age':18}

for key in dict1:

print (key,dict1[key])

◆使用items()完成遍歷,取鍵和值

dict1= {'name':xiaowang,'age':18}

for key,value in dict1.items():

print (key,value)

3.5.3  Python中的集合

◆集合:最重要的功能就是去重

 ?可變集合set

set1.add('dcs')

set1.remove('dcs')  

→test='hello'
m=set(test)
print(m)#輸出{'h', 'e', 'l', 'o'}
print(type(m))#輸出<class 'set'>

m.clear()#清空
print(m)#輸出set()

 

m.pop()
print(m)#輸出{'e', 'o', 'l'}#把集合最前面這個給洗掉了

→list1 = [1,88,8,6,'hello']
list1.pop()
print(list1)#輸出[1, 88, 8, 6]#把串列最后面這個給洗掉了

【拓】str='七夕節快樂'

for i in str:
     print(i,end='')#輸出七夕節快樂

 ?不可變集合frozenset

test = 'hello'

a = frozenset(test)

b = a.copy()

b.add('888') #報錯AttributeError: 'frozenset' object has no attribute 'add'

print (b)

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

標籤:其他

上一篇:UE藍圖---實作場景物體Transform狀態重置效果

下一篇:基于動作捕捉的踝關節動力矯形器外骨骼開發

標籤雲
其他(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)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more