Python語法詳解及與Java的差異對(duì)比
一、Java vs Python 核心差異
首先要跳出 Java 的 “嚴(yán)謹(jǐn)框架”,適應(yīng) Python 的 “簡(jiǎn)潔靈活”。兩者核心差異如下表:
| 維度 | Java | Python |
|---|---|---|
| 語法風(fēng)格 | 必須用;結(jié)尾,代碼塊用{}包裹 | 不用;(可選),代碼塊用縮進(jìn)(4 個(gè)空格)區(qū)分 |
| 變量聲明 | 必須指定類型(int a = 1),強(qiáng)類型 | 不用指定類型(a = 1),動(dòng)態(tài)強(qiáng)類型(類型不自動(dòng)轉(zhuǎn)換) |
| 類與方法 | 必須在類中寫代碼(無頂級(jí)函數(shù)),main為入口 | 可直接寫頂級(jí)函數(shù)(不用包 / 類包裹),if __name__ == "__main__":為入口 |
| 數(shù)據(jù)類型 | 基本類型(int/char)+ 引用類型 | 全是對(duì)象(int對(duì)應(yīng)int類,char用字符串'a'表示) |
| 異常處理 | 必須捕獲 checked 異常(如IOException) | 無 checked 異常,僅需捕獲可能觸發(fā)的異常 |
| 依賴管理 | Maven/Gradle(配置文件) | pip(命令行工具,pip install 包名) |
二、核心語法
1. 變量與數(shù)據(jù)類型(比 Java 簡(jiǎn)單)
Python 無需聲明類型,直接賦值即可,核心類型與 Java 對(duì)應(yīng)關(guān)系如下:
| Java 類型 | Python 類型 | 示例 | 說明 |
|---|---|---|---|
int | int | a = 100 | Python 無整數(shù)大小限制(Java 有int/long) |
double | float/complex | b = 3.14(float) | 復(fù)數(shù)用c = 2 + 3j表示 |
char | str(單個(gè)字符) | d = 'a' | Python 無char,單個(gè)字符也是字符串 |
String | str | e = "hello" | 單引號(hào) / 雙引號(hào)無區(qū)別,支持三引號(hào)多行 |
boolean | bool | f = True/g = False | 首字母大寫(Java 是true/false) |
List | list | h = [1, 2, "a"] | 動(dòng)態(tài)數(shù)組,可存不同類型(Java 泛型限制) |
Map | dict | i = {"name": "Tom", "age": 18} | 鍵值對(duì)集合,鍵可是任意不可變類型 |
示例代碼(對(duì)比 Java):
# Python:無需聲明類型,直接賦值
a = 10 # int
b = 3.14 # float
c = "Python" # str
d = [1, 2, "list"] # list(類似Java的ArrayList)
e = {"key1": "val1", "key2": "val2"} # dict(類似Java的HashMap)
# 查看類型(類似Java的getClass())
print(type(a)) # 輸出:<class 'int'>
2. 流程控制(邏輯一致,語法簡(jiǎn)化)
Python 的流程控制(if/for/while)邏輯和 Java 完全一致,只是語法更簡(jiǎn)潔,沒有{},靠縮進(jìn)區(qū)分代碼塊。
(1)if-else(比 Java 少了()和{})
# Python
age = 20
if age >= 18: # 不用加(),冒號(hào):結(jié)尾
print("成年") # 縮進(jìn)4個(gè)空格,代表這個(gè)代碼塊屬于if
elif age >= 12: # Java的else if,Python寫elif
print("青少年")
else:
print("兒童")
# 對(duì)比Java
# int age = 20;
# if (age >= 18) {
# System.out.println("成年");
# } else if (age >= 12) {
# System.out.println("青少年");
# } else {
# System.out.println("兒童");
# }
(2)for 循環(huán)(Python 更靈活,支持 “迭代”)
Java 的 for 循環(huán)多是 “索引循環(huán)”(for(int i=0; i<10; i++)),而 Python 的 for 循環(huán)默認(rèn)是 “迭代循環(huán)”(直接遍歷集合 / 范圍),更簡(jiǎn)潔:
# 1. 遍歷范圍(類似Java的for(int i=0; i<5; i++))
for i in range(5): # range(5)生成0-4的序列
print(i) # 輸出:0,1,2,3,4
# 2. 遍歷列表(類似Java的for-each)
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit) # 輸出:apple, banana, orange
# 3. 遍歷字典(Java需遍歷entrySet(),Python更直接)
person = {"name": "Tom", "age": 18}
for key, value in person.items(): # items()獲取鍵值對(duì)
print(f"{key}: {value}") # 輸出:name: Tom, age: 18
(3)while 循環(huán)(和 Java 幾乎一致)
# Python
count = 0
while count < 3:
print(f"count: {count}")
count += 1 # 注意:Python沒有count++/--(Java有)
3. 函數(shù)(無需寫返回值類型,支持默認(rèn)參數(shù))
Python 函數(shù)用def定義,無需聲明參數(shù)類型和返回值類型(但實(shí)際是強(qiáng)類型,傳錯(cuò)類型會(huì)報(bào)錯(cuò)),支持默認(rèn)參數(shù)、可變參數(shù),比 Java 靈活。
# 1. 基本函數(shù)(無參數(shù),無返回值)
def say_hello():
print("Hello Python") # 類似Java的void方法
# 調(diào)用函數(shù)(不用new,直接調(diào))
say_hello()
# 2. 帶參數(shù)和返回值的函數(shù)(無需聲明類型)
def add(a, b): # 類似Java的int add(int a, int b),但不用寫類型
return a + b # 自動(dòng)返回結(jié)果類型
result = add(3, 5)
print(result) # 輸出:8
# 3. 默認(rèn)參數(shù)(Java需重載,Python直接寫)
def greet(name, msg="Hello"): # msg默認(rèn)值為"Hello"
print(f"{msg}, {name}")
greet("Tom") # 用默認(rèn)msg,輸出:Hello, Tom
greet("Tom", "Hi") # 自定義msg,輸出:Hi, Tom
# 4. 可變參數(shù)(類似Java的varargs,用*表示)
def sum_all(*nums): # nums是一個(gè)元組(類似不可變列表)
total = 0
for num in nums:
total += num
return total
print(sum_all(1, 2, 3)) # 輸出:6
print(sum_all(1, 2, 3, 4, 5)) # 輸出:15
4. 面向?qū)ο螅ê?jiǎn)化版 Java OOP)
Python 也是面向?qū)ο笳Z言,支持類、繼承、多態(tài),但語法比 Java 簡(jiǎn)潔太多(沒有public/private修飾符,沒有接口,支持多繼承)。
(1)定義類與創(chuàng)建對(duì)象
# Python:類用class定義,首字母大寫
class Person:
# 構(gòu)造方法(類似Java的Person()構(gòu)造器),必須叫__init__
def __init__(self, name, age): # self類似Java的this,必須是第一個(gè)參數(shù)
self.name = name # 實(shí)例屬性(類似Java的this.name = name)
self.age = age
# 實(shí)例方法(必須帶self參數(shù))
def introduce(self):
print(f"My name is {self.name}, I'm {self.age} years old")
# 創(chuàng)建對(duì)象(不用new!直接調(diào)類名)
tom = Person("Tom", 18) # 類似Java的Person tom = new Person("Tom", 18);
# 調(diào)用方法(不用傳self參數(shù),Python自動(dòng)傳)
tom.introduce() # 輸出:My name is Tom, I'm 18 years old
# 訪問屬性(類似Java的tom.name,但Python沒有private,默認(rèn)都能訪問)
print(tom.name) # 輸出:Tom
(2)繼承(支持單繼承 / 多繼承)
Python 用class 子類(父類1, 父類2...)實(shí)現(xiàn)繼承,比 Java 的extends更靈活(支持多繼承):
# 父類
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print(f"{self.name} is eating")
# 子類(單繼承Animal)
class Dog(Animal):
# 重寫父類方法(類似Java的@Override)
def eat(self):
print(f"{self.name} is eating bones")
# 子類特有方法
def bark(self):
print(f"{self.name} is barking: Wang! Wang!")
# 創(chuàng)建子類對(duì)象
dog = Dog("Wangcai")
dog.eat() # 調(diào)用重寫的方法,輸出:Wangcai is eating bones
dog.bark() # 調(diào)用子類特有方法,輸出:Wangcai is barking: Wang! Wang!
5. 異常處理(無 Checked 異常,語法簡(jiǎn)化)
Python 的異常處理邏輯和 Java 一致(try-catch-finally),但沒有 Checked 異常(如 Java 的IOException),只有 RuntimeException 類的異常,語法更簡(jiǎn)潔:
try:
# 可能出錯(cuò)的代碼(類似Java的try塊)
num = int(input("請(qǐng)輸入一個(gè)數(shù)字:"))
result = 10 / num
print(f"結(jié)果:{result}")
except ValueError: # 捕獲“輸入不是數(shù)字”的異常
print("請(qǐng)輸入有效的數(shù)字!")
except ZeroDivisionError: # 捕獲“除以0”的異常
print("不能除以0!")
finally: # 無論是否異常,都會(huì)執(zhí)行(類似Java)
print("程序執(zhí)行完畢")
三、Python 效率核心
Python 有很多 Java 沒有的特性,讓你用 Python 寫代碼效率翻倍:
1. 列表推導(dǎo)式(快速生成列表)
不用寫循環(huán),一行代碼生成列表,比 Java 的stream更簡(jiǎn)潔:
# 生成1-10的平方列表(Java需寫for循環(huán)或stream) squares = [x*x for x in range(1, 11)] print(squares) # 輸出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # 帶條件的列表推導(dǎo)式(生成1-10中的偶數(shù)) evens = [x for x in range(1, 11) if x % 2 == 0] print(evens) # 輸出:[2, 4, 6, 8, 10]
2. 字典推導(dǎo)式(快速生成字典)
類似列表推導(dǎo)式,一行生成字典:
# 生成“數(shù)字-平方”的字典
square_dict = {x: x*x for x in range(1, 6)}
print(square_dict) # 輸出:{1:1, 2:4, 3:9, 4:16, 5:25}
3. 切片(快速操作列表 / 字符串)
Java 操作子數(shù)組 / 子字符串需要substring()或Arrays.copyOfRange(),Python 用切片([start:end:step])更直觀:
# 操作列表 nums = [1, 2, 3, 4, 5] print(nums[1:3]) # 取索引1到2(不包含3),輸出:[2, 3] print(nums[:3]) # 從開頭取到索引2,輸出:[1, 2, 3] print(nums[2:]) # 從索引2取到結(jié)尾,輸出:[3, 4, 5] print(nums[::2]) # 步長(zhǎng)2,取所有奇數(shù)索引,輸出:[1, 3, 5] # 操作字符串(類似Java的substring,但更靈活) s = "Python" print(s[1:4]) # 輸出:yth
4. 內(nèi)置函數(shù)
Python 有大量?jī)?nèi)置函數(shù),覆蓋 Java 中Arrays/Collections/Math等工具類的功能,直接調(diào)用即可:
nums = [3, 1, 4, 1, 5] print(len(nums)) # 取長(zhǎng)度(類似Java的nums.size()),輸出:5 print(max(nums)) # 取最大值(類似Java的Collections.max()),輸出:5 print(min(nums)) # 取最小值,輸出:1 print(sum(nums)) # 求和(Java需自己寫循環(huán)或用stream),輸出:14 print(sorted(nums)) # 排序(類似Java的Collections.sort()),輸出:[1,1,3,4,5]
四、輸入輸出
(一)輸出:比System.out.println()更靈活
Python 用print()函數(shù)輸出,功能比 Java 的System.out.println()更強(qiáng)大,支持直接打印多種類型,還能自定義分隔符和結(jié)尾符。
1. 基本用法(替代System.out.println())
# 打印字符串(無需加引號(hào)拼接,直接逗號(hào)分隔)
name = "Tom"
age = 18
print("姓名:", name, ",年齡:", age) # 輸出:姓名: Tom ,年齡: 18
# 對(duì)比Java(需要+拼接或格式化)
# String name = "Tom";
# int age = 18;
# System.out.println("姓名:" + name + ",年齡:" + age);
2. 格式化輸出(替代System.out.printf())
Python 支持兩種格式化方式,推薦用f-string(最簡(jiǎn)潔,3.6 + 支持):
# 1. f-string(推薦):字符串前加f,變量用{ }包裹
name = "Tom"
age = 18
print(f"姓名:{name},年齡:{age}") # 輸出:姓名:Tom,年齡:18
# 2. format()方法(類似Java的printf,但更靈活)
print("姓名:{},年齡:{}".format(name, age)) # 同上
# 3. 數(shù)字格式化(保留2位小數(shù),類似Java的%.2f)
pi = 3.1415926
print(f"圓周率:{pi:.2f}") # 輸出:圓周率:3.14
3. 自定義分隔符和結(jié)尾符
Java 的println()默認(rèn)換行,print()不換行;Python 的print()可以通過參數(shù)自定義:
# 默認(rèn):元素用空格分隔,結(jié)尾換行
print(1, 2, 3) # 輸出:1 2 3(自動(dòng)換行)
# 自定義分隔符(sep)和結(jié)尾符(end)
print(1, 2, 3, sep=",", end=";") # 輸出:1,2,3;(不換行)
print("后續(xù)內(nèi)容") # 輸出:后續(xù)內(nèi)容(接在上一行后面)
(二)輸入:比Scanner更簡(jiǎn)單
Python 用input()函數(shù)獲取用戶輸入,無需像 Java 那樣區(qū)分nextInt()/nextLine(),但需要手動(dòng)轉(zhuǎn)換類型(因?yàn)?code>input()默認(rèn)返回字符串)。
1. 基本用法(獲取字符串輸入)
# 獲取用戶輸入(括號(hào)內(nèi)是提示文字,可選)
name = input("請(qǐng)輸入姓名:") # 類似Java的Scanner.nextLine()
print(f"你輸入的姓名是:{name}")
# 注意:無論輸入什么,input()都返回字符串
age_str = input("請(qǐng)輸入年齡:") # 即使輸入數(shù)字,也是字符串類型
print(type(age_str)) # 輸出:<class 'str'>
2. 轉(zhuǎn)換為其他類型(替代nextInt()/nextDouble())
Java 的Scanner有nextInt()直接獲取整數(shù),Python 需要用int()/float()手動(dòng)轉(zhuǎn)換:
# 1. 轉(zhuǎn)換為整數(shù)(類似Java的nextInt())
try:
age = int(input("請(qǐng)輸入年齡:")) # 輸入非數(shù)字會(huì)拋ValueError
print(f"明年你將是{age + 1}歲")
except ValueError:
print("輸入的不是有效數(shù)字!")
# 2. 轉(zhuǎn)換為浮點(diǎn)數(shù)(類似Java的nextDouble())
height = float(input("請(qǐng)輸入身高(米):"))
print(f"身高是{height * 100}厘米")
3. 一行輸入多個(gè)值(替代split()+ 循環(huán)轉(zhuǎn)換)
Java 中一行輸入多個(gè)值需要split()后逐個(gè)轉(zhuǎn)換,Python 可以用拆包簡(jiǎn)化:
# 輸入格式:用空格分隔多個(gè)值(如 "18 75 1.75")
info = input("請(qǐng)輸入年齡、體重、身高(空格分隔):").split()
# 拆包并轉(zhuǎn)換類型
age, weight, height = int(info[0]), float(info[1]), float(info[2])
print(f"年齡:{age},體重:{weight}kg,身高:{height}m")
# 更簡(jiǎn)潔的寫法(一行完成)
age, weight, height = map(lambda x: float(x) if '.' in x else int(x), input("請(qǐng)輸入年齡、體重、身高:").split())
(三)輸入輸出綜合示例(對(duì)比 Java)
實(shí)現(xiàn)一個(gè) “計(jì)算兩數(shù)之和” 的程序,對(duì)比 Java 和 Python 的代碼:
Python 版本(簡(jiǎn)潔,無需處理類型判斷細(xì)節(jié))
try:
# 獲取輸入并轉(zhuǎn)換類型
a = float(input("請(qǐng)輸入第一個(gè)數(shù):"))
b = float(input("請(qǐng)輸入第二個(gè)數(shù):"))
# 計(jì)算并輸出
print(f"{a} + = {a + b}")
except ValueError:
print("輸入錯(cuò)誤,請(qǐng)輸入數(shù)字!")
Java 版本(需要更多類型處理代碼)
import java.util.Scanner;
public class AddTwoNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("請(qǐng)輸入第一個(gè)數(shù):");
double a = scanner.nextDouble(); // 必須指定類型
System.out.print("請(qǐng)輸入第二個(gè)數(shù):");
double b = scanner.nextDouble();
System.out.println(a + " + " + b + " = " + (a + b));
} catch (java.util.InputMismatchException e) {
System.out.println("輸入錯(cuò)誤,請(qǐng)輸入數(shù)字!");
} finally {
scanner.close(); // 必須關(guān)閉資源
}
}
}
五、代碼練習(xí)
實(shí)現(xiàn) “學(xué)生成績(jī)管理”,包含添加學(xué)生、計(jì)算平均分、打印成績(jī)功能。
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def manage_scores():
students = [] # 存儲(chǔ)學(xué)生對(duì)象的列表
# 添加學(xué)生
while True:
name = input("請(qǐng)輸入學(xué)生姓名(輸入q退出):")
if name == 'q':
break
try:
score = int(input(f"請(qǐng)輸入{name}的成績(jī):"))
students.append(Student(name, score))
except ValueError:
print("成績(jī)必須是數(shù)字!")
# 計(jì)算平均分
if not students:
print("沒有學(xué)生數(shù)據(jù)!")
return
total = sum(s.score for s in students) # 生成器表達(dá)式,更高效
avg = total / len(students)
# 打印結(jié)果
print("\n學(xué)生成績(jī)列表:")
for s in students:
print(f"{s.name}: {s.score}")
print(f"平均分:{avg:.2f}")
# 程序入口(類似Java的main方法)
if __name__ == "__main__":
manage_scores()
附:JAVA和Python在實(shí)際應(yīng)用中的優(yōu)缺點(diǎn)對(duì)比
Web開發(fā)領(lǐng)域
在Web開發(fā)領(lǐng)域,Python因其簡(jiǎn)潔的語法和強(qiáng)大的框架如Django和Flask而受到青睞。這些框架提供了快速開發(fā)Web應(yīng)用的能力,尤其是在中小型項(xiàng)目和創(chuàng)業(yè)公司中。Python的快速迭代和易于部署的特性使得它在Web開發(fā)中非常流行。
相比之下,JAVA在大型企業(yè)和遺留系統(tǒng)中更為常見,尤其是在使用Java EE(現(xiàn)在稱為Jakarta EE)規(guī)范的應(yīng)用服務(wù)器上。JAVA的穩(wěn)定性和強(qiáng)大的Spring框架家族(包括Spring MVC和Spring Boot)使其成為構(gòu)建復(fù)雜、可擴(kuò)展的Web應(yīng)用的優(yōu)選。
數(shù)據(jù)分析與人工智能領(lǐng)域
Python在數(shù)據(jù)分析和人工智能(AI)領(lǐng)域占據(jù)主導(dǎo)地位,這主要?dú)w功于其豐富的數(shù)據(jù)科學(xué)生態(tài)系統(tǒng),包括Pandas、NumPy、SciPy和Matplotlib等庫。此外,深度學(xué)習(xí)框架如TensorFlow和PyTorch也為Python提供了強(qiáng)大的支持。Python的簡(jiǎn)潔性和易用性使得研究人員和開發(fā)人員能夠快速實(shí)現(xiàn)算法和模型。
JAVA在數(shù)據(jù)分析領(lǐng)域也有其應(yīng)用,尤其是在需要高性能計(jì)算和大規(guī)模數(shù)據(jù)處理的情況下。JAVA的Hadoop和Apache Spark等大數(shù)據(jù)處理框架在企業(yè)中得到了廣泛應(yīng)用。然而,JAVA在AI領(lǐng)域的庫和框架相對(duì)較少,這使得Python在這一領(lǐng)域更具優(yōu)勢(shì)。
企業(yè)級(jí)應(yīng)用開發(fā)
JAVA長(zhǎng)期以來一直是企業(yè)級(jí)應(yīng)用開發(fā)的首選語言。它的穩(wěn)定性和強(qiáng)大的社區(qū)支持使其成為構(gòu)建大型、分布式系統(tǒng)的理想選擇。JAVA的Java EE(Jakarta EE)平臺(tái)提供了企業(yè)級(jí)應(yīng)用所需的一系列規(guī)范和API,包括事務(wù)管理、安全性、并發(fā)性和持久性。
Python雖然也可以用于企業(yè)級(jí)應(yīng)用開發(fā),但在這一領(lǐng)域它的使用不如JAVA普遍。Python的簡(jiǎn)潔性和快速開發(fā)能力使其適合小型到中型的企業(yè)應(yīng)用,但對(duì)于需要高度事務(wù)性和復(fù)雜集成的系統(tǒng),JAVA可能是更好的選擇。
移動(dòng)端開發(fā)領(lǐng)域
在移動(dòng)端開發(fā)領(lǐng)域,JAVA是Android應(yīng)用開發(fā)的事實(shí)標(biāo)準(zhǔn)。Android Studio提供了完整的工具鏈來支持JAVA和Kotlin(另一種在Android開發(fā)中越來越受歡迎的語言)的開發(fā)。JAVA的跨平臺(tái)能力和成熟生態(tài)系統(tǒng)使其成為移動(dòng)開發(fā)者的首選。
Python在移動(dòng)端開發(fā)中并不常見,因?yàn)樗皇莍OS或Android官方支持的開發(fā)語言。盡管有一些工具和框架(如Kivy和Beeware)允許使用Python進(jìn)行移動(dòng)應(yīng)用開發(fā),但這些解決方案通常不如專門為移動(dòng)開發(fā)設(shè)計(jì)的語言和工具高效。
云計(jì)算與大數(shù)據(jù)領(lǐng)域
在云計(jì)算和大數(shù)據(jù)領(lǐng)域,JAVA和Python都有其獨(dú)特的優(yōu)勢(shì)。JAVA因其穩(wěn)定性和性能而成為構(gòu)建大型、可擴(kuò)展的云服務(wù)的優(yōu)選。許多云平臺(tái),如Amazon Web Services(AWS)和Google Cloud Platform(GCP),都支持JAVA應(yīng)用。
Python也廣泛用于云計(jì)算,尤其是在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)領(lǐng)域。它的簡(jiǎn)潔性和強(qiáng)大的數(shù)據(jù)處理能力使其成為數(shù)據(jù)科學(xué)家和分析師在云環(huán)境中處理大數(shù)據(jù)的流行選擇。
總結(jié)與展望
JAVA和Python都是極其強(qiáng)大和多用途的編程語言,各自在不同的應(yīng)用領(lǐng)域中占據(jù)主導(dǎo)地位。JAVA在企業(yè)級(jí)應(yīng)用、移動(dòng)開發(fā)和云計(jì)算中表現(xiàn)出色,而Python在Web開發(fā)、數(shù)據(jù)分析和人工智能中占據(jù)優(yōu)勢(shì)。選擇哪種語言取決于項(xiàng)目需求、團(tuán)隊(duì)技能和生態(tài)系統(tǒng)支持。
到此這篇關(guān)于Python語法及與Java差異對(duì)比的文章就介紹到這了,更多相關(guān)Python語法與Java差異對(duì)比內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 自動(dòng)化辦公之批量修改文件名實(shí)操
這篇文章主要介紹了python 自動(dòng)化辦公之批量修改文件名實(shí)操,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
Python中實(shí)現(xiàn)兩個(gè)字典(dict)合并的方法
這篇文章主要介紹了Python中實(shí)現(xiàn)兩個(gè)字典(dict)合并的方法,是Python程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
python Django實(shí)戰(zhàn)之歌曲搜索功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何利用python Django實(shí)現(xiàn)歌曲搜索功能,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,有需要的小伙伴開業(yè)了解下2023-10-10
python實(shí)現(xiàn)每次處理一個(gè)字符的三種方法
這篇文章主要介紹了python實(shí)現(xiàn)每次處理一個(gè)字符的三種方法,是非常實(shí)用的字符串操作技巧,需要的朋友可以參考下2014-10-10
python使用Queue在多個(gè)子進(jìn)程間交換數(shù)據(jù)的方法
這篇文章主要介紹了python使用Queue在多個(gè)子進(jìn)程間交換數(shù)據(jù)的方法,實(shí)例分析了Queue實(shí)現(xiàn)進(jìn)程間數(shù)據(jù)交互的技巧,需要的朋友可以參考下2015-04-04
Python開發(fā)SQLite3數(shù)據(jù)庫相關(guān)操作詳解【連接,查詢,插入,更新,刪除,關(guān)閉等】
這篇文章主要介紹了Python開發(fā)SQLite3數(shù)據(jù)庫相關(guān)操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python操作SQLite3數(shù)據(jù)庫的連接,查詢,插入,更新,刪除,關(guān)閉等相關(guān)操作技巧,需要的朋友可以參考下2017-07-07

