一篇文章学完Python基础

1. 字符串

str1 = "Hello" str2 = " World" print(str1 + str2)  # 输出:HelloWorld

1.1 字符替换

text = "Hello, World!"   new_text = text.replace("World", "Python")   print(new_text)  # 输出:Hello, Python!

1.2 字符串方法 - 大小写转换

text = "hello world" upper_text = text.upper() lower_text = text.lower() print(upper_text)  # 输出:HELLO WORLDprint(lower_text)  # 输出:hello world

1.3 字符串格式化 - 使用format方法

name = "Alice" age = 30 formatted_string = "My name is {} and I am {} years old.".format(name, age) print(formatted_string)  # 输出:My name is Alice and I am 30 years old.

1.4 字符串格式化 - f-string

name = "Alice" age = 30 formatted_string = f"My name is {name} and I am {age} years old." print(formatted_string)  # 输出:My name is Alice and I am 30 years old.

2. 列表

my_list = [1, 2, 3, 4, 5] print(my_list)

2.1 访问列表

my_list = [1, 2, 3, 4, 5] print(my_list[0])  # 输出第一个元素

2.2 修改列表

my_list = [1, 2, 3, 4, 5] my_list[0] = 10 print(my_list)

2.3 追加元素

my_list = [1, 2, 3, 4, 5] my_list.append(6) print(my_list)

2.3 列表排序

numbers = [5, 1, 9, 3, 7] numbers.sort() print(numbers)  # 输出:[1, 3, 5, 7, 9]

2.4 列表反转

numbers = [1, 2, 3, 4, 5] numbers.reverse() print(numbers)  # 输出:[5, 4, 3, 2, 1]

3. 元组

my_tuple = (1, 2, 3, 4, 5) print(my_tuple)

3.1 访问元组

my_tuple = (1, 2, 3, 4, 5) # 访问第一个元素 first_element = my_tuple[0] print(first_element)  # 输出:1# 访问最后一个元素 last_element = my_tuple[-1] print(last_element)  # 输出:5

3.2 元组切片

my_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9) # 切片获取部分元素 sub_tuple = my_tuple[2:5] print(sub_tuple)  # 输出:(3, 4, 5)

3.3 元组不可变性

my_tuple = (1, 2, 3) # 尝试修改元组元素,这会抛出异常 # my_tuple[0] = 10  # 这行会引发TypeError# 正确的方式是创建新的元组 new_tuple = (10,) + my_tuple[1:] print(new_tuple)  # 输出:(10, 2, 3)

3.4 元组与列表的转换

# 将列表转换为元组 my_list = [1, 2, 3] my_tuple = tuple(my_list) print(my_tuple)  # 输出:(1, 2, 3)  # 将元组转换为列表 my_tuple = (1, 2, 3) my_list = list(my_tuple) print(my_list)  # 输出:[1, 2, 3]

3.5 元组作为字典的键

# 元组可以作为字典的键,因为元组是不可变的 my_dict = {(1, 2): "one-two", (3, 4): "three-four"} print(my_dict[(1, 2)])  # 输出:"one-two"

3.6 元组解包

# 解包元组到变量中 a, b, c = (1, 2, 3) print(a)  # 输出:1print(b)  # 输出:2print(c)  # 输出:3 # 解包带有星号的元组 first, *rest = (1, 2, 3, 4, 5) print(first)  # 输出:1print(rest)  # 输出:[2, 3, 4, 5]

4. 字典

my_dict = {"name": "Alice", "age": 30} print(my_dict["name"])

4.1 字典更新

my_dict = {"name": "Alice", "age": 30} my_dict["age"] = 31print(my_dict)

4.2 字典的get方法

my_dict = {'a': 1,'b': 2} value = my_dict.get('a') print(value) # 输出:1value = my_dict.get('c', 'Not found') print(value) # 输出:Not found

4.3 字典的keys()和values()方法

my_dict = {'a': 1, 'b': 2, 'c': 3} keys = my_dict.keys() values = my_dict.values() print(keys)  # 输出:dict_keys(['a', 'b', 'c']) print(values)  # 输出:dict_values([1, 2, 3])

5. 集合

my_set = {1, 2, 3, 4, 5} print(my_set)

5.1 集合操作 - 并集

set1 = {1, 2, 3} set2 = {3, 4, 5} union_set = set1 | set2 print(union_set)

5.2 集合操作 - 交集

set1 = {1, 2, 3} set2 = {3, 4, 5} intersection_set = set1 & set2 print(intersection_set)

6. 推导式

6.1 列表推导式

squares = [x**2 for x in range(5)] print(squares)  # 输出:[0, 1, 4, 9, 16]

6.2 字典推导式

my_dict = {'a': 1, 'b': 2, 'c': 3} new_dict = {k: v*2 for k, v in my_dict.items()} print(new_dict)  # 输出:{'a': 2, 'b': 4, 'c': 6}

6.3 条件推导式

numbers = [1, 2, 3, 4, 5] evens = [num for num in numbers if num % 2 == 0] print(evens)  # 输出:[2, 4]

7. 四大函数

7.1 enumerate函数

my_list = ['a', 'b', 'c'] for index, value in enumerate(my_list):     print(f"Index: {index}, Value: {value}")

7.2 zip函数

list1 = [1, 2, 3] list2 = ['a', 'b', 'c'] for i, j in zip(list1, list2):    print(i, j)

7.3 map函数

numbers = [1, 2, 3, 4, 5] squared = map(lambda x: x**2, numbers) print(list(squared))  # 输出:[1, 4, 9, 16, 25]

7.4 filter函数

numbers = [1, 2, 3, 4, 5, 6] even_numbers = filter(lambda x: x % 2 == 0, numbers) print(list(even_numbers))  # 输出:[2, 4, 6]

8. 条件语句

x = 10 if x > 5:    print("x is greater than 5")

9. 循环语句

9.1 for循环

for i in range(5):    print(i)

9.2 while循环

i = 0 while i < 5:    print(i)    i += 1

10. 异常处理

try:    x = 1 / 0except ZeroDivisionError:    print("Cannot divide by zero")

11. 文件读写

11.1 文件读取

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

11.2 文件写入

with open('example.txt', 'w') as file:    file.write('Hello, World!')

12. 模块导入

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

13. 函数

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

14. 类

class Dog:    def __init__(self, name):        self.name = name            def bark(self):        print(f"{self.name} barks!")        my_dog = Dog("Buddy") my_dog.bark()  # 输出:Buddy barks!

15. 继承

class Animal:    def __init__(self, name):        self.name = name            def speak(self):        print(f"{self.name} speaks!")        class Dog(Animal):    def bark(self):            print(f"{self.name} barks!")         my_dog = Dog("Buddy") my_dog.speak()  # 输出:Buddy speaks!my_dog.bark()  # 输出:Buddy barks!

关注公众号,获取200+本Python、人工智能相关学习资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024第八届自然语言处理与信息检索国际会议 (NLPIR 2024)即将召开!

2024第八届自然语言处理与信息检索国际会议 (NLPIR 2024)将于2024年12月13-15日在日本冈山的冈山大学举行。NLPIR 2024将为自然语言处理与信息检索领域的专家学者提供一个交流与合作的平台&#xff0c;推动该领域的学术进步和技术创新。同时&#xff0c;本次会议也将为相关企业…

Golang 高性能 Websocket 库 gws 使用与设计(一)

前言 大家好这里是&#xff0c;白泽&#xff0c;这期分析一下 golang 开源高性能 websocket 库 gws。 视频讲解请关注&#x1f4fa;B站&#xff1a;白泽talk 介绍 gws&#xff1a;https://github.com/lxzan/gws &#xff5c;GitHub &#x1f31f; 1.2k&#xff0c;高性能的 …

0724,select +tcp 聊天室喵

目录 TCP协议喵 723__01&#xff1a;使用select实现一个基于UDP的一对一即时聊天程序。 001: 002: TIMEWAI OR BUG 721作业&#xff1a; 01&#xff1a;在一对一聊天的基础上&#xff0c;使用select实现一对多的回显服务。&#xff08;回显服务即接收到客户端发送的数…

Pyppeteer 的使用

puppeteer 是基于Node.js 开发的一个工具, 有了它&#xff0c;我们可以利用 JavaScript 控制 Chrome 浏览器的一些操作。当然&#xff0c; puppeteer 也可以用于网络爬虫&#xff0c;其 API 及其完善&#xff0c;功能非常强大。 Pyppeteer 其实是 puppeteer 的 python 实现&…

.net 连接达梦数据库开发环境部署

.net 开发环境部署 1. 环境准备 测试工具 Visual Studio2022 数据库版本 dm8 2. 搭建过程 1 &#xff09;创建新项目 2 &#xff09;选择创建空项目 3 &#xff09;配置新项目 4 &#xff09;右键 DM1 新建一个项 5 &#xff09;加 载 驱 动 &#xff0c; 新 建 …

0722_驱动3 地址映射驱动点灯

一、为什么需要地址映射 在芯片手册上查看到的地址属于物理地址&#xff0c;在硬件层 在内核空间地址属于虚拟地址&#xff0c;在内核层 在驱动中&#xff0c;操作的是虚拟地址 需要将物理地址《--mmu内存管理单元--》虚拟地址映射 二、映射API接口 void *ioremap(unsigned lon…

backtrace

介绍 arm平台的调用栈与x86平台的调用栈大致相同&#xff0c;稍微有些区别&#xff0c;主要在于栈帧的压栈内容和传参方式不同。在arm平台的不同程序&#xff0c;采用的编译选项不同&#xff0c;程序运行期间的栈帧也会不同。有些工具在对arm的调用栈回溯时&#xff0c;可能会…

电商项目之如何判断线程池是否执行完所有任务

文章目录 1 问题背景2 前言3 4种常用的方法4 代码4.1 isTerminated()4.2 线程池的任务总数是否等于已执行的任务数4.3 CountDownLatch计数器4.4 CyclicBarrier计数器 1 问题背景 真实生产环境的电商项目&#xff0c;常使用线程池应用于执行大批量操作达到高性能的效果。应用场景…

Dify中语音和文字间转换问题的一种暂时注释方式

本文主要解释了Dify中语音和文字间转换可能会遇到的问题&#xff0c;并给出了一种暂时注释的解决方案。 一.文本转语音可能问题 本地部署文本转语音时&#xff0c;如果遇到如下问题&#xff0c;安装ffmpeg即可。但是如果安装后&#xff0c;重启系统还是遇到这个问题该如何办&…

分库分表——从理论到最佳实践

目录 1、为什么要分库分表&#xff1f;2、切分方案有哪些&#xff1f;2.1 分库2.1.1 垂直分库2.1.2 水平分库 2.2 分表2.2.1 垂直分表2.2.2 水平分表 2.3 分库分表 3、数据水平分片方法3.1 Hash分片3.2 一致性Hash分片3.3 Range分片 4、分库分表的挑战4.1 分布式id4.2 分布式事…

LLM:归一化 总结

一、Batch Normalization 原理 Batch Normalization 是一种用于加速神经网络训练并提高稳定性的技术。它通过在每一层网络的激活值上进行归一化处理&#xff0c;使得每一层的输入分布更加稳定&#xff0c;从而加速训练过程&#xff0c;并且减轻了对参数初始化的依赖。 公式 …

分类模型——逻辑回归和Fisher线性判别分析

个人学习笔记&#xff0c;课程为数学建模清风付费课程 目录 一、引例 二、逻辑回归 2.1线性概率模型 2.2Fisher线性判别分析 2.3两点分布&#xff08;伯努利分布&#xff09; 2.4连接函数的取法 2.5如何求解 2.6如何用于分类 三、SPSS 3.1二元分类 3.1.1逻辑回…

MySQL内如何改变编码格式

查找数据库的编码格式&#xff1a; show variables like character%;具体内容时这些 在创建表时设定编码格式&#xff1a; create database <要创建的数据库的名字> charset utf8; 修改数据库默认编码&#xff1a; set character_set_databaseutf8mb4; character_…

eclipse ui bug

eclipse ui bug界面缺陷&#xff0c;可能项目过多&#xff0c;特别maven项目过多&#xff0c;下载&#xff0c;自动编译&#xff0c;加载更新界面异常 所有窗口死活Restore不回去了 1&#xff09;尝试创建项目&#xff0c;还原界面&#xff0c;失败 2&#xff09;关闭所有窗口&…

将TP5链接导入笔影个人博客代码

首先第一步&#xff0c;打开界面 第二步&#xff0c;这里卡住了&#xff0c;无法看到源代码&#xff0c;我们使用其他软件看看源代码 调试乱码&#xff0c;因为没有找到相应的笔影个人博客源码。源码在桌面上。询问百度&#xff0c;说了有的没的一大堆。 尝试的结果就是失败…

时间复杂度与O(n)

文章目录 1 复杂度分析1.1 时间复杂度1.1.1 循环执行次数1.1.2 大O(n)表示法 1.2 空间复杂度 1 复杂度分析 1.1 时间复杂度 ​ 时间复杂度用来表示算法运行时间的长短&#xff0c;用来定性的描述程序的运行时间。要了解时间复杂度&#xff0c;我们需要先了解程序执行的次数。…

机器学习(二十二):精度和召回率

一、倾斜数据集 倾斜数据集&#xff1a;一个数据集中的正面和负面例子的比例非常不平衡&#xff0c;比如数据集中&#xff0c;结果为1的占比20%&#xff0c;结果为0的占比80% 例子&#xff1a;如果数据集的结果中只有0.5%是1&#xff0c;其余结果是0。有一个模型的预测准确度…

【信创】udisk2服务异常导致U盘使用中自动移除问题解决

原文链接&#xff1a;【信创】udisk2服务异常导致U盘使用中自动移除问题解决 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在信创终端操作系统上由于udisk2服务异常导致U盘等移动设备在使用中自动移除问题的排查文章。udisk2是一个管理存储设备的服务&#xf…

【计算机网络】OSPF单区域实验

一&#xff1a;实验目的 1&#xff1a;掌握在路由器上配置OSPF单区域。 2&#xff1a;学习OSPF协议的原理&#xff0c;及其网络拓扑结构改变后的变化。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。…

Vue 3 实现左侧列表点击跳转滚动到右侧对应区域的功能

使用 Vue 3 实现左侧列表点击跳转到右侧对应区域的功能 1. 引言 在这篇博客中&#xff0c;我们将展示如何使用 Vue 3 实现一个简单的页面布局&#xff0c;其中左侧是一个列表&#xff0c;点击列表项时&#xff0c;右侧会平滑滚动到对应的内容区域。这种布局在很多应用场景中都…