python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python基本语法

Python基本语法总结大全(含java、js对比)

作者:Lvan的前端笔记

在web项目开发的过程中,前端尤为重要的一门语言就是js,虽然作为后端人员js对于我们来说不是特别重要,但是还是有必要会写的,这篇文章主要介绍了Python基本语法(含java、js对比)的相关资料,需要的朋友可以参考下

专为有 JavaScript & Java 基础的工程师《Python 基本语法快速上手指南》

Python 基本语法 · JS/Java 开发者快速上手指南

你会发现:Python = 更少的代码 + 更少的概念 + 更高的表达力。

1. Python 是动态类型语言(像 JS,但比 JS 更简单)

定义变量

a = 10
b = "Hello"
c = True

无需 letconstvarint 之类的关键字。
变量类型由赋值决定。

2. 缩进就是作用域(没有花括号)

Java/JS:

if (x > 1) {
  console.log('ok')
}

Python:

if x > 1:
    print("ok")

⚠️ 必须使用 4 个空格缩进(不能用 Tab)

3. 基本数据类型

PythonJSJava
intnumberint
floatnumberdouble
strstringString
boolbooleanboolean
listArray数组/ArrayList
tuple类似 readonly array不可变数组
dictObjectMap

示例:

age = 28               # int
price = 3.14           # float
name = "Tom"           # str
is_ok = True           # bool
arr = [1, 2, 3]        # list
t = (1, 2)             # tuple
user = {"name": "Tom"} # dict

4. 条件语句(更自然)

if score > 90:
    print("A")
elif score > 60:
    print("B")
else:
    print("C")

注意:elif = else if

5. 循环

for 循环(更像 Java 的 foreach)

for item in [1, 2, 3]:
    print(item)

range

for i in range(5):   # 0,1,2,3,4
    print(i)

for i in range(1, 5):  # 1,2,3,4
    print(i)

6. 函数定义

Java/JS:

function add(a, b) {
  return a + b
}

Python:

def add(a, b):
    return a + b
def add(a, b) -> str:
    return a + b

-> str 完全可以不要,: 是函数必须的

7. 类与对象

Java:

class User {
  String name;
  User(String name) { this.name = name; }
}

Python(更简洁):

class User:
    def __init__(self, name):
        self.name = name

u = User("Tom")
print(u.name)

关键点:

8. 字符串(功能超强)

f-string(Python 最好用的语法)

name = "Tom"
age = 18
print(f"My name is {name}, age {age}")

9. 列表(list)的常用操作

arr = [1, 2, 3]

arr.append(4)
arr.insert(0, 100)
arr.remove(2)
print(len(arr))

列表推导式(神器 🔥)

squares = [x*x for x in range(5)]
print(squares)  # [0,1,4,9,16]

10. 字典(dict)

user = {
    "name": "Tom",
    "age": 20
}

print(user["name"])
user["age"] = 30

for key, val in user.items():
    print(key, val)

11. 异常处理(与 Java 类似)

try:
    x = 10 / 0
except ZeroDivisionError:
    print("不能除以 0")
finally:
    print("done")

12. 文件操作(非常简单)

with open("test.txt", "r") as f:
    content = f.read()

with open("a.txt", "w") as f:
    f.write("hello")

13. 模块与导入

Java:

import java.util.List;

JS:

import fs from 'fs';

Python:

import math
from math import sqrt

14. Python 对象打印超级方便

print(user)

你不需要写 JSON.stringify,也不需要重写 toString。

15. 虚拟环境(推荐)

python -m venv venv
source venv/bin/activate  # Mac/Linux
venv\Scripts\activate     # Windows

16. pip 安装库

pip install requests

示例:

import requests

res = requests.get("https://api.github.com")
print(res.json())

17. Pythonic 语法总结(从 JS/Java 转过来最常用)

✓ 多重赋值

a, b = 1, 2

✓ 三元表达式

msg = "ok" if x > 1 else "fail"

✓ enumerate

for index, item in enumerate(arr):
    print(index, item)

✓ 交换变量

a, b = b, a

✓ 一行读取文件

data = open("a.txt").read()

继续为你输出 Python 快速上手指南(面向 JS & Java 工程师)。

你可以随时说“继续”往下扩展更多内容。

10. 列表推导式(List Comprehension)🔥

这是 Python 最经典、最强大的语法之一。

JS/Java 写法:

const arr = [];
for(let i=0; i<5; i++){
  arr.push(i * i);
}

Python 一行:

squares = [x * x for x in range(5)]

带条件:

evens = [x for x in range(10) if x % 2 == 0]

11. 字典(dict)常用操作(相当于 JS Object / Java HashMap)

创建:

user = {"name": "Tom", "age": 18}

访问:

print(user["name"])
print(user.get("age"))

修改:

user["age"] = 20

遍历:

for key, value in user.items():
    print(key, value)

12. 异常处理(类似 Java,更好用)

try:
    1 / 0
except ZeroDivisionError as e:
    print("Error:", e)
finally:
    print("done")

13. 文件读写(非常简单)

写文件:

with open("a.txt", "w", encoding="utf-8") as f:
    f.write("hello")

读文件:

with open("a.txt", "r", encoding="utf-8") as f:
    content = f.read()

with 会自动 close 文件。

14. 模块与导入(import)

相当于 JS 的 import,Java 的 import

import math
print(math.sqrt(16))

from 写法:

from math import sqrt
print(sqrt(16))

导入别名:

import numpy as np

15. Python 的常用数据结构总结(对比 JS & Java)

PythonJSJava
listArrayArray / ArrayList
tuple无等价(类似 readonly array)不可变数组
dictObject / MapHashMap
setSetHashSet

16. Python 的强大语法糖

✦ 解构赋值(JS 也有,但 Python 更强)

a, b = 1, 2

交换变量(无需临时变量):

a, b = b, a

解构列表:

x, y, z = [10, 20, 30]

17. Lambda(匿名函数)

JS:

const add = (a, b) => a + b

Python:

add = lambda a, b: a + b

用在排序中非常常见:

arr.sort(key=lambda x: x["age"])

18. 装饰器(类似 JS 的高阶函数 + 注解功能)

最基本的形式:

def log(fn):
    def wrapper(*args, **kwargs):
        print("call", fn.__name__)
        return fn(*args, **kwargs)
    return wrapper

@log
def hello():
    print("hi")

19. Python 的包管理(pip)

安装包:

pip install requests

升级包:

pip install -U requests

20. 虚拟环境(venv)—— 类似 JS 的 node_modules 隔离

创建:

python -m venv venv

激活(Mac/Linux):

source venv/bin/activate

激活(Windows):

venv\Scripts\activate

退出:

deactivate

21. Python 异步(async/await)

几乎与 JS 一样。

import asyncio

async def hello():
    print("Hello")
    await asyncio.sleep(1)
    print("World")

asyncio.run(hello())

22. f-string(Python 的模板字符串)

return f"It's always sunny in {city}!"

f-string 是 Python 拼接字符串最常用的方式。

等价于 JS 的模板字符串:

return `It's always sunny in ${city}!`

23. 三引号字符串

三引号字符串放在函数第一行 = 函数注释(用于文档、IDE 提示、help())。

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

相当于 Java 的:

/**
 * Get weather for a given city.
 */

24. 类型是否必须写,是否有类似js和ts的区分

类型 不是必写!

不区分!只有一个 Python。

但 Python 允许可选写类型注解,因此:

Python 官方把这套类型系统称为 Type Hints(类型提示)

Python 的类型注解是“提示”,不是“限制”

例如:

def add(a: int, b: int) -> int:
    return a + b

print(add("hello", "world"))

照样运行……输出 "helloworld"
(因为 Python 不强制类型)

要强制检查必须使用外部工具,比如:

什么时候推荐写:

总结 

到此这篇关于Python基本语法(含java、js对比)的文章就介绍到这了,更多相关Python基本语法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文