華科python與人工智慧實踐(公選)教程

来源:https://www.cnblogs.com/losyi/p/18425915
-Advertisement-
Play Games

python基礎 軟體下載 1.python下載安裝 點擊此鏈接進入官網windows下載地址 點擊箭頭處鏈接下載最新版本,進入頁面後下拉 根據你的機器下載對應版本,一般人使用的是X86架構windos系統,下載箭頭所指即可 若是不知道CPU架構,可見查看cpu架構,x86還是arm 下載後根據指引 ...


python基礎

軟體下載

1.python下載安裝

點擊此鏈接進入官網windows下載地址
image
點擊箭頭處鏈接下載最新版本,進入頁面後下拉
image
根據你的機器下載對應版本,一般人使用的是X86架構windos系統,下載箭頭所指即可
若是不知道CPU架構,可見查看cpu架構,x86還是arm
下載後根據指引進行安裝即可

2.環境變數配置

3.IDE下載安裝(Pychram)

4.Conda下載安裝 包管理和環境管理系統

5.jupyter notebook 交互計算應用程式

一、基礎語法

1.行與縮進

Python 與 C/C++、Java 這些 C 類語言不同,Python 使用縮進來表示代碼塊,而不是花括弧,縮進的空格數量可以由個人習慣決定,但同一個代碼塊的縮進空格數必須相同。

if True:
    print("true")
    print("true")
else:
 print("false")
 print("false");

上面程式的 if 部分和 else 部分縮進不相同,但是在各自的代碼塊內縮進是相同的,所以是正確的程式。

if True:
   print("true")
  print("true")

這個程式的 if 部分縮進不相同,所以是錯誤的程式。

多行語句
Python 的代碼一般是一行一條語句,語句之後的分號 ; 可加可不加。但如果要在一行中寫多條語句,則需要用分號 ; 隔開每條語句。

print("hello")
print("world");
print("hello");print("world")

以上三行(四條語句)都是正確的。

2.標識符與保留字

(1)標識符

標識符就是程式中,使用的各種名稱,例如:變數名、常量名、類名等等。
在 Python 中,對標識符格式的要求與 C/C++、Java 等差不多:

  1. 第一個字元必須是字母表中的字母或下劃線 _ ;
  2. 標識符的其他的部分,由字母、數字和下劃線組成;
  3. 標識符對大小寫敏感;
  4. 標識符不能與保留字相同。
    比如:
num1 = 1
float1 = 0.5
true = True #這個 true 雖然字面上的意思與值“True”相同,但 python 對大小寫敏感,所以也是正確的
str1 = "hello"

這些都是正確的標識符。

而:

1value = 1 #開頭不能是數字
value0.1 = 0.1 #標識符中間只能是數字,字母,下劃線
if = True #與保留字if重名
都是不正確的標識符。

(2)保留字

保留字即關鍵字,是 Python 語言中內部使用的單詞,代表一定語義。例如:and、class、if、else 等。保留字不能作為標識符,用在變數名、常量名、類名等地方。
Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字:

import keyword
print(keyword.kwlist)
輸出:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del','elif',
'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in','is', 'lambda', 'nonlocal'
, 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3.註釋

註釋是對程式代碼的說明,一般是給程式員理解代碼使用,不作為程式一部分。

Python 中單行註釋以 # 開頭:

#這是一個註釋1
print("python") 
#這是一個註釋2
#print("python2")

多行註釋可以使用多個#,也可以用一對'''(三個單引號)或者"""(三個雙引號)包裹要註釋的內容:

#使用多個#
#作註釋
'''
用三個單引號
作註釋
'''
"""
用三個雙引號
作註釋
"""

4.輸出輸出

(1)輸出

print的函數的基本使用,在之前的關卡中,已經出現過多次,將要輸出的內容放在print()的括弧內,就可以輸出:

print("hello world")
得到的結果是:hello world

print函數可以同時輸出多個內容,只需要將它一起放在print的括弧內,並用逗號隔開:

print("hello","world")
得到的結果:hello world

值得註意的是,同時輸出的多個內容之間,會有空格隔開。

類似於 C/C++ 的printf,Python 的print也能實現格式化輸出,方法是使用%操作符,它會將左邊的字元串當做格式字元串,將右邊的參數代入格式字元串:

print("100 + 200 = %d" % 300) #左邊的%d被替換成右邊的300
print("A的小寫是%s" % "a") #左邊的%s被替換成右邊的a

得到的結果是:

100 + 200 = 300
A的小寫是a

如果要帶入多個參數,則需要用()包裹代入的多個參數,參數與參數之間用逗號隔開,參數的順序應該對應格式字元串中的順序:

print("%d + %d = %d" % (100,200,300))
print("%s %s" % ("world","hello"))

得到的結果是:
100 + 200 = 300
world hello

格式字元串中,不同占位符的含義:

占位符 含義
%s 作為字元串
%d 作為有符號十進位整數
%u 作為無符號十進位整數
%o 作為無符號八進位整數
%x 作為無符號十六進位整數,a~f 採用小寫形式
%X 作為無符號十六進位整數,A~F 採用大寫形式
%f 作為浮點數
%e/%E 作為浮點數,使用科學計數法
%g/%G 作為浮點數,使用最低有效數位

註意: print函數輸出數據後會換行,如果不想換行,需要指定end="":

print("hello" , end="")
print("world" , end="")

得到的結果:helloworld

(2)輸入

Iinput

使用input函數可以獲得用戶輸入,在控制台視窗上,輸入的一行的字元串,使用變數 = input()的形式將其賦值給一個變數:

str1 = input()
print("輸入的是%s" % str1)

如果輸入hello然後回車,則輸出:輸入的是hello。

還可以在input()的括弧內,加入一些提示信息:

str1=input("請輸入:")
print("輸入的是%s" % str1)

運行之後,會先顯示請輸入:,輸入數據hello之後回車,則會得到輸出:輸入的是hello,控制臺上顯示的全部內容為:

請輸入:hello
輸入的是hello

II 字元串轉換

input函數接收的是用戶輸入的字元串,此時還不能作為整數或者小數進行數學運算,需要使用函數將字元串轉換成想要的類型。
轉換成整數,使用int()函數:num1 = int(str)
轉換成小數,使用float()函數:f1 = float(str)

str = input()
num1 = int(str)
f1 = float(str)
print("整數%d,小數%f" % (num1,f1))```
如果輸入10,得到的輸出是:整數10,小數10.000000。
III f-string格式化字元串

f-string是 Python 3.6 引入的一種格式化字元串的方式,它比 % 操作符和 str.format() 更加簡潔和高效。f-string 允許直接在字元串內嵌入表達式或變數。基本使用語法如下:
在字元串前加上 f 或 F,併在字元串內部使用 {} 包裹變數或表達式,例如:

name = "Alice"
age = 30
message = f"My name is {name} and I am {age} years old."
print(message)
#輸出
#My name is Alice and I am 30 years old.

f-string的特點和用法包括:

  1. 直接嵌入變數: 可以在 {} 中放置任何變數,它會直接替換為該變數的值。
  2. 支持表達式: 不僅可以放入變數,還可以放入任意表達式,Python 會計算表達式的值並插入。
  3. 調用函數: 你可以直接在 {} 中調用函數並輸出結果。
  4. 格式化數字: 可以在 {} 中使用格式化指令,比如浮點數保留小數位、百分比格式等,例如:
pi = 3.1415926535
print(f"Pi to 3 decimal places: {pi:.3f}")

二、字元串處理

1.字元串拼接

Python 中使用+來合併兩個字元串,這種合併字元串的方法叫做拼接。其基本語法如下:

result_string = source_string1 + source_string2
其中:

  1. source_string1:待合併的第一個字元串;
  2. source_string2:待合併的第二個字元串;
  3. result_string:合併後的字元串。

註意:如果需要,在兩個字元串之間可以增加相應的空格,具體見下麵的例子。例如,將姓氏和名字拼接成全名:

# coding=utf-8
# 將姓氏和名字分別保存在兩個變數中
first_name = 'Zhang'
last_name = 'san'
# 將姓氏和名字拼接,將結果存儲在full_name變數中
full_name = first_name + " " + last_name
print(full_name)
#輸出結果:
#Zhang san

2.字元轉換

3.字元串查找與替換

(1)字元串查找

Python 提供了內置的字元串查找方法find(),利用該方法可以在一個較長的字元串中查找子字元串。如果該字元串中,有一個或者多個子字元串,則該方法返回第一個子串所在位置的最左端索引,若沒有找到符合條件的子串,則返回-1。find()方法的基本使用語法如下:

source_string.find(sub_string)
其中:

  1. source_string:源字元串;
  2. sub_string:待查的目標子字元串;
  3. find:字元串查找方法的語法關鍵字。

例如,在一個字元串中,查找兩個單詞的位置:

# coding=utf-8
# 創建一個字元串
source_string = 'The past is gone and static'
# 查看"past"在source_string字元串中的位置
print(source_string.find('past'))
# 查看"love"在source_string字元串中的位置
print(source_string.find('love'))
#輸出結果:
#4
#-1

(2)字元串替換

Python 提供了replace()方法,用以替換給定字元串中的子串。其基本使用語法如下:
source_string.replace(old_string, new_string)
其中:

  1. source_string:待處理的源字元串;
  2. old_string:被替換的舊字元串;
  3. new_string:替換的新字元串;
  4. replace:字元串替換方法的語法關鍵詞。

該操作返回值為轉換後的新串,若要直接對原串修改,應寫source_string=source_string.replace(old_string, new_string)
例如,在如下字元串中,用small子串替換big子串:

# coding = utf-8
# 創建一個字元串circle
source_string = 'The world is big'
# 利用replace()方法用子串"small"代替子串"big"
print(source_string.replace('big','small'))
#輸出結果:
#The world is small

(3)字元串分割

Python 提供了split()()方法實現字元串分割。該方法根據提供的分隔符,將一個字元串分割為字元列表,如果不提供分隔符,則程式會預設把空格(製表、換行等)作為分隔符。其基本使用語法如下:

source_string.split(separator)
其中:

  1. source_string:待處理的源字元串;
  2. parator:分隔符;
  3. split:字元串分割方法的關鍵詞。

例如,用+、/還有空格作為分隔符,分割字元串:

# coding = utf-8
# 待處理字元串source_string
source_string = '1+2+3+4+5'
# 利用split()方法,按照`+`和`/`對source_string字元串進行分割
print(source_string.split('+'))
print(source_string.split('/'))
#輸出結果:
#['1', '2', '3', '4', '5']
#['1+2+3+4+5']

三、玩轉列表

四、元組與字典


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 動態代理的API Proxy 動態代理類 生成代理對象:Proxy.newProxyInstance( 類載入器,介面數組,處理器 ) 類載入器:對象.getClass( ).getClassLoader( ) 介面數組-被代理類的所有介面:被代理對象.getClass( ).getInterfac ...
  • 大家好,我是 V 哥,粉絲小A面試阿裡,說被問到 Redis 的記憶體淘汰策略的問題,整理這個筆記給他參考,也分享給大家,如果你遇到這個問題,會怎麼回答呢? Redis 的記憶體淘汰策略是指當Redis的記憶體使用量達到設定的上限時,決定哪些數據應該被移除以便為新數據騰出空間的規則。Redis 提供了多種 ...
  • 正文 跟靈分別後,我在椅子上發了很久的呆。可能有五分鐘吧。就這樣感受著微風吹過身體,聽著身邊熙熙攘攘的聲音。 我不知道為什麼要發呆。自然而然就這樣做了。 過了很久,我意識到可能必須要吃飯了,才起身找飯館。 今天情緒不太好。我不知道是不是因為沒睡夠。不過,並沒有從一開始就很糟糕,到晚上才開始。 先是發 ...
  • UGit 是一款為騰訊內部研發環境特點而定製的 Git 客戶端,旨在提高開發效率和團隊協作的流暢性。UGit 支持 macOS 10.11+、Apple Silicon 和 Win64 位系統。 官方地址:https://ugit.qq.com/zh/index.html 主要特性 Ugit 提供便 ...
  • 類型轉換 類型轉換是將一個值從一種類型更改為另一種類型的過程。例如, 可以將String類型的數據“457”轉換為數值型,也可以將任意類型的 數據轉換為String類型。 如果從低精度數據類型向高精度數據類型轉換,則永遠不會溢出, 並且總是成功的;而把高精度數據類型向低精度數據類型轉換時,則會 有信 ...
  • 本文梳理總結了一些 Java 互聯網項目中常見的 Redis 緩存應用場景,例如常見的 String 類型 Key-Value、對時效性要求高的場景、Hash 結構的場景以及對實時性要求高的場景等,全面涵蓋了 Redis 中所有的 5 種基本類型。 ...
  • 在 Python 中,Zope 提供了一種機制來定義和實現介面。Zope 的介面模塊通常用於創建可重用的組件,並確保組件遵循特定的介面規範。 ...
  • Delete、Drop 和 Truncate delete、truncate 僅僅刪除表裡面的數據,drop會把表的結構也刪除 delete 是 DML 語句,操作完成後,可以回滾,truncate 和 drop 是 DDL 語句,刪除之後立即生效,不能回滾 執行效率:drop > truncate ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...