主頁 >  其他 > 深入淺出Python——Python基礎語法全解(上)

深入淺出Python——Python基礎語法全解(上)

2020-11-11 00:39:02 其他

前言:

      1、Python是一個高層次的結合了解釋性、編譯性、互動性和面向物件的腳本語言,

      2、本文主要涉及Python基礎入門、流程控制(條件陳述句、回圈陳述句)、資料序列等知識,

 

一、Python簡介

1. 了解Python

Python是一種解釋型(這意味著開發程序中沒有了編譯這個環節)、面向物件(支持面向物件的風格或代碼封裝在物件的編程技術)、動態資料型別的互動式(可在命令列中通過Python提示符及直接代碼執行程式)高級程式設計語言,

 

 

 

2. Python介紹

Python是時下最流行、最火爆的編程語言,具體原因:

  • 簡單、易學,適應人群廣泛

 

 

  • 免費、開源
  • 應用領域廣泛

 

 

 

 

備注:以下知名框架均是Python語言開發,

  • Google開源機器學習框架:TensorFlow
  • 開源社區主推學習框架:Scikit-learn
  • 百度開源深度學習框架:Paddle

 

3. Python特點

  • 易于學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單,
  • 易于閱讀:Python代碼定義的更清晰,
  • 易于維護:Python的成功在于它的源代碼是相當容易維護的,
  • 一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好,
  • 互動模式:互動模式的支持,您可以從終端輸入執行代碼并獲得結果的語言,互動的測驗和除錯代碼片斷,
  • 可移植:基于其開放源代碼的特性,Python已經被移植(也就是使其作業)到許多平臺,
  • 可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要撰寫一些不愿開放的演算法,你可以使用C或C++完成那部分程式,然后從你的Python程式中呼叫,
  • 資料庫:Python提供所有主要的商業資料庫的介面,
  • GUI編程:Python支持GUI可以創建和移植到許多系統呼叫,
  • 可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的用戶獲得"腳本化"的能力,

 

4. Python發展歷史

Python發展歷史:https://baike.baidu.com/item/Python/407313?fr=aladdin

5. Python版本

  • Python 2.X
  • Python 3.X

 

二、Python解釋器

1. 解釋器的作用

  • Python解釋器作用:運行檔案

  • Python解釋器種類

    1. CPython,C語言開發的解釋器[官方],應用廣泛的解釋器,
    2. IPython,基于CPython的一種互動式解釋器,
    3. 其他解釋器
      • PyPy,基于Python語言開發的解釋器,
      • Jython,運行在Java平臺的解釋器,直接把Python代碼編譯成Java位元組碼執行,
      • IronPython,運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的位元組碼,

2. 解釋器的安裝

三、PyCharm安裝與使用

1. PyCharm的作用

PyCharm是一種Python IDE(集成開發環境),帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,內部集成的功能如下:

  • Project管理
  • 智能提示
  • 語法高亮
  • 代碼跳轉
  • 除錯代碼
  • 解釋代碼(解釋器)
  • 框架和庫

2. PyCharm安裝與使用

四、注釋

1. 注釋的作用

通過用自己熟悉的語言,在程式中對某些代碼進行標注說明,這就是注釋的作用,能夠大大增強程式的可讀性,

2. 注釋的分類及語法

注釋分為兩類:單行注釋 和 多行注釋,

  • 單行注釋

只能注釋一行內容,語法如下:

# 注釋內容

 

  • 多行注釋

可以注釋多行內容,一般用在注釋一段代碼的情況, 語法如下:

"""
	第一行注釋
	第二行注釋
	第三行注釋
"""

'''
	注釋1
	注釋2
	注釋3
'''

 

快捷鍵: ctrl + /

注意:解釋器不執行任何的注釋內容,

 

 

五、變數

1. 變數的作用

變數,簡單來說,其實就是計算機記憶體中的一塊儲存空間,用來存盤CPU需要使用的資料, 而這個儲存空間需要一個名字,這個名字的統稱就叫變數,

 

 

 作用:

  1. 用來臨時保存資料
  2. 便于專案的后期升級維護
  3. 節約記憶體

2. 定義變數

 

變數名 = 值

 

 

變數名自定義,要滿足識別符號命名規則,

2.1 識別符號

識別符號命名規則是Python中定義各種名字的時候的統一規范,具體如下:

  • 由數字、字母、下劃線組成
  • 不能數字開頭
  • 不能使用內置關鍵字
  • 嚴格區分大小寫

 

 

 

2.2 命名習慣

  • 見名知義,
  • 大駝峰:即每個單詞首字母都大寫,例如:MyName
  • 小駝峰:第二個(含)以后的單詞首字母大寫,例如:myName
  • 下劃線:例如:my_name

 

2.3 使用變數

my_name = "張三"
print(my_name)

myAge = 23
print(myAge)

 

2.4 認識bug

所謂bug,就是程式中的錯誤,如果程式有錯誤,需要程式員排查問題,糾正錯誤,

2.5 Debug工具

Debug工具是PyCharm IDE中集成的用來除錯程式的工具,在這里程式員可以查看程式的執行細節和流程或者調解bug,

Debug工具使用步驟:

  1. 打斷點
  2. Debug除錯

六、資料型別

在 Python 里為了應對不同的業務需求,也把資料分為不同的型別,

 

 

 

檢測資料型別的方法:type(變數名或者數值)

a = 1
print(type(a))  # <class 'int'> -- 整型

b = 1.1
print(type(b))  # <class 'float'> -- 浮點型

c = True
print(type(c))  # <class 'bool'> -- 布爾型

d = "12345"
print(type(d))  # <class 'str'> -- 字串

e = [10, 20, 30]
print(type(e))  # <class 'list'> -- 串列

f = (10, 20, 30)
print(type(f))  # <class 'tuple'> -- 元組

h = {10, 20, 30}
print(type(h))  # <class 'set'> -- 集合

g = {"name": "張三", "age": 20}
print(type(g))  # <class 'dict'> -- 字典

 

 

思考:

 

         1、 為什么Python會提出這么多種的資料型別?

          有限的記憶體, 無限的變數, 合理的使用記憶體

          2、  Python中,程式員定義變數需要關心變數的型別嗎?

  • Python弱型別語言
  • 程式員不需要關心變數的型別, 只需要把資料書寫正確即可,python會通過自動推到出您變數的型別,

 

 

七、輸出

 

作用:程式輸出內容給用戶,

print('hello Python')

age = 18
print(age)

# 需求:輸出“今年我的年齡是18歲”

 

1. 格式化輸出

 

 

 

  • %06d,表示輸出的整數顯示位數,不足以0補全,超出當前位數則原樣輸出,
  • %.2f,表示小數點后顯示的小數位數,

 

 

2. 內置函式format

format()用于字串格式化,功能非常強大,格式是str.format(),format函式可以接受不限個引數,位置可以不按順序,

3. f-格式化字串

f-string是格式化字串的一種很好的新方法,與其他格式化方式相比,它不僅更易讀,更簡潔,不易出錯,而且速度更快!格式為:f'{運算式}'

4. 體驗格式化字串

name = "張三"
age = 23
weight = 75.5
student_id = 1

# 我的名字是張三
print('我的名字是%s' % name)

# 我的學號是0001
print('我的學號是%04d' % student_id)

# 我的體重是75.50公斤
print('我的體重是%.2f公斤' % weight)

# 我的名字是張三,今年23歲了
print('我的名字是%s,今年%d歲了' % (name, age))

# 我的名字是張三,明年24歲了
print('我的名字是%s,明年%d歲了' % (name, age + 1))

# 我的名字是張三,明年24歲了
print('我的名字是{0}, 明年{1}歲了'.format(name, age+1))

# 我的名字是李思,今年18歲了
print('我的名字是{0}, 今年{1}歲了'.format("李思", 18))

# 我的名字是張三,明年24歲了
print(f'我的名字是{name}, 明年{age + 1}歲了')

 

 

 

 

5. 補充知識

字串輸出的本質其實就是拼接字串,那么我們都用%s完全也是可以的,很多時候,我們不用區分整型、浮點型等,直接用%s輸出就可以了,

print('我的名字是%s,今年%s歲了,我的體重是%s公斤' % (name, age ,weight))

 

 

 

6. 轉義字符

  • \n:換行,
  • \t:制表符,一個tab鍵(4個空格)的距離,

7. 結束符

# print會默認換行輸出
print('輸出的內容', end="\n")

 

在Python中,print(), 默認自帶end="\n"這個換行結束符,所以導致每兩個print直接會換行展示,用戶可以按需求更改結束符

 

# 改變Python換行輸出
print('內容', end=" ")
print('內容', end="···")

 

八、輸入

在Python中,程式接收用戶輸入的資料的功能即是輸入,

 

 

 

1. 輸入的語法

input("提示資訊")

 

2. 輸入的特點

  • 當程式執行到input,等待用戶輸入,輸入完成之后才繼續向下執行,
  • 在Python中,input接收用戶輸入后,一般存盤到變數,方便使用,
  • 在Python中,input會把接收到的任意用戶輸入的資料都當做字串處理,

 

password = input('請輸入您的密碼:')

print(f'您輸入的密碼是{password}')
# <class 'str'>
print(type(password))

 

 

 

 

九、轉換資料型別

1. 轉換資料型別的作用

問:input()接收用戶輸入的資料都是字串型別,如果用戶輸入1,想得到整型該如何操作?

2. 轉換資料型別的函式

 

 

 

3. 體驗轉換資料型別

需求:input接收用戶輸入,用戶輸入“1”,將這個資料1轉換成整型,

# 1. 接收用戶輸入
num = input('請輸入您的幸運數字:')

# 2. 列印結果
print(f"您的幸運數字是{num}")


# 3. 檢測接收到的用戶輸入的資料型別 -- str型別
print(type(num))

# 4. 轉換資料型別為整型 -- int型別
print(type(int(num)))

 

十、運算子

1. 運算子的分類

  • 算數運算子
  • 賦值運算子
  • 復合賦值運算子
  • 比較運算子
  • 邏輯運算子

2. 算數運算子

 

 

 

混合運算優先級順序:()高于 ** 高于 * / // % 高于 + -

 

 

3. 賦值運算子

 

 

1.單個變數賦值

num = 1
print(num)

 

2.多個變數賦值

num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)

 

3.多變數賦相同值

a = b = 10
print(a)
print(b)

 

 4. 復合賦值運算子

 

 

 

a = 100
a += 1
# 輸出101  a = a + 1,最終a = 100 + 1
print(a)

b = 2
b *= 3
# 輸出6  b = b * 3,最終b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 輸出13, 先算運算子右側1 + 2 = 3, c += 3 , 推匯出c = 10 + 3
print(c)

 

5. 比較運算子

比較運算子也叫關系運算子, 通常用來判斷,

 

 

 

a = 7
b = 5
print(a == b)  # False
print(a != b)  # True
print(a < b)   # False
print(a > b)   # True
print(a <= b)  # False
print(a >= b)  # True

 

6. 邏輯運算子

 

 

a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True

 

7. 補充知識

數字之間的邏輯運算

a = 0
b = 1
c = 2

# and運算子,只要有一個值為0,則結果為0,否則結果為最后一個非0數字
print(a and b)  # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or運算子,只有所有值為0結果才為0,否則結果為第一個非0數字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1

 

十一、條件陳述句

1. 了解條件陳述句

Python條件陳述句是通過一潭訓多條陳述句的執行結果(True或者False)來決定執行的代碼塊,

2. if語法

if 條件:
    條件成立執行的代碼1
    條件成立執行的代碼2
    ......

 

2.1 體驗if陳述句

if True:
    print('條件成立執行的代碼1')
    print('條件成立執行的代碼2')

# 下方的代碼沒有縮進到if陳述句塊,所以和if條件無關
print('我是無論條件是否成立都要執行的代碼')

 

 

 

2.2 簡單版:網吧上網

需求分析:如果用戶年齡大于等于18歲,即成年,輸出"已經成年,可以上網",

age = 20
if age >= 18:
    print('已經成年,可以上網')

print('系統關閉')

 

2.3 進階版:網吧上網

新增需求:用戶可以輸出自己的年齡,然后系統進行判斷是否成年,成年則輸出"您的年齡是’用戶輸入的年齡’,已經成年,可以上網",

# input接受用戶輸入的資料是字串型別,條件是age和整型18做判斷,所以這里要int轉換資料型別
age = int(input('請輸入您的年齡:'))

if age >= 18:
    print(f'您的年齡是{age},已經成年,可以上網')


print('系統關閉')

 

3. if…else…

作用:條件成立執行if下方的代碼; 條件不成立執行else下方的代碼,

if 條件:
    條件成立執行的代碼1
    條件成立執行的代碼2
    ......
else:
    條件不成立執行的代碼1
    條件不成立執行的代碼2
    ......

 

思考:網吧上網的實體,如果成年,允許上網,如果不成年呢?是不是應該回復用戶不能上網?

 

 

3.1 實用版:網吧上網

age = int(input('請輸入您的年齡:'))

if age >= 18:
    print(f'您的年齡是{age},已經成年,可以上網')
else:
    print(f'您的年齡是{age},未成年,請自行回家寫作業')

print('系統關閉')

 

注意:如果條件成立執行了某些代碼,那么其他的情況的代碼將不會執行,

 

4. 多重判斷

if 條件1:
    條件1成立執行的代碼1
    條件1成立執行的代碼2
    ......
elif 條件2:
	條件2成立執行的代碼1
    條件2成立執行的代碼2
    ......
......
else:
    以上條件都不成立執行執行的代碼

 

 多重判斷也可以和else配合使用,一般else放在整個if陳述句的最后,表示以上條件都不成立的時候執行的代碼,

 

思考:中國合法作業年齡為18-60歲,即如果年齡小于18的情況為童工,不合法;如果年齡在18-60歲之間為合法工齡;大于60歲為法定退休年齡,

 

 

4.1 實體:工齡判斷

age = int(input('請輸入您的年齡:'))
if age < 18:
    print(f'您的年齡是{age},童工一枚')
elif (age >= 18) and (age <= 60):
    print(f'您的年齡是{age},合法工齡')
elif age > 60:
    print(f'您的年齡是{age},可以退休')

 

拓展:age >= 18 and age <= 60可以化簡為18 <= age <= 60

5. if嵌套

if 條件1:
	條件1成立執行的代碼
    條件1成立執行的代碼
    
    if 條件2:
    	條件2成立執行的代碼
        條件2成立執行的代碼

 

注意:條件2的if也是出于條件1的縮進關系內部, 

 

思考:坐公交:如果有錢可以上車,沒錢不能上車;上車后如果有空座,則可以坐下;如果沒空座,就要站著,怎么書寫程式?

 

 

5.1 實體:坐公交

 

  • 判斷是否能上車

 

 

 

"""
	1. 如果有錢,則可以上車
    2. 上車后,如果有空座,可以坐下
    上車后,如果沒有空座,則站著等空座位
	如果沒錢,不能上車
"""
# 假設用 money = 1 表示有錢, money = 0表示沒有錢
money = 1
if money == 1:
    print('土豪,不差錢,順利上車')
else:
    print('沒錢,不能上車,追著公交車跑')

 

  • 判斷是否能坐下
"""
	1. 如果有錢,則可以上車
    2. 上車后,如果有空座,可以坐下
    上車后,如果沒有空座,則站著等空座位
	如果沒錢,不能上車
"""
# 假設用 money = 1 表示有錢, money = 0表示沒有錢; seat = 1 表示有空座,seat = 0 表示沒有空座
money = 1
seat = 0
if money == 1:
    print('土豪,不差錢,順利上車')
    if seat == 1:
        print('有空座,可以坐下')
    else:
        print('沒有空座,站等')
else:
    print('沒錢,不能上車,追著公交車跑')

 

5.2 if嵌套執行流程

 

 

 

6. 應用:猜拳游戲

需求分析:

  • 參與游戲的角色

    • 玩家
      • 手動出拳
    • 電腦
      • 隨機出拳
  • 判斷輸贏

    • 玩家獲勝

 

 

 

 

  • 平局
    • 玩家出拳 和 電腦出拳相同
  • 電腦獲勝

 

隨機做法:

  • 匯出random模塊

import 模塊名

 

  • 使用random模塊中的隨機整數功能
random.randint(開始,結束)

 

6.1 初始版:猜拳游戲

"""
提示:0-石頭,1-剪刀,2-布
3. 出拳
玩家輸入出拳
電腦隨機出拳

4. 判斷輸贏
玩家獲勝
平局
電腦獲勝
"""

# 匯入random模塊
import random

# 計算電腦出拳的亂數字
computer = random.randint(0, 2)
print(computer)

player = int(input('請出拳:0-石頭,1-剪刀,2-布:'))

# 玩家勝利 p0:c1 或 p1:c2 或 p2:c0
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
    print('玩家獲勝')

# 平局:玩家 == 電腦
elif player == computer:
    print('平局')
else:
    print('電腦獲勝')

 

6.2 進階版:猜拳游戲

"""
石頭剪刀布游戲
玩家VS電腦
站在玩家的角度,分析勝利、失敗、平局
0-石頭,1-剪刀,2-布
"""
# 匯入亂數模塊
import random

import sys

print("-----歡迎來到人機對戰小游戲-----")
name = input("請輸入您的游戲名:")
while True:
    stats = input("歡迎“%s”來到本游戲,開始游戲輸入Y,退出游戲輸入N,請您輸入:" % name)
    if stats == "Y" or stats == "y":
        print("游戲開始……")
        print("石頭輸入0、剪刀輸入1、布輸入2")
        break
    elif stats == "N" or stats == "n":
        print("游戲結束……")
        sys.exit(0)
    else:
        print("請按照要求重新輸入!")
print("-------------加載中-------------")


def Game(user, comp):
    if (user== 0 and comp== 1) or (user== 1 and comp== 2) or (user== 2 and comp== 0):
        print("機器輸入%d,您贏了!" % comp)
    elif user == comp:
        print("機器輸入%d,平局了!" % comp)
    else:
        print("機器輸入%d,您輸了!" % comp)
    res = input("重新游戲請輸入X,退出游戲按任意鍵")
    if res == "X" or res == "x":
        return
    else:
        sys.exit(0)


while True:
    user = int(input("請您出拳,輸入相應數字!"))
    if user == 0 or user == 1 or user == 2:
        comp = random.randint(0, 2)
        Game(user, comp)
    else:
        print("輸入數字有誤,請確認后,重新輸入!")

 

7. 三目運算子

三目運算子也叫三元運算子,

語法如下:

值1 if 條件 else 值2

 

快速體驗:

a = 1
b = 2

c = a if a > b else b
print(c)

 

十二、回圈簡介

1. 回圈的作用

讓代碼更高效的重復執行,

2. 回圈的分類

在Python中,回圈分為whilefor兩種,最終實作效果相同,

3. while的語法

while 條件:
    條件成立重復執行的代碼1
    條件成立重復執行的代碼2
    ......

 

 

4. while回圈快速體驗

需求:復現重復執行10次print('Hello World')

分析:初始值是0次,終點是10次,重復做的事情輸出“Hello World”,

# 回圈的計數器
i = 0
while i < 10:
    print('Hello World')
    i += 1

print('任務結束')

 

希望本文對你有所幫助~~如果對軟體測驗、介面測驗、自動化測驗、面試經驗交流感興趣可以加入我們,642830685,免費領取最新軟體測驗大廠面試資料和Python自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流,

 

未完待續~~~

 

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

標籤:其他

上一篇:用Nvidia Jetson Nano 2GB和Python構建一個價值60美元的人臉識別系統

下一篇:【學習編程】有0.5倍速和2倍速的學習方法,那你看到過10倍速的學習技巧嗎!

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