手记

Python编程入门指南

本文介绍了Python编程的基础知识,涵盖了变量与类型、数据结构、控制结构、函数、模块与包,以及面向对象编程等内容。通过实践示例,读者可以更好地理解和掌握这些关键技能。

Python编程入门指南

Python是一种广泛使用的高级编程语言,具有易读性、简洁性和强大的功能。本指南旨在为初学者提供Python编程的基础知识,包括变量与类型、数据结构、控制结构、函数、模块与包,以及面向对象编程等内容。每个部分将通过示例代码介绍和解释关键概念。

变量与类型

在Python中,变量用于存储数据值。Python的数据类型分为两大类:内置类型和自定义类型。内置类型主要包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)等。

常用内置类型

  1. 整数(int)

    • 存储整数数值
    • 四则运算和位操作
  2. 浮点数(float)

    • 存储小数值
    • 支持科学计数法表示
  3. 字符串(str)

    • 存储文本数据
    • 可以使用单引号、双引号或三引号进行定义
  4. 布尔值(bool)
    • 表示逻辑真假
    • 常用于条件判断

示例代码

下面的代码展示了如何定义和使用不同类型的变量:

# 整数
age = 25

# 浮点数
height = 1.75

# 字符串
name = 'Alice'
message = "Hello, world!"
docstring = """This is a multiline string
                with multiple lines."""

# 布尔值
is_student = True
is_teacher = False

# 输出变量
print(age)
print(height)
print(name)
print(message)
print(docstring)
print(is_student)

常用操作

除了定义变量之外,还需要了解一些常用的操作方法,如字符串的拼接、截取、转换等。

# 字符串操作
str1 = "Hello"
str2 = "World"

# 拼接
concatenated = str1 + " " + str2
print(concatenated)  # 输出: Hello World

# 截取
sub_string = str2[1:3]
print(sub_string)  # 输出: or

# 转换
str_to_int = int("42")
print(str_to_int)  # 输出: 42

str_to_float = float("3.14")
print(str_to_float)  # 输出: 3.14

动态类型

Python中的变量可以存储任意类型的数据,并且可以在程序运行过程中动态改变类型。

x = 10
print(type(x))  # 输出: <class 'int'>

x = "hello"
print(type(x))  # 输出: <class 'str'>
数据结构

数据结构是存储和组织数据的方式。Python内置了多种数据结构,包括列表(list)、元组(tuple)、集合(set)、字典(dict)等。

列表(List)

列表是一种有序的、可变的数据集合。可以存储不同类型的数据。

# 创建列表
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", True, 3.14]

# 访问元素
print(numbers[0])  # 输出: 1
print(mixed_list[1])  # 输出: hello

# 修改元素
numbers[0] = 10
print(numbers)  # 输出: [10, 2, 3, 4, 5]

# 添加元素
numbers.append(6)
print(numbers)  # 输出: [10, 2, 3, 4, 5, 6]

# 删除元素
del numbers[0]
print(numbers)  # 输出: [2, 3, 4, 5, 6]

元组(Tuple)

元组是不可变的有序数据集合。定义时使用圆括号。

# 创建元组
point = (10, 20)
mixed_tuple = (1, "hello", True, 3.14)

# 访问元素
print(point[0])  # 输出: 10
print(mixed_tuple[1])  # 输出: hello

# 元组不可修改
# point[0] = 100  # 报错

集合(Set)

集合是无序的、不重复的数据集合。定义时使用花括号,或使用set()函数。

# 创建集合
unique_numbers = {1, 2, 3, 4, 4, 5}
empty_set = set()

# 添加元素
unique_numbers.add(6)
print(unique_numbers)  # 输出: {1, 2, 3, 4, 5, 6}

# 删除元素
unique_numbers.remove(3)
print(unique_numbers)  # 输出: {1, 2, 4, 5, 6}

字典(Dict)

字典是键值对的集合。键必须是唯一的,且不可变(如字符串、数字、元组)。定义时使用花括号,或使用dict()函数。

# 创建字典
person = {"name": "Alice", "age": 25, "city": "Beijing"}

# 访问元素
print(person["name"])  # 输出: Alice

# 修改元素
person["age"] = 26
print(person)  # 输出: {"name": "Alice", "age": 26, "city": "Beijing"}

# 添加元素
person["occupation"] = "Engineer"
print(person)  # 输出: {"name": "Alice", "age": 26, "city": "Beijing", "occupation": "Engineer"}

# 删除元素
del person["city"]
print(person)  # 输出: {"name": "Alice", "age": 26, "occupation": "Engineer"}
控制结构

控制结构用于控制程序的执行流程,包括条件判断、循环等。

条件判断

Python中的条件判断使用ifelifelse关键字。

# 条件判断
age = 20

if age < 18:
    print("未成年")
elif age < 60:
    print("成年人")
else:
    print("老年人")

循环

循环用于重复执行某段代码。Python支持forwhile循环。

for循环

for循环可以遍历任何序列的项目,如列表、元组、字符串、字典等。

# for循环
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    print(number)

# 遍历字典
person = {"name": "Alice", "age": 25, "city": "Beijing"}

for key, value in person.items():
    print(f"{key}: {value}")

while循环

while循环会在条件为真时重复执行某段代码。

# while循环
count = 0

while count < 5:
    print(count)
    count += 1

循环控制语句

breakcontinue可以用于控制循环的执行。

# break
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number == 3:
        break
    print(number)

# 输出: 1 2

# continue
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number == 3:
        continue
    print(number)

# 输出: 1 2 4 5
函数

函数是封装的一段代码,用于完成特定任务。可以接受参数并返回结果。

定义函数

使用def关键字定义函数。

def greet(name):
    print(f"Hello, {name}!")

greet("Alice")  # 输出: Hello, Alice!

参数与返回值

函数可以接受参数,也可以返回值。

def add(a, b):
    return a + b

result = add(3, 4)
print(result)  # 输出: 7

可选参数与默认值

函数参数可以设置默认值。

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

greet("Alice")  # 输出: Hello, Alice!
greet("Bob", "Hi")  # 输出: Hi, Bob!

可变参数

函数可以接受可变数量的参数。

def concatenate(*args):
    result = ""
    for arg in args:
        result += arg
    return result

print(concatenate("Hello", "World", "!!!"))  # 输出: HelloWorld!!!
模块与包

模块是Python程序的基本组织单位,包含函数、类、变量等。包是由多个模块组成的目录。通过模块化可以更好地组织代码。

导入模块

使用import关键字导入模块。

import math

print(math.sqrt(16))  # 输出: 4.0

包的使用

包可以包含多个模块。使用时需要先导入包,再导入包中的模块。

import my_package.my_module

my_package.my_module.function()

使用as别名

可以使用as关键字为模块指定别名。

import math as m

print(m.sqrt(25))  # 输出: 5.0

导入特定函数

可以使用from关键字导入模块中的特定函数。

from math import sqrt

print(sqrt(9))  # 输出: 3.0

创建模块和包

创建模块和包的基本步骤:

  1. 创建一个.py文件:这是模块。
  2. 创建一个目录并包含一个__init__.py文件:这是包。
  3. 在包目录中创建其他.py文件:这是包中的模块。

示例:

# my_module.py
def greet(name):
    print(f"Hello, {name}!")
# my_package/__init__.py
# my_package/another_module.py
def say_hello():
    print("Hello!")

使用自定义模块和包

import my_module
import my_package.another_module

my_module.greet("Alice")  # 输出: Hello, Alice!
my_package.another_module.say_hello()  # 输出: Hello!
面向对象编程

面向对象编程(OOP)是一种编程范式,强调程序中的数据和操作数据的方法作为一个整体进行封装。

类的定义

使用class关键字定义类。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name} and I'm {self.age} years old.")

person = Person("Alice", 25)
person.greet()  # 输出: Hello, my name is Alice and I'm 25 years old.

类的属性与方法

类中可以定义属性和方法。self参数表示当前对象实例。

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

    def perimeter(self):
        return 2 * (self.width + self.height)

rectangle = Rectangle(4, 5)
print(rectangle.area())  # 输出: 20
print(rectangle.perimeter())  # 输出: 18

继承与多态

继承允许一个类继承另一个类的属性和方法。多态允许子类覆盖父类的方法。

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

    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return "Woof!"

class Cat(Animal):
    def speak(self):
        return "Meow!"

dog = Dog("Buddy")
cat = Cat("Whiskers")

print(dog.speak())  # 输出: Woof!
print(cat.speak())  # 输出: Meow!

静态方法与类方法

静态方法和类方法可以用于不依赖于实例的方法。

class Math:
    @staticmethod
    def add(a, b):
        return a + b

    @classmethod
    def multiply(cls, a, b):
        return a * b

print(Math.add(3, 4))  # 输出: 7
print(Math.multiply(3, 4))  # 输出: 12
异常处理

异常处理用于捕获和处理程序执行过程中出现的错误。

基本语法

使用tryexceptelsefinally块来实现异常处理。

try:
    x = int(input("请输入一个数字: "))
    result = 10 / x
except ZeroDivisionError:
    print("除数不能为0")
except ValueError:
    print("输入的不是数字")
else:
    print(f"结果是: {result}")
finally:
    print("程序执行完毕")

自定义异常

可以创建自定义异常类,继承自Exception类。

class MyException(Exception):
    def __init__(self, message):
        self.message = message

try:
    raise MyException("发生了自定义异常")
except MyException as e:
    print(e.message)

多个异常

可以捕获多个异常。

try:
    x = int(input("请输入一个数字: "))
    result = 10 / x
except (ZeroDivisionError, ValueError) as e:
    print(f"发生了错误: {e}")
else:
    print(f"结果是: {result}")
文件操作

文件操作是读写文件的关键技能。Python提供了内置的文件操作函数,如openreadwriteclose等。

读取文件

使用open函数打开文件,使用read方法读取文件内容。

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

写入文件

使用open函数打开文件,使用write方法写入文件内容。

with open("output.txt", "w") as file:
    file.write("Hello, world!")

模式

  • r:只读
  • w:写入(覆盖原有内容)
  • a:追加(写入新内容)
  • b:二进制模式(例如,rb用于读取二进制文件)

文件对象方法

文件对象提供了一些常用方法,如readlinereadlines等。

with open("example.txt", "r") as file:
    line = file.readline()
    print(line)  # 输出第一行

    lines = file.readlines()
    print(lines)  # 输出所有行

文件路径

文件路径可以是绝对路径或相对路径。相对路径相对于当前工作目录。

with open("./relative/path.txt", "r") as file:
    content = file.read()
    print(content)
总结与进阶学习

通过本文的介绍和示例代码,读者可以更好地理解和掌握Python编程的基础知识,包括变量与类型、数据结构、控制结构、函数、模块与包,以及面向对象编程等。对于进一步的学习,建议参考官方文档和在线教程,例如MooC网等。这些资源提供了更深入的解释和更多的示例,有助于提高编程技能。

0人推荐
随时随地看视频
慕课网APP