Python小白工程师必会的指令
零基础入门Python,掌握这些指令让你快速上手
欢迎大家关注此公众号,后台点击按钮【免费资料】可免费获取【Python入门30节课】电子书
此外小庄推荐一本适合于新手\小白入手一本 Python基础书籍,欢迎大家订阅,也感谢大家支持,我才有更新的动力
前言
作为Python小白,你可能刚刚开始学习编程。本文将为你整理Python最基础、最常用的指令,帮助你快速入门Python编程。这些指令是每个Python程序员都必须掌握的基础知识。
一、Python基础环境
1.1 安装Python
# 下载Python
# 访问 https://www.python.org/downloads/
# 验证安装
python --version
python -V
# 运行Python交互式解释器
python
# 退出Python交互式解释器
exit()
quit()
Ctrl + Z (Windows)
Ctrl + D (Linux/Mac)
1.2 运行Python脚本
# 运行Python文件
python script.py
# 运行Python代码
python -c "print('Hello, World!')"
1.3 安装第三方库
# 使用pip安装库
pip install requests
pip install numpy
pip install pandas
# 查看已安装的库
pip list
# 升级pip
pip install --upgrade pip
# 卸载库
pip uninstall requests
二、基本数据类型
2.1 数字类型
# 整数
x = 10
print(type(x)) # <class 'int'>
# 浮点数
y = 3.14
print(type(y)) # <class 'float'>
# 复数
z = 1 + 2j
print(type(z)) # <class 'complex'>
# 数学运算
print(10 + 3) # 加法: 13
print(10 - 3) # 减法: 7
print(10 * 3) # 乘法: 30
print(10 / 3) # 除法: 3.3333...
print(10 // 3) # 整除: 3
print(10 % 3) # 取余: 1
print(10 ** 3) # 幂运算: 1000
2.2 字符串类型
# 创建字符串
s1 = 'Hello'
s2 = "World"
s3 = '''多行
字符串'''
# 字符串操作
print(s1 + ' ' + s2) # 拼接: Hello World
print(s1 * 3) # 重复: HelloHelloHello
# 字符串方法
text = " Hello, World! "
print(text.strip()) # 去除空格: Hello, World!
print(text.lower()) # 转小写: hello, world!
print(text.upper()) # 转大写: HELLO, WORLD!
print(text.replace('Hello', 'Hi')) # 替换: Hi, World!
print(text.split(',')) # 分割: [' Hello', ' World! ']
print(len(text)) # 长度: 18
# 字符串格式化
name = "Alice"
age = 25
print(f"我叫{name},今年{age}岁") # f-string
print("我叫{},今年{}岁".format(name, age)) # format
print("我叫%s,今年%d岁" % (name, age)) # %
2.3 布尔类型
# 布尔值
a = True
b = False
print(type(a)) # <class 'bool'>
# 比较运算
print(10 > 5) # True
print(10 < 5) # False
print(10 == 10) # True
print(10 != 5) # True
print(10 >= 10) # True
print(10 <= 5) # False
# 逻辑运算
print(TrueandTrue) # True
print(TrueandFalse) # False
print(TrueorFalse) # True
print(notTrue) # False
2.4 None类型
# None表示空值
x = None
print(type(x)) # <class 'NoneType'>
print(x isNone) # True
三、数据结构
3.1 列表(List)
# 创建列表
fruits = ['apple', 'banana', 'cherry']
numbers = [1, 2, 3, 4, 5]
mixed = [1, 'hello', True, 3.14]
# 访问元素
print(fruits[0]) # apple
print(fruits[-1]) # cherry
print(fruits[1:3]) # ['banana', 'cherry']
# 修改元素
fruits[0] = 'avocado'
# 添加元素
fruits.append('orange') # 末尾添加
fruits.insert(1, 'grape') # 指定位置添加
# 删除元素
fruits.remove('banana') # 删除指定元素
fruits.pop() # 删除末尾元素
del fruits[0] # 删除指定位置元素
# 列表操作
print(len(fruits)) # 长度
print(fruits.count('apple')) # 计数
fruits.sort() # 排序
fruits.reverse() # 反转
fruits.clear() # 清空
# 列表推导式
squares = [x**2for x inrange(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
3.2 元组(Tuple)
# 创建元组
colors = ('red', 'green', 'blue')
point = (10, 20)
# 访问元素
print(colors[0]) # red
print(colors[-1]) # blue
print(colors[1:3]) # ('green', 'blue')
# 元组是不可变的
# colors[0] = 'yellow' # 错误!
# 元组操作
print(len(colors)) # 长度
print(colors.count('red')) # 计数
print(colors.index('green')) # 索引
# 解包
x, y = point
print(x) # 10
print(y) # 20
3.3 字典(Dictionary)
# 创建字典
person = {
'name': 'Alice',
'age': 25,
'city': 'Beijing'
}
# 访问元素
print(person['name']) # Alice
print(person.get('email', '未设置')) # 未设置(默认值)
# 修改元素
person['age'] = 26
# 添加元素
person['email'] = 'alice@example.com'
# 删除元素
del person['city']
person.pop('email')
# 字典操作
print(len(person)) # 长度
print(person.keys()) # 所有键
print(person.values()) # 所有值
print(person.items()) # 所有键值对
# 遍历字典
for key, value in person.items():
print(f"{key}: {value}")
# 字典推导式
squares = {x: x**2for x inrange(5)}
print(squares) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
3.4 集合(Set)
# 创建集合
fruits = {'apple', 'banana', 'cherry'}
numbers = set([1, 2, 3, 4, 5])
# 添加元素
fruits.add('orange')
# 删除元素
fruits.remove('banana')
fruits.discard('banana') # 不会报错
# 集合操作
print(len(fruits)) # 长度
# 集合运算
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 & set2) # 交集: {4, 5}
print(set1 | set2) # 并集: {1, 2, 3, 4, 5, 6, 7, 8}
print(set1 - set2) # 差集: {1, 2, 3}
print(set1 ^ set2) # 对称差集: {1, 2, 3, 6, 7, 8}
四、流程控制
4.1 条件语句
# if语句
age = 18
if age >= 18:
print("成年人")
# if-else语句
if age >= 18:
print("成年人")
else:
print("未成年人")
# if-elif-else语句
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
# 嵌套if
if age >= 18:
if age >= 60:
print("老年人")
else:
print("成年人")
4.2 循环语句
# for循环
for i inrange(5):
print(i) # 0, 1, 2, 3, 4
for i inrange(1, 10, 2):
print(i) # 1, 3, 5, 7, 9
# 遍历列表
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
# 遍历字典
person = {'name': 'Alice', 'age': 25}
for key, value in person.items():
print(f"{key}: {value}")
# while循环
count = 0
while count < 5:
print(count)
count += 1
# break和continue
for i inrange(10):
if i == 3:
break# 跳出循环
print(i)
for i inrange(10):
if i == 3:
continue# 跳过本次循环
print(i)
# 循环else
for i inrange(5):
print(i)
else:
print("循环正常结束")
4.3 列表推导式
# 基本列表推导式
squares = [x**2for x inrange(10)]
print(squares)
# 带条件的列表推导式
even_numbers = [x for x inrange(10) if x % 2 == 0]
print(even_numbers)
# 嵌套列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]
print(flattened)
五、函数
5.1 定义函数
# 基本函数
defgreet(name):
"""问候函数"""
returnf"Hello, {name}!"
result = greet("Alice")
print(result)
# 多个返回值
defget_user_info():
return"Alice", 25, "Beijing"
name, age, city = get_user_info()
# 默认参数
defgreet(name, greeting="Hello"):
returnf"{greeting}, {name}!"
print(greet("Alice"))
print(greet("Alice", "Hi"))
# 可变参数
defsum_numbers(*args):
returnsum(args)
print(sum_numbers(1, 2, 3, 4, 5))
# 关键字参数
defprint_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=25, city="Beijing")
5.2 Lambda函数
# Lambda函数
square = lambda x: x**2
print(square(5)) # 25
add = lambda x, y: x + y
print(add(3, 5)) # 8
# Lambda与排序
students = [('Alice', 85), ('Bob', 90), ('Charlie', 78)]
students.sort(key=lambda x: x[1])
print(students)
# Lambda与map
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)
# Lambda与filter
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
六、字符串操作
6.1 常用字符串方法
text = "Hello, World!"
# 大小写转换
print(text.upper()) # HELLO, WORLD!
print(text.lower()) # hello, world!
print(text.title()) # Hello, World!
print(text.capitalize()) # Hello, world!
# 查找和替换
print(text.find('World')) # 7
print(text.replace('World', 'Python')) # Hello, Python!
print(text.count('l')) # 3
# 判断方法
print(text.startswith('Hello')) # True
print(text.endswith('!')) # True
print(text.isdigit()) # False
print(text.isalpha()) # False
print(text.isalnum()) # False
# 分割和连接
words = text.split(', ')
print(words) # ['Hello', 'World!']
joined = '-'.join(words)
print(joined) # Hello-World!
# 去除空白
text = " Hello "
print(text.strip()) # Hello
print(text.lstrip()) # Hello
print(text.rstrip()) # Hello
七、文件操作
7.1 读写文件
# 写入文件
withopen('test.txt', 'w', encoding='utf-8') as f:
f.write('Hello, World!\n')
f.write('Python编程\n')
# 读取文件
withopen('test.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
# 逐行读取
withopen('test.txt', 'r', encoding='utf-8') as f:
for line in f:
print(line.strip())
# 追加写入
withopen('test.txt', 'a', encoding='utf-8') as f:
f.write('追加的内容\n')
7.2 文件和目录操作
import os
# 获取当前目录
current_dir = os.getcwd()
print(current_dir)
# 列出目录内容
files = os.listdir('.')
print(files)
# 判断路径
print(os.path.exists('test.txt'))
print(os.path.isfile('test.txt'))
print(os.path.isdir('mydir'))
# 创建目录
os.makedirs('mydir/subdir', exist_ok=True)
# 删除文件
os.remove('test.txt')
# 删除目录
os.rmdir('mydir')
八、异常处理
8.1 try-except
# 基本异常处理
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以零")
# 多个异常
try:
x = int(input("请输入数字: "))
result = 10 / x
except ValueError:
print("请输入有效数字")
except ZeroDivisionError:
print("不能除以零")
# 捕获所有异常
try:
# 一些可能出错的代码
pass
except Exception as e:
print(f"发生错误: {e}")
# try-except-else-finally
try:
result = 10 / 2
except ZeroDivisionError:
print("除以零")
else:
print(f"结果是: {result}")
finally:
print("无论如何都会执行")
8.2 抛出异常
# 抛出异常
defvalidate_age(age):
if age < 0:
raise ValueError("年龄不能为负数")
if age > 150:
raise ValueError("年龄不合理")
returnTrue
try:
validate_age(-5)
except ValueError as e:
print(f"错误: {e}")
九、模块和包
9.1 导入模块
# 导入整个模块
import math
print(math.pi)
print(math.sqrt(16))
# 导入特定函数
from math import pi, sqrt
print(pi)
print(sqrt(16))
# 导入所有(不推荐)
from math import *
# 别名
import numpy as np
import pandas as pd
9.2 创建模块
# mymodule.py
defgreet(name):
returnf"Hello, {name}!"
PI = 3.14159
# 使用模块
import mymodule
print(mymodule.greet("Alice"))
print(mymodule.PI)
9.3 常用内置模块
# os模块 - 操作系统相关
import os
os.getcwd() # 获取当前目录
os.listdir('.') # 列出目录内容
os.path.exists('file') # 判断文件是否存在
# sys模块 - 系统相关
import sys
sys.version # Python版本
sys.path # 搜索路径
sys.argv # 命令行参数
# datetime模块 - 日期时间
from datetime import datetime, timedelta
now = datetime.now()
print(now)
print(now.strftime('%Y-%m-%d %H:%M:%S'))
# random模块 - 随机数
import random
print(random.randint(1, 100)) # 随机整数
print(random.random()) # 随机浮点数
print(random.choice([1, 2, 3])) # 随机选择
# json模块 - JSON处理
import json
data = {'name': 'Alice', 'age': 25}
json_str = json.dumps(data)
print(json_str)
十、面向对象编程
10.1 类和对象
# 定义类
classDog:
# 类属性
species = "Canis familiaris"
# 初始化方法
def__init__(self, name, age):
self.name = name
self.age = age
# 实例方法
defbark(self):
returnf"{self.name} says Woof!"
# 字符串表示
def__str__(self):
returnf"{self.name}, {self.age} years old"
# 创建对象
dog1 = Dog("Buddy", 3)
dog2 = Dog("Charlie", 5)
# 使用对象
print(dog1.name)
print(dog1.bark())
print(dog1)
10.2 继承
# 父类
classAnimal:
def__init__(self, name):
self.name = name
defspeak(self):
raise NotImplementedError("子类必须实现此方法")
# 子类
classCat(Animal):
defspeak(self):
returnf"{self.name} says Meow!"
classDog(Animal):
defspeak(self):
returnf"{self.name} says Woof!"
# 使用继承
cat = Cat("Kitty")
dog = Dog("Buddy")
print(cat.speak())
print(dog.speak())
总结
作为Python小白,这些是最基础、最常用的指令:
掌握这些基础指令,你就能开始编写Python程序了!
关注我,获取更多Python技术干货!