title: Python 入门笔记
Python 入门笔记
Python 语法简洁、生态丰富,适合作为脚本、数据科学与 Web 开发的入门语言;掌握基础语法与常用容器后,可较快进入实际项目。
⚡ 快速参考
- 注释 :
#单行;'''/"""多行字符串可作多行说明 - 类型 :
int、float、bool、str;type(x)查看类型 - 容器 :
list(可变)、tuple(不可变)、dict(键值)、set(无序去重) - 流程 :
if/elif/else;for ... in ...;range();break/continue - 函数 :
def;*args/**kwargs;默认参数;lambda - 面向对象 :
class;__init__;继承与super()
📚 学习目标
- 了解 Python 特点、常见实现与环境工具链
- 掌握注释、变量、类型、运算符与输入输出
- 熟练使用分支、循环与四种基础容器
- 能定义函数(含多种参数形式)并理解作用域
- 理解类、对象、魔术方法、继承与
super()的基本用法
一、Python 语言简介
1.1 语言特点
- 面向对象、解释型编程语言
- 1989 年由 Guido van Rossum 发明,1991 年公开发行
- Python 3.x(2008 发布)不向下兼容 Python 2.x
- 应用领域:科学计算、自然语言处理、图形图像处理、脚本开发、Web 应用
- 设计哲学:优雅、明确、简单、可读性强
1.2 Python 解析器
- CPython:官方实现,C 语言编写,最常用
- Jython:Java 实现,编译为 Java 字节码
- IronPython:.NET 平台实现
- PyPy:Python 语言实现,执行效率高
1.3 简洁性对比
plaintext
# C++
#include<iostream>
using namespace std;
int main(){cout<<"Hello World";return 0;}
# Java
public class Main{
public static void main(String[] args){System.out.println("Hello World");}}
# Python
print("Hello World")
二、环境搭建
2.1 Anaconda
- 科学计算发行版,集成 Python 与大量科学包
- 官网:https://www.anaconda.com
2.2 PyCharm
- Python IDE,官网:https://www.jetbrains.com/pycharm
2.3 Python
- Python:https://www.python.org
三、Python 基础语法
3.1 注释
python
# 单行注释
'''
多行注释
'''
"""
多行注释
"""
3.2 变量
- 定义:
变量名 = 值 - 命名规则:
- 字母、数字、下划线组成
- 不能以数字开头
- 区分大小写
- 禁用关键字
3.3 数据类型
- 基础类型 :
int(整型)、float(浮点)、bool(布尔)、str(字符串) - 查看类型:
type(变量)
python
a = 9
b = 3.56
c = True
d = "Tom"
print(type(a)) # <class 'int'>
3.4 运算符
- 算术:
+、-、*、/、//(整除)、%(取模)、**(幂)
3.5 输入输出
3.5.1 输入(input)
- 输入默认为字符串,需按需强转类型
python
a = int(input("请输入整数:"))
b = float(input("请输入浮点数:"))
3.5.2 输出(print)
python
print("Sun", "Mon", sep=',', end=';') # Sun,Mon;
四、流程控制
4.1 选择结构(if)
4.1.1 基础 if
python
if 条件:
执行代码
4.1.2 if-else
python
if 条件:
成立执行
else:
不成立执行
4.1.3 if-elif-else
python
if 条件1:
代码1
elif 条件2:
代码2
else:
代码3
4.2 循环结构(for)
4.2.1 基础 for 循环
python
for 变量 in 数据容器:
循环代码
# 遍历字符串
str1 = "itheima"
for i in str1:
print(i)
4.2.2 range() 函数
range(stop):0~stop - 1range(start, stop):start~stop - 1range(start, stop, step):步长为step
4.2.3 break / continue
break:终止整个循环continue:跳过本次循环,进入下一次
python
# break
for i in range(1, 6):
if i == 4:
break
print(i)
# continue
for i in range(1, 6):
if i == 3:
continue
print(i)
五、数据容器
5.1 列表(list)
- 可变有序序列,用
[]定义
python
# 增删改查
list1 = [1, 3, 5]
list1.append(7) # 增
list1[1] = 30 # 改
del list1[0] # 删
print(list1[1]) # 查
# 切片
print(list1[1:3]) # 左闭右开
5.2 元组(tuple)
- 不可变有序序列,用
()定义
python
tuple1 = (1, 2, 3)
tuple2 = (5,) # 单元素必须加逗号
5.3 字典(dict)
- 键值对(key-value),用
{}定义
python
dict1 = {"name": "Tom", "age": 18}
print(dict1["name"]) # 查
dict1["age"] = 20 # 改
dict1["gender"] = "男" # 增
del dict1["name"] # 删
5.4 集合(set)
- 无序、无重复元素,用
{}或set()定义
python
set1 = {1, 2, 3}
set2 = set([2, 3, 4])
print(set1 & set2) # 交集
print(set1 | set2) # 并集
print(set1 - set2) # 差集
六、函数
6.1 函数定义
python
def 函数名(参数):
函数体
return 返回值
6.2 参数类型
6.2.1 位置参数
python
def user_info(name, age):
print(name, age)
user_info("Tom", 18)
6.2.2 关键字参数
python
def user_info(name, age):
print(name, age)
user_info(age=18, name="Tom")
6.2.3 默认参数
python
def user_info(name, age, gender="男"):
print(name, age, gender)
6.2.4 不定长参数
python
# *args(元组)
def func(*args):
print(args)
# **kwargs(字典)
def func(**kwargs):
print(kwargs)
6.3 变量作用域
- 全局变量:函数外定义,全局生效
- 局部变量:函数内定义,仅函数内生效
6.4 匿名函数(lambda)
python
# 语法:lambda 参数: 表达式
add = lambda a, b: a + b
print(add(1, 2)) # 3
七、面向对象
7.1 类与对象
- 类(class):模板,定义属性和方法
- 对象:类的实例
python
# 定义类
class Person:
# 初始化方法
def __init__(self, name, age):
self.name = name
self.age = age
# 方法
def speak(self):
print(f"{self.name}说:你好")
# 实例化对象
p = Person("Tom", 18)
p.speak()
7.2 魔术方法
__init__:初始化对象__call__:对象被调用时触发
python
class Adder:
def __init__(self, value=0):
self.value = value
def __call__(self, x):
return self.value + x
add = Adder()
print(add(5)) # 5
7.3 继承
- 子类继承父类属性和方法
python
# 父类
class Animal:
def eat(self):
print("吃东西")
# 子类
class Dog(Animal):
# 方法重写
def eat(self):
print("狗吃骨头")
dog = Dog()
dog.eat()
7.4 super() 调用父类
- 在子类中调用父类方法或构造逻辑时使用
super()
python
class Car:
def __init__(self, brand):
self.brand = brand
class ElectricCar(Car):
def __init__(self, brand):
super().__init__(brand)