Python 入门教程,罗列常用的知识点,配合多个案例,易学易懂

360影视 国产动漫 2025-03-27 21:11 2

摘要:python# 整数类型age = 25# 浮点数类型height = 1.75# 字符串类型name = "张三"# 布尔类型is_student = Trueprint(type(age)) # print(type(height

Python中变量不需要声明类型,直接赋值即可。常用数据类型有:整数(int)、浮点数(float)、字符串(str)、布尔值(bool)等。

python# 整数类型age = 25# 浮点数类型height = 1.75# 字符串类型name = "张三"# 布尔类型is_student = Trueprint(type(age)) # print(type(height)) # print(type(name)) # print(type(is_student)) # 案例2:类型转换pythonnum_str = "123"num_int = int(num_str) # 将字符串转换为整数num_float = float(num_str) # 将字符串转换为浮点数print(num_int + 10) # 133print(num_float + 10) # 133.0num_int = int(3.14) # 将浮点数转换为整数,结果为3num_str = str(123) # 将整数转换为字符串,结果为"123"pythona = 10b = 20# Python特有的变量交换方式a, b = b, aprint(a) # 20print(b) # 10python# 同时给多个变量赋相同的值x = y = z = 0# 同时给多个变量赋不同的值name, age, country = "李四", 30, "中国"print(x, y, z) # 0 0 0print(name, age, country) # 李四 30 中国pythonscore = 90print(score) # 90del score # 删除变量scoretry:print(score)except NameError:print("变量score已被删除") # 输出:变量score已被删除

Python支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。

pythona = 10b = 3print(a + b) # 加法,输出13print(a - b) # 减法,输出7print(a * b) # 乘法,输出30print(a / b) # 除法,输出3.3333333333333335print(a // b) # 整除,输出3print(a % b) # 取模,输出1print(a ** b) # 幂运算,输出1000pythonx = 5y = 8print(x == y) # 等于,输出Falseprint(x != y) # 不等于,输出Trueprint(x > y) # 大于,输出Falseprint(x = y) # 大于等于,输出Falseprint(x pythonp = Trueq = Falseprint(p and q) # 逻辑与,输出Falseprint(p or q) # 逻辑或,输出Trueprint(not p) # 逻辑非,输出Falsepythonnum = 10num += 5 # 等价于 num = num + 5,结果为15num -= 3 # 等价于 num = num - 3,结果为12num *= 2 # 等价于 num = num * 2,结果为24num /= 4 # 等价于 num = num / 4,结果为6.0num %= 5 # 等价于 num = num % 5,结果为1.0pythonresult = (3 + 5) * 2 ** 2 / 4 - 1# 运算顺序:括号 -> 幂运算 -> 乘法 -> 除法 -> 减法# 计算过程:# (8) * 4 /4 -1 = 32/4 -1 = 8 -1 =7print(result) # 输出7.0控制流

控制流语句包括条件判断(if-elif-else)和循环(for、while)。

pythonscore = 85if score >= 90:grade = 'A'elif score >= 80:grade = 'B'elif score >= 70:grade = 'C'elif score >= 60:grade = 'D'else:grade = 'F'print(f"分数{score}对应的等级是:{grade}") # 分数85对应的等级是:Bpythonfruits = ["apple", "banana", "cherry"]# 遍历列表元素for fruit in fruits:print(fruit)# 输出:# apple# banana# cherry# 使用range函数生成序列for i in range(5):print(i, end=' ') # 输出:0 1 2 3 4 print # 换行pythoncount = 0while count pythonnumbers = [1, 3, 5, 7, 9, 11, 13]for num in numbers:if num == 7:continue # 跳过当前循环的剩余语句,继续下一次循环if num == 11:break # 当num等于11时退出循环print(num)# 输出:1 3 5python# 嵌套循环for i in range(3):for j in range(2):print(f"i={i}, j={j}")# 输出:# i=0, j=0# i=0, j=1# i=1, j=0# i=1, j=1# i=2, j=0# i=2, j=1# 使用标签跳出多层循环outer_loop: for i in range(3):for j in range(3):if i == 1 and j == 1:break outer_loop # 跳出标记为outer_loop的循环print(f"i={i}, j={j}")# 输出:# i=0, j=0# i=0, j=1# i=0, j=2# i=1, j=0函数

函数是一段可重复使用的代码块,使用def关键字定义。

pythondef greet(name):"""这是一个问候函数"""print(f"Hello, {name}!")greet("Alice") # 输出:Hello, Alice!pythondef add(a, b):return a + bresult = add(5, 3)print(result) # 输出:8pythondef describe_pet(animal_type='dog', pet_name='Rover'):print(f"I have a {animal_type} named {pet_name}.")describe_pet # 使用默认参数,输出:I have a dog named Roverdescribe_pet(pet_name='Buddy') # 修改第二个参数,输出:I have a dog named Buddydescribe_pet(animal_type='cat', pet_name='Whiskers') # 修改两个参数,输出:I have a cat named Whiskerspythondef sum_numbers(*args):total = 0for num in args:total += numreturn totalprint(sum_numbers(1, 2, 3)) # 输出:6print(sum_numbers(1, 2, 3, 4, 5)) # 输出:15pythondef print_person_info(**kwargs):for key, value in kwargs.items:print(f"{key}: {value}")print_person_info(name="张三", age=30, city="北京")# 输出:# name: 张三# age: 30# city: 北京列表

列表是Python中最常用的数据结构,可以存储不同类型的元素。

pythonfruits = ["apple", "banana", "cherry"]numbers = [1, 2, 3, 4, 5]mixed = ["apple", 1, True]print(fruits[0]) # 访问第一个元素:appleprint(numbers[-1]) # 访问最后一个元素:5print(mixed[2]) # 访问第三个元素:Truefruits.append("orange") # 在列表末尾添加元素print(fruits) # ['apple', 'banana', 'cherry', 'orange']pythonnumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(numbers[2:5]) # 切片操作,取索引2到4的元素:[2, 3, 4]print(numbers[:3]) # 取前三个元素:[0, 1, 2]print(numbers[5:]) # 从索引5开始到末尾:[5, 6, 7, 8, 9]numbers[0] = 10 # 修改列表元素print(numbers) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]pythonfruits = ["apple", "banana", "cherry"]fruits.append("orange") # 添加元素到末尾fruits.insert(1, "grape") # 在指定位置插入元素fruits.remove("banana") # 删除指定元素fruits.pop # 删除并返回最后一个元素fruits.sort # 对列表进行排序fruits.reverse # 反转列表顺序length = len(fruits) # 获取列表长度print(fruits) # ['apple', 'grape', 'cherry', 'orange']的逆序pythonsquares = [x**2 for x in range(10)] # 创建一个包含0-9平方的列表even_numbers = [num for num in range(10) if num % 2 == 0] # 筛选偶数print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]print(even_numbers) # [0, 2, 4, 6, 8]pythonmatrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]print(matrix[0][1]) # 访问第一行第二列元素:2print(matrix[2][2]) # 访问第三行第三列元素:9# 遍历二维列表for row in matrix:for element in row:print(element, end=' ')print元组

元组与列表类似,但是创建后不可修改,使用圆括号`定义。

pythoncoordinates = (3, 5)person = ("Alice", 30, "Female")print(coordinates[0]) # 输出:3print(person[1:]) # 输出:(30, 'Female')# 创建单元素元组single_element = (42,) # 注意后面的逗号案例2:元组解包pythoncoordinates = (3, 5)x, y = coordinates # 元组解包print(x, y) # 输出:3 5data = ("Alice", 30, "Female")name, age, gender = dataprint(name, age, gender) # Alice 30 Femalepythonnumbers = [1, 2, 3, 4, 5]numbers_tuple = tuple(numbers) # 列表转元组print(numbers_tuple) # (1, 2, 3, 4, 5)new_list = list(numbers_tuple) # 元组转列表print(new_list) # [1, 2, 3, 4, 5]pythoncolors = ("red", "green", "blue")print(colors.count("red")) # 统计元素出现次数:1print(len(colors)) # 获取元组长度:3# 注意:元组元素不可修改,以下操作会报错# colors[0] = "yellow" # TypeError: 'tuple' object does not support item assignmentpythonperson = ("Bob", 25, ("New York", "USA"))city, country = person[2] # 解包嵌套元组print(person) # ('Bob', 25, ('New York', 'USA'))print(city) # New Yorkprint(country) # USA字典

字典是一种无序的键值对(key-value)集合,使用花括号{}定义。

pythonstudent = {"name": "张三","age": 20,"major": "计算机科学"}print(student["name"]) # 访问键"name"对应的值:张三print(student.get("gender")) # 使用get方法访问不存在的键,返回Nonestudent["gender"] = "male" # 添加新键值对student["age"] = 21 # 修改现有键的值del student["major"] # 删除键值对print(student) # {'name': '张三', 'age': 21, 'gender': 'male'}案例2:字典遍历pythonfruits = {"apple": 3,"banana": 2,"orange": 5}# 遍历键for key in fruits:print(key)# 遍历值for value in fruits.values:print(value)# 遍历键值对for key, value in fruits.items:print(f"{key}: {value}")pythonperson = {"name": "李四","age": 30,"city": "北京"}keys = person.keys # 获取所有键values = person.values # 获取所有值items = person.items # 获取所有键值对length = len(person) # 获取字典长度print(keys) # dict_keys(['name', 'age', 'city'])print(values) # dict_values(['李四', 30, '北京'])print(items) # dict_items([('name', '李四'), ('age', 30), ('city', '北京')])print(length) # 3person.update({"age": 31, "job": "engineer"}) # 更新字典pythoncompany = {"name": "Tech Corp","employees": {"Alice": {"age": 30, "position": "Engineer"},"Bob": {"age": 25, "position": "Designer"}}}# 访问嵌套字典的值print(company["employees"]["Alice"]["position"]) # Engineer# 修改嵌套字典的值company["employees"]["Bob"]["age"] = 26案例5:默认字典pythonfrom collections import defaultdict# 创建默认值为列表的字典dd = defaultdict(list)# 可以直接追加元素,无需先判断键是否存在dd["fruits"].append("apple")dd["fruits"].append("banana")dd["vegetables"].append("carrot")print(dd) # defaultdict(, {'fruits': ['apple', 'banana'], 'vegetables': ['carrot']})字符串操作

字符串是Python中最常用的数据类型之一,支持多种操作和方法。

pythontext = "Hello, World!"print(text[0]) # 访问第一个字符:Hprint(text[7:]) # 截取子串:World!print(len(text)) # 获取字符串长度:13print(text.upper) # 转换为大写:HELLO, WORLD!print(text.lower) # 转换为小写:hello, world!print(text.replace("World", "Python")) # 替换子串:Hello, Python!pythonname = "Alice"age = 30height = 1.68# 使用%格式化print("Name: %s, Age: %d, Height: %.2f" % (name, age, height))# 使用format方法print("Name: {}, Age: {}, Height: {:.2f}".format(name, age, height))# 使用f-string(Python 3.6+)print(f"Name: {name}, Age: {age}, Height: {height:.2f}")pythoncsv_data = "apple,banana,orange,grape"# 分割字符串fruits = csv_data.split(",")print(fruits) # ['apple', 'banana', 'orange', 'grape']# 连接列表元素成字符串joined = "-".join(fruits)print(joined) # apple-banana-orange-grape# 处理空格text = " Hello, World! "print(text.strip) # 去除首尾空格:"Hello, World!"pythontext = "Python programming is fun!"print(text.find("programming")) # 查找子串位置:7print(text.index("is")) # 查找子串位置:14print(text.count("n")) # 统计字符出现次数:3print(text.startswith("Python")) # 是否以指定字符串开头:Trueprint(text.endswith("!")) # 是否以指定字符串结尾:Trueprint(text.isalpha) # 是否全为字母:Falsepythontext = "你好,世界!"# 编码为bytes对象encoded = text.encode("utf-8")print(encoded) # b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'# 解码为字符串decoded = encoded.decode("utf-8")print(decoded) # 你好,世界!# 处理文件路径中的特殊字符file_path = "C:/我的文件夹/file.txt"encoded_path = file_path.encode("unicode_escape")print(encoded_path) # b'C:/\\u6211/e6/b3/a4e5/ad/97e6/96/b9/e5/a4/b4/file.txt'文件操作

Python提供了简单易用的文件操作接口,可以方便地读写文件。

python# 写入文本文件with open("example.txt", "w", encoding="utf-8") as f:f.write("Hello, World!")f.write("这是一个文件操作的例子。")# 写入多行lines = ["第一行", "第二行", "第三行"]with open("lines.txt", "w", encoding="utf-8") as f:f.writelines(lines)python# 读取整个文件with open("example.txt", "r", encoding="utf-8") as f:content = f.readprint(content)# 逐行读取with open("example.txt", "r", encoding="utf-8") as f:for line in f:print(line.strip)# 读取所有行到列表with open("example.txt", "r", encoding="utf-8") as f:lines = f.readlinesprint(lines) # ['Hello, World!', '这是一个文件操作的例子。']pythonwith open("example.txt", "r+", encoding="utf-8") as f:# 移动文件指针到第7个字符处f.seek(7)# 读取剩余内容print(f.read) # 'World!这是一个文件操作的例子。'# 在当前位置写入内容f.write("这是追加的内容")pythonimport csv# 写入CSV文件data = [["姓名", "年龄", "城市"],["张三", 25, "北京"],["李四", 30, "上海"]]with open("people.csv", "w", newline="", encoding="utf-8") as f:writer = csv.writer(f)writer.writerows(data)# 读取CSV文件with open("people.csv", "r", encoding="utf-8") as f:reader = csv.reader(f)for row in reader:print(row)pythonimport jsondata = {"name": "Alice","age": 30,"hobbies": ["reading", "traveling"]}# 写入JSON文件with open("data.json", "w", encoding="utf-8") as f:json.dump(data, f, ensure_ascii=False, indent=4)# 读取JSON文件with open("data.json", "r", encoding="utf-8") as f:loaded_data = json.load(f)print(loaded_data)异常处理pythontry:num1 = int(input("请输入第一个数字:"))num2 = int(input("请输入第二个数字:"))result = num1 / num2print(f"结果:{result}")except ValueError:print("输入的不是有效数字")except ZeroDivisionError:print("除数不能为零")except Exception as e:print(f"发生未知错误:{e}")else:print("计算成功")finally:print("程序结束")pythondef divide(a, b):if b == 0:raise ValueError("除数不能为零")return a / btry:result = divide(10, 0)except ValueError as e:print(e) # 输出:除数不能为零pythonclass NegativeNumberError(Exception):"""负数错误异常"""def __init__(self, value):self.value = valuesuper.__init__(f"不允许输入负数:{value}")def check_positive(num):if num pythonfile = Nonetry:file = open("test.txt", "w", encoding="utf-8")file.write("Hello, World!")except IOError:print("文件操作失败")finally:if file is not None:file.closeprint("文件已关闭")def calculate_age(birth_year):assert birth_year

来源:雅雯教育分享

相关推荐