零編程基礎Python的全面學習指南

文章目錄

  • 前言
  • 什么是編程?
  • Python代碼
  • 對應的機器碼
  • 準備開始
  • Windows
  • 變量類型
  • 整型
  • 字符串型
  • 布爾類型
  • 字符串連接和整數相加
  • if 語句
  • 捕獲用戶輸入
  • 導入
  • Mac
  • Windows
  • 游戲時間!
  • 小結
      • 關于Python技術儲備
        • 一、Python所有方向的學習路線
        • 二、Python基礎學習視頻
        • 三、精品Python學習書籍
        • 四、Python工具包+項目源碼合集
        • ①Python工具包
        • ②Python實戰案例
        • ③Python小游戲源碼
        • 五、面試資料
        • 六、Python兼職渠道


前言

你曾經想知道計算機是如何工作的嗎?盡管我們不能在一篇文章里面教會你所有的東西,但是可以通過學習如何寫出你自己的程序來獲得一個良好的開端。在這篇Python教程中,你將會學到計算機編程的基礎知識,使用對新手來說最棒的編程語言之一。


什么是編程?

盡可能簡單的講,編程是編寫代碼,命令計算機去完成某項任務的藝術。這里講的某項任務,可以是簡單的兩數相加,或是像把飛船送入軌道這樣的復雜任務!

一個程序里面,最小的組成部分被稱作語句(statement)——代表了對計算機做出的一條指令。

201541112130558.jpg (400×300)

當你完成了自己的程序后,編譯器會把你寫的代碼轉換為機器碼——計算機語言的最底層。機器碼指示中央處理器工作(central processing unit),或者叫做CPU,這里面包含一些諸如加載某個值或是做數學運算的步驟。

如果你曾經聽過某人說:“我編譯了我的程序”,那代表他們已經把代碼轉換成了機器碼。

為什么不直接寫機器碼呢?原因很顯然,程序碼具有可讀性。下面比較了Python版的程序和其對應的機器碼:

Python代碼

print "Hello, World!"
...
"Hello, World!"

對應的機器碼

c7 3c 2a 3c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c
28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c
2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b
2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c
3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28
5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a
2b 2a 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 64 48 65 6c 6c 6f 2c 20 57
6f 72 6c 64 21 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
"Hello, World!"

很明顯為什么你不會想要直接編寫機器碼了。但是,確實有一些人會去寫機器碼——蘿卜白菜各有所愛嘛!

上面我們忽略了一個小問題。Python是一種解釋型語言;你并不會像上面我們暗示的那樣,把它直接編譯成為機器碼。

實際上是這樣的,Python使用一個叫做解釋器的東西。解釋器是另外一個程序,把代碼編譯成叫做二進制碼的東西,然后再程序運行的時候再轉換成機器碼。你等下會學到更多和解釋器有關的內容。

當你最終運行程序的時候,你剛編譯的那些機器碼會被加載到內存中,CPU會讀取它并執行程序。

然而,在剛開始學習使用Python編程的時候,你并不需要完全理解編譯器的內部工作原理,但是你必須確保你已經安裝了Python。

準備開始

如果你在使用Mac,你走運了——Python已經預裝在Mac中了。在Mac中使用Python解釋器,打開**終端**(**Terminal.app**);你可以再應用程序/工具文件夾下找到它,或者在Spotlight中輸入,像這樣:

201541112208754.jpg (427×114)

打開終端后,輸入下面的指令然后按下回車:

$ python

你會看到類似下面這樣的結果:

注意:如果你沒有得到上面的結果,把輸出結果復制到論壇,我們會盡力幫助你的!**

Windows

在Windows上,這一過程稍微有點復雜——但是還是要說,大部分的東西還是在Windows!上:]

首先,在瀏覽器中訪問Python官網的下載頁面。

Python 官網:https://www.python.org/

一旦安裝包安裝完成,你就可以啟動它了。

在Windows Vista或者Windows 7上,這樣啟動:

1. 點擊左下角的開始菜單。
2. 點擊所有程序
3. 打開Python文件夾
4. 雙擊IDLE解釋器

如果你使用Windows 8,這樣啟動:
1. 點擊左下角開始菜單
2. 在搜索框中輸入IDLE
3. 點擊IDLE(Python GUI)

201541112537226.jpg (455×702)

不管你是如何啟動解釋器的,你應該確保它能夠工作,在終端中輸入如下命令,或者是在Windows的命令提示符中輸入如下指令并按回車:

print “Hello World!”

盡管看上去并不像,但是你已經寫完你第一個Python程序了!在學習大多數語言的時候,打印出Hello, World被認為是一個起點。

`python` 命令指示計算機在屏幕上輸出后面的字符——而不是在你的打印機上打印!注意“Hello World”兩邊的引號,引號中的任何東西都被看做常規的文本兒不會被解釋為一個指令。
變量

變量,是在計算機內存中存放數據的一種方式;在你的程序中你會經常用到它們。在一些語言中,變量有特定的類型,指明了這些變量屬于那些類。

在Python中,你不需要聲明變量的類型。現在暫時不需要在意這些細節;在本教程稍后的章節中你會學到關于這個內容的知識。
在解釋器中輸入如下命令并按回車:

hello = "Hello World!"

這么做聲明了hello變量并且把Hello World賦值類了它。現在,你不需要在程序中需要“Hello World”的地方輸入這個字符串了,取而代之的是,你可以使用hello這個變量。

在解釋器中輸入如下命令并按回車:

print hello

這個指令會產生和Hello World例子相同的結果,但是它是打印出了hello這個變量的值。

變量同樣也可以用來儲存數字。在解釋器中輸入如下命令:

x = 5
print x
y = 10
z = x + y
print z

注意:從現在起,你可能要輸入多行語句,只需要在每行末尾輸入回車即可**

先猜猜看上面的代碼會做些上面,再看下面的答案:

這段代碼會打印5,然后打印15.第一個`print`語句打印了被你賦值為5的變量x。然后它打印了y+x的結果。因為y被賦值為10,x是5,所以打印了15。

對于你生命中的絕大部分程序變量是其核心。在你學習本教程的過程中,你會對變量變得非常熟悉。

變量類型

在之前的教程中你已經遇到了變量,但是我們并沒有仔細的介紹它。不同的變量類型存儲不同類型的值。

注意:對于全部的內建類型,請查看Python官方文檔

到目前為止,你僅僅和Python中兩個基本類型打過交道:整型(`integers`)和字符串型(`strings`),你還會遇到布爾類型(`boolean`),你可以用它來儲存`True`或者`False`。

下面有關于這些變量類型的一點介紹:

整型

一個整型數,是一個整數。整型數的范圍,在32位機上是-2147483648 到 2147483647 ,在64位機上是 -9223372036854775808 to 9223372036854775807。

你可以像這樣簡單的輸入一個數字來創建整型,不需要任何引號:

foo = 5

字符串型

字符串是一串字符;你可以使用字符串來表示很多東西,從屏幕上的任何文本到整個網頁請求。

通過用引號包含一串字符來創建字符串。

布爾類型

布爾類型代表了True或False。

你通過使用大寫開頭的True或False 來創建布爾類型,不需要引號,就像下面這樣:

\`isFoo = True\`

變量兩邊沒有引號;如果你用引號包含了True,你則是創建了一個字符串類型!

字符串連接和整數相加

Python讓兩個字符串鉤在一起變得很容易,我們也稱之為字符串連接。你可以使用`str()`把一個整數類型轉換成字符串,相反,你也可以使用`int()`把一個字符串轉換為整型。

在你的解釋器中輸入下面指令:

"1" + "1"
1 + 1
1 + int("1")

下面解釋上面代碼做了些什么:

- 第一條語句連接了兩個字符串;引號確保了這兩個數字被當做字符串除了。結果就是”11″。  
- 第二條語句把兩個數作為整數相加,結果是2.  
- 最后一條語句把一個整數和另一個被轉換為整數的字符串相加,結果還是2。

if 語句

if語句檢查某個條件是不是真,如果是,則執行一段代碼。條件語句通常是這樣的形式`值 – 操作符 – 值`,通常是比較兩個值。

比如,你可以使用`x == 0`評價一個值是不是等于0,`==` 是等于操作符。

下面是Python中的一些常見比較

a == b: #Checks if a and b are equal
a != b: #Checks if a and b are not equal
a > b: #Checks if a is greater than b
a < b: #Checks if a is less than b
a >= b: #Checks if a is greater than or equal to b
a <= b: #Checks if a is less than or equal to b

if語句是如下的形式:

if conditional:do\_statements\_here

注意到`在這里執行某些語句` 這行是如何縮進的。這是你在Python聲明代碼塊的方式。同一個代碼塊中的每一行都必須和其他所有行縮進相同的制表符或是空格;這是語言強制規定的。換句話說,不要混合使用制表符和空格。創建一個if語句,在解釋器中輸入如下命令:

201541112315604.jpg (690×106)

迎接你的是神秘的提示符`…`;這表示解釋器在等待你輸入代碼塊的內容,按下Tab鍵,輸入第二行:

201541112727011.jpg (690×92)

再次按下回車,你的光標回到了控制臺的最左邊。要想再輸入一個代碼塊語句,只需要再按Tab。如果你輸入完了,按下回車告訴解釋器你的代碼塊已經完成。

201541112806406.jpg (690×128)

看一下下面的例子:

x = 10
y = 10
if x == 10:print "x equals 10!"
if x == y:print "x equals y!"

第一條語句判斷x是不是等于10,如果是的話,打印`x equals 10!`。另外一個if語句判斷x是否等于y,如果是的話,打印`”x equals y!”`.
for循環

for循環再Python中遍歷列表中的項目并且把當前項目賦值給變量。一個列表幾乎可以是任何東西的集合!

輸入下面的代碼,并且像下面這樣縮進:

for x in range(10):print x

在這個例子中,`range(10) ` 生成了數字0到9的一個列表。for循環一次把范圍內的數字賦值給x。就像if語句一樣,for循環執行它下面縮進中的每個語句。在上面的例子中,縮進的代碼塊里面只包含了一個單獨的語句。

因為print被調用了10次,對于列表中的每個項目調用一次,這個程序會打印0到9的數字。
函數

函數是可以重用的代碼塊,用來完成某個特定的代碼塊。比如說,你可以寫一個函數用來把兩個數相加,或是打印一個字符串。你可以像下面例子展示的一樣定義并調用函數。

def hello():print "Hi"
for x in range(3):hello()

在運行前,你可以猜猜看這個程序的輸出是什么嗎?答案見下文:

它會打印出“Hi”三次,因為for循環會調用這個hello函數三次。

縮進的代碼塊定義了你調用函數時要執行的語句。因為`print “Hi”` 是這個函數里唯一縮進的語句,所以當調用函數時也是唯一被執行的語句,而不是下面的幾行。

你可以通過輸入結尾帶有一對括號的函數名來調用函數,像之前展示的那樣,`hello()` 調用了你上面調用的函數。函數有點類似有圍墻的花園:它們不能看到它們那一畝三分地意外的世界。這個被稱作`變量作用域`。如果你想要讓一個函數和外界的數據協同工作,你需要把這些數據傳遞給函數。

使用`參數`(arguments)可以達到這一目的——不不不,函數之間是不會相互爭吵(argue)的!

參數是一個你傳遞給函數的一個變量;然后函數就可以在內部使用這個參數的值了。

你可以像下面這樣聲明一個帶參函數:

def add(a, b):print a + b

上面的函數定義了兩個參數,a和b,放在括號里面,用逗號相互隔開。當你調用這個函數的時候,解釋器會吧a和b的值設置為你傳入變量的值。

看一下下面這個例子:

def add(a, b):print a + b
add(1,2) # prints 3!

在上面的例子中,`add(1,2)` 這條語句把a和b分別設置為1和2。然后函數打印了你傳入的兩個數的和。上面的例子打印了計算結果——但是如果你想要用這個計算結果做些事情呢?如果你想要把這個函數的結果加上別的一個值呢?

為了做到這一點,你需要給你的函數加一個`return 語句`。

考慮如下代碼:

def add(a,b):return a + b
print add(2, 2) + 1

在上面的例子中,你的函數像之前一樣把兩數相加,但是`return`(返回)語句把兩數和傳回了函數調用語句。

這意味著上面的`print` 語句得到了add(2,2)返回的值然后把它加1,最后會給你的結果是5。
While 循環

while循環和for循環類似。for循環一直進行,直到到達列表的末尾,但是while循環會不定的循環,直到給定條件的值等于False。一個while循環的典型結構是下面這樣:

while (conditional):run\_statement

通常,條件變量會在循環運行過程中更新。在解釋器中輸入下面的程序,來看看這一過程:

x = 0
while x < 10:print xx += 1

這個程序的行為類似于上面的for循環,但是使用了while循環。這是上面程序所做的事情:

1. 給x賦值0
2. 檢查是否滿足 `x < 10`
3. 如果`x < 10` 的值是`True`, 執行下面的代碼塊. 如果是 `False` 退出循環
4. 打印`x`
5. 把 `x` 值加1

使用while循環需要注意一件事,就是不要創建死循環。

在解釋器中輸入下面的程序,來看看死循環是什么樣的:

x = 0
while True:print xx += 1

201541112900556.jpg (690×606)

哇啊——終端瘋了吧?按Ctrl+C來終止程序吧。

剛才發生了什么?如果你仔細看,你會發現while循環的條件,True永遠無法變成False,所以這段代碼會以CPU能夠執行的最快的速度打印數字。

這個故事告訴我們:當寫while循環的時候要時刻保持小心,因為你代碼里面的無限循環,對于真實世界來講,不太會是什么好事!

使用True作為while循環的條件是有可能的,尤其是當你不知道要循環多少次的時候。但是你需要一些技巧來退出這個循環。

在解釋器中輸入下面的代碼:

x = 0
while True:print xx += 1if x > 10:break

這樣就好多了!上面的代碼會打印0到10然后退出。這里用到的技巧是break語句,它會直接跳出循環。不論出于何種原因,如果你想要在for循環中提前跳出,也可以使用這個技巧。

捕獲用戶輸入

Python中一件很酷的事情是可以非常簡便的以文本的方式獲取輸入用戶輸入。輸入是指任何從外部提供給程序的數據,比如文本或者是其他會影響程序行為的指令。

在你的解釋器中輸入下面代碼:

name = raw\_input("What is your name? ")
print "Hello, " + name

上面的代碼首先會讓你進行輸入;一旦用戶輸入了問題的答案,程序會把它賦值給name變量。這一過程完成后,程序會連接字符串“Hello,”和變量name 的內容。

raw_input()函數是Python內建函數;它完成打印從控制臺輸入字符串的工作,捕獲用戶輸入的文本,然后把它們作為函數值返回。

利用上面捕獲輸入的技術,你可以創建簡單的計算器。在你的解釋器中輸入下面的代碼:

a = raw\_input("Number 1: ")
b = raw\_input("Number 2: ")
print int(a) + int(b)

首先,你捕獲了兩個用戶輸入的值然后把它們分別賦值給a和b。然后你把他們轉換成了整型并相加。

為什么要有轉換這一步呢?僅僅是因為解釋器中所有的輸入都是以字符串形式進行的,而你是希望吧兩個整數的值相加。

如果你不轉換這些字符串為整數,你覺得會怎樣呢?沒錯,程序會連接你輸入的字符串,這并不是你想要的!

導入

在我們深入研究導入之前,介紹一下Python的模塊是必要的。一個模塊,是一組Python函數的集合,你希望在不同的程序中重用它們。導入一個模塊等價于從一個模塊中把所有的代碼取出來放到你自己的程序里面所以你可以在任何時候去使用他們,但是又不需要去剪切和復制,哪怕是一行代碼!

在Python社區中,存在著大量的模塊,但是目前來講,你僅會接觸到隨機數模塊(random module)。

要導入模塊,在解釋器中輸入下面的代碼:

import random

一旦導入了模塊,你就可以像下面這樣使用它了:

print random.randint(0, 100)

這將會打印0到100間隨機的整數;很直觀的東西。到目前為止你已經學到很多知識了,足以把他們揉在一個小程序里來練習一下你目前學到的知識了!
猜謎游戲

這將是你辛苦學習Python編程得到的回報。你將創造屬于你自己的猜謎游戲!

首先,你需要一個與在解釋器中一句一句直接執行程序相比更好的方式。

為了做到這一點,你需要創建Python文件。

Mac

在Mac系統下創建Python文件,在終端中輸入下面的命令:

$ touch guess.py
$ open -t guess.py

這將會使用`touch` 命令創建一個空的`guess.py` 文件,然后通過`open -t`命令,使用默認的文本編輯器打開它,

一旦你的Python文件中有了一些內容后,你就可以在終端中輸入`python guess.py` 來執行它。

Windows

在Windows系統下,點擊IDLE中的文件按鈕(File) 找到新建文件(New File)。你會發現一個文本編輯器映入眼簾,你可以在里面輸入你的新程序。

201541113039293.jpg (690×727)

再次點擊文件按鈕,選擇保存。把文件名命名為`guess.py` 然后把它保存在你想要保存的地方。

運行你的程序,在菜單中選擇RunRun,就像這樣:

201541113152417.jpg (690×734)

游戲時間!

猜謎游戲將會生成一個隨機數,然后在一個循環中,反復詢問游戲者他們的猜測結果。如果用戶猜中,則結束循環;否則程序會提醒用戶他們的猜測是過高還是過低并繼續詢問結果直到猜中。

import random
number = random.randint(0, 100)

上面這段程序會導入隨機數模塊,然后生成一個0到100之間的隨機數并把它儲存在變量number中。

接下來,你需要詢問游戲者他們的答案。把這些代碼加到程序的后面:

guess = raw\_input("Guess the Number: ")

這段代碼,和你猜的一樣,讓用戶輸入它們的答案并且把它保存在guess變量中。記住,現在這個變量是一個字符串,你需要把它轉換為整型。

在程序中添加下面的代碼,就加在上面的代碼后面:

guess\_int = int(guess)

這個代碼把用戶輸入的字符串轉換為整型然后賦值給guess_int變量。

下面你需要比較用戶猜測的值和隨機數的大小。

在程序結尾添加下面的代碼:

if number > guess\_int:print "Too low!"
if number < guess\_int:print "Too high!"
if number == guess\_int:print "You got it!"

點擊菜單按鈕的RunRun Module或是在終端中輸入`python guess.py` 來運行程序;當程序提示你的時候,輸入數字。發生了什么?程序在你輸入數字后會把結果顯示到屏幕上然后就停止了。哎呀!

你想讓程序循環的詢問你結果直到你猜中。你需要用一個running變量來添加這個功能。

running = True

running會被用在while循環中來控制你程序的循環。當用戶輸入正確的答案,程序會把running變量賦值為False然后while就會停止。

在你讓用戶輸入結果的前面添加下面這段代碼:

while running:guess = raw\_input("Guess the Number: ")...etc

下面,縮進剩下的代碼到同一層,這樣while循環才能認出它們是循環中的代碼塊。

最后,你需要添加用戶獲勝時,把running賦值為False的語句:

if number == guess\_int:print "You got it!"running = False

確保if下面的兩行代碼被縮進兩層。

運行你的程序,現在再試一下。你需要多少回才能猜中正確答案?

你最終的程序看上去是這個樣子的:

import random
running = True
number = random.randint(0, 100)while running:guess = raw\_input("Guess the Number: ")guess\_int = int(guess)if number > guess\_int:print "Too low!"?if number < guess\_int:print "Too high!"if number == guess\_int:print "You got it!"running = False

恭喜你——你已經寫出了你的第一個Python程序。別不是那么難,對吧?


小結

恭喜你——你已經寫出了你的第一個Python程序。別不是那么難,對吧?


關于Python技術儲備

學好 Python 不論是就業還是做副業賺錢都不錯,但要學會 Python 還是要有一個學習規劃。最后大家分享一份全套的 Python 學習資料,給那些想學習 Python 的小伙伴們一點幫助!

微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費

一、Python所有方向的學習路線

Python所有方向的技術點做的整理,形成各個領域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面。
在這里插入圖片描述

二、Python基礎學習視頻

② 路線對應學習視頻

還有很多適合0基礎入門的學習視頻,有了這些視頻,輕輕松松上手Python~在這里插入圖片描述
在這里插入圖片描述

③練習題

每節視頻課后,都有對應的練習題哦,可以檢驗學習成果哈哈!
在這里插入圖片描述
因篇幅有限,僅展示部分資料

三、精品Python學習書籍

當我學到一定基礎,有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術點的理解,這些理解是比較獨到,可以學到不一樣的思路。
在這里插入圖片描述

四、Python工具包+項目源碼合集
①Python工具包

學習Python常用的開發軟件都在這里了!每個都有詳細的安裝教程,保證你可以安裝成功哦!
在這里插入圖片描述

②Python實戰案例

光學理論是沒用的,要學會跟著一起敲代碼,動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰案例來學習。100+實戰案例源碼等你來拿!
在這里插入圖片描述

③Python小游戲源碼

如果覺得上面的實戰案例有點枯燥,可以試試自己用Python編寫小游戲,讓你的學習過程中增添一點趣味!
在這里插入圖片描述

五、面試資料

我們學習Python必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有阿里大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
在這里插入圖片描述
在這里插入圖片描述

六、Python兼職渠道

而且學會Python以后,還可以在各大兼職平臺接單賺錢,各種兼職渠道+兼職注意事項+如何和客戶溝通,我都整理成文檔了。
在這里插入圖片描述
在這里插入圖片描述
這份完整版的Python全套學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費

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

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

相關文章

磐舟CI使用說明及案例

整體介紹 磐舟作為一個devops產品&#xff0c;它具備基礎的CI流水線功能。同時磐舟的流水線是完全基于云原生架構設計的&#xff0c;在使用時會有一些注意事項。這里首先我們要了解磐舟整體的流水線打包邏輯。 文檔結構說明 一般來說&#xff0c;磐舟推薦單個業務的標準git庫…

反編譯-ApkTool

ApkTool下載地址&#xff1a; Apktool | ApktoolA tool for reverse engineering Android apk fileshttps://apktool.org/ 1、使用 apktool 解包 執行 java -jar apktool_2.4.1.jar d demo.apk -o demo 命令 java -jar apktool_2.4.1.jar d demo.apk -o demo 其中 d 后面是…

Nevron Vision for .NET 2023.1 Crack

Nevron Vision for .NET 適用于桌面和 Web 應用程序的高級數據可視化 Nevron Vision for .NET提供最全面的組件&#xff0c;用于構建面向 Web 和桌面的企業級數據可視化應用程序。 該套件中的組件具有連貫的 2D 和 3D 數據可視化效果&#xff0c;對觀眾產生巨大的視覺沖擊力。我…

基于window10的遠程桌面報錯:要求的函數不受支持 的問題解決方法

基于window10的遠程桌面報錯&#xff1a;要求的函數不受支持 的問題解決方法 設置方法&#xff1a; 一、WINR 在框內輸入gpedit.msc 二、依次打開 計算機配置----管理模板-----系統—憑據分配—加密數據庫修正–改為以啟用—易受攻擊 第一步&#xff1a; 第二步&#xff1a;…

并查集總結

并查集簡介 并查集是一種可以動態維護若干個不重疊的結合&#xff0c;并支持合并與查詢的數據結構 并查集是一種樹狀的數據結構&#xff0c;可以用于維護傳遞關系以及聯通性。 并查集有兩種操作&#xff1a; find&#xff1a;查詢一個元素屬于哪個集合merge:合并兩個集合 模…

爆款文章有訣竅,內容創作者如何能持續產出優質內容

內容營銷人有沒有這么一種共鳴&#xff1a;10 萬 那么多&#xff0c;為什么不能多我一個&#xff1f; 通常&#xff0c;我們把瀏覽量 / 閱讀量高、轉評贊數量高的內容看作爆款&#xff0c;而數據如果達到 10 萬 則是超級爆款。因為&#xff0c;閱讀量高意味著內容得到了大量的曝…

【Linux】使用Makefile自動化編譯項目:簡化開發流程、提高效率

文章目錄 示例一&#xff1a;編譯一個進度條程序示例二&#xff1a;編譯一個簡單的程序gcc的幾個選項結論 當你開始一個新的軟件項目時&#xff0c;編寫一個好的Makefile是非常重要的。Makefile是一個文本文件&#xff0c;用于指定如何構建和編譯項目。它定義了目標文件、依賴關…

8年老鳥整理,自動化測試-準備測試數據詳細...

目錄&#xff1a;導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結&#xff08;尾部小驚喜&#xff09; 前言 大部分類型的測試…

基于C#實現Bitmap算法

在所有具有性能優化的數據結構中&#xff0c;我想大家使用最多的就是 hash 表&#xff0c;是的&#xff0c;在具有定位查找上具有 O(1)的常量時間&#xff0c;多么的簡潔優美&#xff0c;但是在特定的場合下&#xff1a; ①&#xff1a;對 10 億個不重復的整數進行排序。 ②&am…

python獲取透明圖

import cv2 import os import numpy as nproot "./test" for file in os.listdir(root):# 讀取圖片image cv2.imread(os.path.join(root, file), cv2.IMREAD_UNCHANGED)new np.zeros((image.shape[0], image.shape[1], image.shape[2]), np.uint8)# 檢查圖片是否為…

AI原生應用為百度帶來新增量

我是盧松松&#xff0c;點點上面的頭像&#xff0c;歡迎關注我哦&#xff01; AI將徹底改變每一個行業!得益于AI和基礎模型的驅動&#xff0c;百度在AI原生應用領域厚積薄發。 11月21日&#xff0c;百度Q3財報發布&#xff0c;數據顯示&#xff1a;三季度營收達344.47億元&…

Redis篇---第九篇

系列文章目錄 文章目錄 系列文章目錄前言一、如果有大量的 key 需要設置同一時間過期,一般需要注意什么?二、什么情況下可能會導致 Redis 阻塞?三、緩存和數據庫誰先更新呢?前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊…

Axios簡單使用與配置安裝-Vue

安裝Axios npm i axios main.js 導入 import Axios from axios Vue.prototype.$axios Axios簡單發送請求 get getTest() {this.$axios({method: GET,url: https://apis.jxcxin.cn/api/title?urlhttps://apis.jxcxin.cn/}).then(res > {//請求成功回調console.log(res)}…

uiautomator2快速入門app自動化測試教程

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、環境準備1.安裝軟件2.安裝庫 二、adb 連接手機1. 準備工作2. 第一種連接方式&#xff1a;USB連接3. 第二種連接方式&#xff1a;WLAN連接4. 第三種連接方式…

②⑩ 【MySQL Log】詳解MySQL日志:錯誤日志、二進制日志、查詢日志、慢查詢日志

個人簡介&#xff1a;Java領域新星創作者&#xff1b;阿里云技術博主、星級博主、專家博主&#xff1b;正在Java學習的路上摸爬滾打&#xff0c;記錄學習的過程~ 個人主頁&#xff1a;.29.的博客 學習社區&#xff1a;進去逛一逛~ MySQL日志 ②⑩ MySQL日志&#xff1a;錯誤日志…

SpringBoot3.x最簡集成SpringDoc-OpenApi

為什么使用SpringDoc 在SpringBoot低版本時一般使用Swagger掃描接口生成Json格式的在線文檔&#xff0c;然后通過swagger-ui將Json格式的文檔以頁面形式展示文檔。可惜遺憾的是swagger更新到3.0.0版本(springfox)后不更新了。 SpringBoot3.x以后需要的JDK版本最低為Java17&…

MQ和redis的內部原理一些總結

首先&#xff0c;先知道內部原理&#xff1b;其次&#xff0c;就是查官方文檔實戰了。 但是如果不熟悉內部原理&#xff0c;那么僅僅只是安裝官方文檔&#xff0c;并不能排除跟蹤問題和故障、預防風險等策略&#xff1b; 以下總結圖解&#xff1a;&#xff08;mysql 8.0新增的…

YOLO目標檢測——衛星遙感艦船檢測數據集下載分享【含對應voc、coco和yolo三種格式標簽】

實際項目應用&#xff1a;衛星遙感艦船檢測數據集說明&#xff1a;衛星遙感艦船檢測數據集&#xff0c;真實場景的高質量圖片數據&#xff0c;數據場景豐富&#xff0c;含船一個類別標簽說明&#xff1a;使用lableimg標注軟件標注&#xff0c;標注框質量高&#xff0c;含voc(xm…

Redis的持久化

redis是一個內存數據庫,是把數據存儲在內存中的,而我們知道內存中的數據是不持久的,一旦服務器重啟或者進程重啟,內存的數據就丟失了.為了讓數據達到持久化的效果,就必須把數據寫到硬盤上. redis相對于mysql這樣的關系型數據庫最明顯的優勢就是快.所以為了保證速度快,數據還得…