1、Hello World
1 | print("Hello World!") |
这段代码使用 print 函数输出字符串 “Hello World!” 到控制台。
2、计算数字的平方和
以下是使用 python 计算数字的平方和的代码:
1 2 3 4 5 6 7 | def square_sum(numbers): sum = 0 for num in numbers: sum += num ** 2 return sum
print(square_sum([1, 2, 3, 4])) # 输出 30 |
3、计算简单数学表达式
1 2 3 4 5 6 7 8 9 | # 计算简单数学表达式 def calculate(expression): return eval(expression)
# 用户输入数学表达式 expression = input("请输入一个数学表达式:")
# 计算并输出结果 print("结果是:", calculate(expression)) |
4、字符串操作
- 字符串连接:使用 + 或 + 运算符可以将两个字符串连接起来。
- 字符串重复:使用 * 运算符可以将字符串重复多次。
- 字符串截取:使用索引和切片可以截取字符串中的一段。
- 字符串搜索:使用 in 和 not in 运算符可以在字符串中搜索某个子字符串。
- 字符串替换:使用 replace() 函数可以将字符串中的一个子字符串替换为另一个子字符串。
- 字符串分割:使用 split() 函数可以将字符串按照指定的分隔符分割为多个子字符串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Define a string string = "Hello World!"
# Print the original string print("Original string:", string)
# Get the length of the string string_length = len(string) print("Length of the string:", string_length)
# Concatenate two strings new_string = string + " How are you?" print("Concatenated string:", new_string)
# Repeat the string repeated_string = string * 3 print("Repeated string:", repeated_string)
# Get a substring substring = string[0:5] print("Substring:", substring)
# Replace a substring replaced_string = string.replace("Hello", "Hi") print("Replaced string:", replaced_string)
# Check if a string contains a substring is_hello_there = "Hello there!" if "Hello" in is_hello_there: print("'Hello' is in the string.") else: print("'Hello' is not in the string.") |
5、if 语句
if 语句用于检查一个条件是否为真,如果为真,执行对应的代码块。
语法
1 2 3 4 | if condition: # Execute this block if the condition is true else: # Execute this block if the condition is false |
范例
1 2 3 4 5 6 7 8 | x = int(input("Enter a number: "))
if x > 0: print("Positive number") elif x < 0: print("Negative number") else: print("Zero") |
6、for 循环
下面是一段 Python 中使用 for 循环的代码示例:
1 2 3 | fruits = ["apple", "banana", "cherry"] for fruit in fruits: print("I like", fruit) |
这段代码中,我们创建了一个名为 fruits 的列表,并使用 for` 循环迭代该列表的每一项。在每一次循环迭代中,我们可以访问当前迭代项,并对其进行一些操作,如在这里打印。
7、while 循环
1 2 3 4 | i = 1 while i <= 10: print(i) i += 1 |
以上是一个简单的 Python while 循环。
在循环内,每次执行 i 的值都会自增 1 ,直到当前的 i 值大于等于 10 时循环终止。
循环体中的代码每次都会被执行,因此每次执行后 i 的值会被更新。
8、函数定义和调用
函数是 Python 中实现模块化编程的一种重要手段。它是一组功能性代码的封装,可以方便地调用。以下是一个简单的函数定义示例:
1 2 3 4 5 | def say_hello(name): """ 输出Hello,加上参数 """ print("Hello, " + name) |
以上代码定义了一个函数 say_hello,该函数接收一个名为 name 的参数,并在调用时打印出 “Hello, ” 加上参数。
如果要调用这个函数,可以在代码中调用:
1 | say_hello("Tom") |
9、列表操作
Python 列表是一种动态的、有序的数据结构,它可以包含不同的数据类型,并且可以通过索引来访问列表中的元素。以下是列表的一些常用操作:
创建列表:可以使用方括号( [] )将元素放入列表中,例如:
1 | a = [1, 2, 3, 4] |
访问列表元素:可以通过索引访问列表中的元素,例如:
1 2 | a = [1, 2, 3, 4] print(a[0]) # 输出 1 |
修改列表元素:可以通过索引修改列表中的元素,例如:
1 2 3 | a = [1, 2, 3, 4] a[0] = 5 print(a) # 输出 [5, 2, 3, 4] |
删除列表元素:可以使用 del 关键字删除列表中的元素,例如:
1 2 3 | a = [1, 2, 3, 4] del a[0] print(a) # 输出 [2, 3, 4] |
列表长度:可以使用 len() 函数求列表的长度,例如:
1 2 | a = [1, 2, 3, 4] print(len(a)) # 输出 4 |
列表操作符:可以使用加号(+)和乘号(*)对列表进行操作,例如:
1 2 3 4 5 6 | a = [1, 2, 3] b = [4, 5, 6] c = a + b print(c) # 输出 [1, 2, 3, 4, 5, 6] d = a * 3 print(d) # 输出 [1, 2, 3, 1, 2, 3, 1, 2, |
10、字典操作
Python字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(, )分割,整个字典包括在花括号({})中 , 格式如下所示:
1 | d = {key1 : value1, key2 : value2 } |
一些常见的字典操作如下:
字典中添加元素:
1 | dict[key] = value |
字典中访问元素:
1 | dict[key] |
字典中修改元素:
1 | dict[key] = value |
字典中删除元素:
1 | del dict[key] |
字典中判断一个键是否存在:
1 | key in dict |
python中字典是一种无序的键值对集合,每个键都关联了一个值。使用大括号 {} 创建字典,使用方括号 [] 访问字典中的值。例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 创建字典 dict1 = {'name': 'John', 'age': 30, 'gender': 'male'}
# 访问字典中的值 print(dict1['name']) # John
# 修改字典中的值 dict1['age'] = 40 print(dict1) # {'name': 'John', 'age': 40, 'gender': 'male'}
# 删除字典中的键值对 del dict1['gender'] print(dict1) # {'name': 'John', 'age': 40}
# 判断字典中是否包含某个键 print('name' in dict1) # True |
其他字典操作方法:
- dict.keys():返回字典中的键列表
- dict.values():返回字典中的值列表
- dict.items():返回字典中的键值对列表
- dict.get(key, default):返回字典中的 key 对应的值,如果 key 不存在,则返回 default
11、元组操作
Python 中的元组是不可变的序列,支持以下操作:
访问:通过索引访问元素。
遍历:使用 for 循环遍历元组中的元素。
计算长度:使用内置函数 len() 计算元组的长度。
合并:使用加号 (+) 将两个元组合并成一个新元组。
元素查找:使用元素值在元组中查找,如果存在返回元素的索引位置,否则返回 ValueError 异常。
统计:统计元素在元组中出现的次数,使用元组的 count() 方法。
元素删除:由于元组是不可变的,所以不能删除元素,但可以删除整个元组。
12、文件操作
下面是 Python 中文件操作的一些基本操作。
读文件
使用 open() 函数打开文件,返回一个文件对象,然后使用 .read() 方法读取文件内容。
1 2 3 | f = open("filename.txt", "r") content = f.read() f.close() |
写文件
使用 open() 函数打开文件,如果文件不存在,会自动创建一个新文件。使用 .write() 方法写入内容:
1 2 3 | f = open("filename.txt", "w") f.write("Some text") f.close() |
追加内容
使用 open() 函数打开文件,使用 "a" 模式打开文件,然后使用 .write() 方法写入内容:
1 2 3 | f = open("filename.txt", "a") f.write("Some more text") f.close() |
使用 with 语句
使用 with 语句可以省去手动关闭文件的步骤,代码也更加简洁:
1 2 | with open("filename.txt", "r") as f: content = f.read() |
读取文件中的一行
使用 .readline() 方法可以读取文件中的一行内容:
1 2 | with open("filename.txt", "r") as f: line = f.readline() |
13、异常处理
Python 中的异常处理操作包括:
try-except 语句:使用 try-except 语句捕获异常,try 语句中的代码可能抛出异常,except 语句用于处理异常。
raise 语句:使用 raise 语句抛出异常,用于主动引发异常。
finally 语句:使用 finally 语句定义清理操作,无论是否发生异常都会执行该语句。
自定义异常:使用 raise 关键字和自定义的异常类,引发自定义的异常。
assert 语句:使用 assert 语句检查条件,如果条件为假,则引发 AssertionError 异常。
14、面向对象编程
面向对象编程 (OOP) 是一种编程范式,其中程序由对象组成,每个对象表示一种实体并具有属性和行为。Python 支持面向对象编程,提供了如下特性:
- 类:定义对象的抽象模型,包含属性和行为。
- 对象:实例化类得到的实体,具有类定义的属性和行为。
- 继承:通过继承,可以从现有的类创建新的类,并继承其属性和行为。
- 多态:对象可以根据其类型调用不同的行为,即同一消息可以由多个对象响应。
- 封装:隐藏对象内部状态和实现细节,提供给外部的只有接口。
15、模块和包
Python 模块和包是 Python 程序组织的基本单位。
模块:一个 Python 文件就是一个模块,模块可以包含变量、函数、类等。
包:一个文件夹,其中包含了一组 Python 模块,每个模块可以提供特定的功能。
模块和包可以被导入到其他程序中,以实现代码的复用。
16、常用模块
Python 有很多内置的和第三方模块,以下是一些常用的模块:
- os:提供与操作系统交互的功能,如读取文件、创建文件夹等。
- sys:提供了一些 Python 解释器和系统相关的变量和函数。
- re:提供了正则表达式的功能。
- math:提供了数学相关的函数,如三角函数、对数等。
- time:提供了时间相关的函数,如读取当前时间、格式化时间等。
- random:提供了随机数生成相关的函数。
- string:提供了字符串相关的函数,如字符串的替换、拼接等。
- datetime:提供了日期和时间处理相关的函数。
- collections:提供了高效的数据类型,如列表、字典、集合等。
- NumPy:是一个用于科学计算的 Python 模块,提供了高效的数组运算。
17、常见算法实现
排序算法
冒泡排序
1 2 3 4 5 6 7 | def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr |
快速排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def quick_sort(arr, low, high): if low < high: pivot = partition(arr, low, high) quick_sort(arr, low, pivot-1) quick_sort(arr, pivot+1, high)
def partition(arr, low, high): pivot = arr[high] i = low - 1 for j in range(low, high): if arr[j] < pivot: i = i + 1 arr[i], arr[j] = arr[j], arr[i] arr[i + 1], arr[high] = arr[high], arr[i + 1] return i + 1 |
查找算法
顺序查找
1 2 3 4 5 | def sequential_search(arr, x): for i in range(len(arr)): if arr[i] == x: return i return -1 |
二分查找
1 2 3 4 5 6 7 8 9 10 11 12 | def binary_search(arr, x): low = 0 high = len(arr) - 1 while low <= high: mid = (low + high) // 2 if arr[mid] == x: return mid elif arr[mid] < x: low = mid + 1 else: high = mid - 1 return -1 |
数据结构
队列
1 2 3 4 5 6 7 8 9 10 11 | class Queue: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def enqueue(self, item): self.items.append(item) def dequeue(self): return self.items.pop(0) def size(self): return len(self.items) |
队列
1 2 3 4 5 6 7 8 9 10 11 | class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def size(self): return len(self.items) |
18、爬虫程序
以下是一个简单的 Python 爬虫程序,它从网页上爬取文本内容:
1 2 3 4 5 6 7 8 | import requests from bs4 import BeautifulSoup
url = 'https://www.example.com/' page = requests.get(url) soup = BeautifulSoup(page.content, 'html.parser') text = soup.get_text() print(text) |
在此代码中,我们首先通过 requests 模块发送 HTTP 请求并获取网页内容,然后通过 BeautifulSoup 库解析 HTML 格式的内容,并使用 soup.get_text() 方法提取所有文本内容。