编程语言的软件工程

Python基础

Python是一种广泛使用的高级编程语言,它因其简洁的语法、强大的库和跨平台的特性而受到许多开发者的喜爱。无论你是初学者还是有经验的程序员,掌握Python的基本概念和技巧都是非常重要的。本文将详尽介绍Python的基础知识,包括数据类型、控制结构、函数、模块、面向对象编程等内容。

1. Python简介

Python由荷兰人Guido van Rossum于1991年首次发布。它是一种解释型、互动式、面向对象的语言,广泛应用于网页开发、数据分析、人工智能、机器学习以及自动化脚本等领域。Python的简洁语法使得新手更容易上手,同时它强大的功能又适合专业开发。

2. 安装Python

在开始学习Python之前,我们需要在计算机上安装Python。你可以从Python官方网站下载最新版本的Python安装包。安装完成后,可以通过终端(Linux/Mac)或命令提示符(Windows)输入以下命令来验证安装是否成功:

python --version

3. Python基础语法

3.1 注释

Python使用#符号来表示单行注释,使用三个引号('''""")来表示多行注释。

# 这是一个单行注释
'''
这是一个
多行注释
'''
3.2 数据类型

Python支持多种数据类型,包括数字、字符串、列表、元组、字典和集合等。

3.2.1 数字

Python支持整数和浮点数。你可以直接进行各种数学运算:

a = 10
b = 3.5
print(a + b)  # 输出:13.5

3.2.2 字符串

字符串是不可变的字符序列,可以使用单引号、双引号或三引号定义:

str1 = 'Hello, World!'
str2 = "Python is great!"
str3 = '''This is a 
multi-line string.'''
print(str1)

3.2.3 列表

列表是一种可变的数据类型,可以包含不同类型的元素,使用方括号[]定义:

fruits = ['apple', 'banana', 'cherry']
fruits.append('orange')
print(fruits)  # 输出:['apple', 'banana', 'cherry', 'orange']

3.2.4 元组

元组与列表类似,但元组是不可变的,使用圆括号()定义:

coordinates = (10.0, 20.0)
print(coordinates[0])  # 输出:10.0

3.2.5 字典

字典是一种键值对数据类型,使用花括号{}定义:

person = {'name': 'Alice', 'age': 25}
print(person['name'])  # 输出:Alice

3.2.6 集合

集合是一种无序且不重复的数据类型,使用花括号或set()函数定义:

unique_numbers = {1, 2, 3, 2, 1}
print(unique_numbers)  # 输出:{1, 2, 3}

4. 控制结构

Python使用缩进来表示代码块,控制结构包括条件语句和循环。

4.1 条件语句

使用ifelifelse进行条件判断。

age = 18
if age < 18:print('未成年人')
elif age == 18:print('刚满18岁')
else:print('成年人')
4.2 循环

使用forwhile循环来实现重复操作。

4.2.1 for循环

for fruit in fruits:print(fruit)

4.2.2 while循环

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

5. 函数

函数是可重用的代码块,可以定义接受参数并返回结果的功能。

def greet(name):return f"Hello, {name}!"print(greet("Bob"))  # 输出:Hello, Bob!
5.1 匿名函数

Python还支持使用lambda关键字定义匿名函数。

add = lambda x, y: x + y
print(add(5, 3))  # 输出:8

6. 模块和包

Python支持模块化编程,可以将代码分成多个模块和包。模块是一个包含Python代码的文件,包是一个包含多个模块的文件夹。

6.1 导入模块

使用import语句导入模块。

import math
print(math.sqrt(16))  # 输出:4.0
6.2 自定义模块

可以将自定义代码保存为.py文件,然后在其他文件中导入。

# my_module.py
def hello():return "Hello from my module!"

在其他文件中导入:

from my_module import hello
print(hello())  # 输出:Hello from my module!

7. 面向对象编程(OOP)

Python是一种面向对象的编程语言,支持类和对象。

7.1 类和对象

使用class关键字定义类,通过类实例化对象。

class Dog:def __init__(self, name):self.name = namedef bark(self):return f"{self.name} says Woof!"my_dog = Dog("Buddy")
print(my_dog.bark())  # 输出:Buddy says Woof!
7.2 继承

Python支持类的继承,其中子类可以继承父类的属性和方法。

class Animal:def speak(self):return "Animal speaks"class Cat(Animal):def speak(self):return "Cat meows"my_cat = Cat()
print(my_cat.speak())  # 输出:Cat meows

8. 错误和异常处理

在编程过程中,错误和异常在所难免。Python提供了tryexcept结构来捕获和处理异常。

try:result = 10 / 0
except ZeroDivisionError:print("你不能除以零。")
finally:print("这段代码会执行无论是否发生错误。")

9. 文件操作

Python支持文件的读写,可以通过打开文件、读写内容、关闭文件来实现。

9.1 写入文件
with open('sample.txt', 'w') as f:f.write("Hello, World!")
9.2 读取文件
with open('sample.txt', 'r') as f:content = f.read()print(content)  # 输出:Hello, World!

10. 结论

通过本文的介绍,我们初步了解了Python的基础知识。这些基本概念构成了学习Python编程的基础,学习者可以通过不断实践和深入学习,掌握更高级的编程技巧和使用场景。

Python具有广泛的应用领域和活跃的社区,学习Python将为你的职业发展打开更多的机会。希望你能通过本文的学习,打下扎实的Python编程基础,为未来的编程之路做好准备。

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

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

相关文章

重温设计模式--观察者模式

文章目录 观察者模式&#xff08;Observer Pattern&#xff09;概述观察者模式UML图作用&#xff1a;实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题&#xff08;Subject&#xff09;&#xff1a;具体主题&#xff08;Concrete Subject&#xf…

【更新】Docker新手入门教程2:在Windows系统通过compose创建多个mysql镜像并配置应用

文章目录 前言一、运行Docker init生成docker配置文件二、修改创建镜像的配置文件1、添加镜像挂载点 三、【拉取镜像】四、生成Docker 镜像查看生成的镜像 五、修改Compose配置文件3、配置Mysql六、生成Docker容器七、检查容器创建状态总结 前言 在window下通过Docker创建mysq…

lxml 解析xml\html

from lxml import etree# XML文档示例 xml_doc """ <root><book><title>Python编程指南</title><author>张三</author></book><book><title>Python高级编程</title><author>李四</autho…

FFmpeg在python里推流被处理过的视频流

链式算法处理视频流 视频源是本地摄像头 # codinggbk # 本地摄像头直接推流到 RTMP 服务器 import cv2 import mediapipe as mp import subprocess as sp# 初始化 Mediapipe mp_drawing mp.solutions.drawing_utils mp_drawing_styles mp.solutions.drawing_styles mp_holis…

从零开始k8s-部署篇(未完待续)

从零开始k8s 1.部署k8s-部署篇 1.部署k8s-部署篇 本次部署完全学习于华子的博客点击此处进入华子主页 K8S中文官网&#xff1a;https://kubernetes.io/zh-cn 笔者从零开始部署的k8s&#xff0c;部署前置条件为 1.需要harbor仓库&#xff0c;存放镜像&#xff0c;拉取镜像&am…

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集AI-FGTM介绍算法流程初始化迭代更新&#xff08; t 0 t 0 t0 到 T − 1 T - 1 T−1&#xff09;迭代完成 AI-FGTM代码实现AI-FGTM算法实现攻击效果 代码汇总aifgtm.pytrain.pyadvtest.py 之前已经…

视频监控平台:Liveweb视频汇聚融合平台智慧安防视频监控应用方案

Liveweb是一款功能强大、灵活部署的安防视频监控平台&#xff0c;支持多种主流标准协议&#xff0c;包括GB28181、RTSP/Onvif、RTMP等&#xff0c;同时兼容海康Ehome、海大宇等厂家的私有协议和SDK接入。该平台不仅提供传统安防监控功能&#xff0c;还支持接入AI智能分析&#…

【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【LLM论文日更】| 训练大型语言模型在连续潜在空间中进行推理

论文&#xff1a;https://arxiv.org/pdf/2412.06769代码&#xff1a;暂未开源机构 &#xff1a;Meta领域&#xff1a;思维链发表&#xff1a;arxiv 研究背景 研究问题&#xff1a;这篇文章要解决的问题是如何在大语言模型&#xff08;LLMs&#xff09;中实现一种新的推理范式&…

opc da 服务器数据 转 opc ua项目案例

目录 1 案例说明 2 VFBOX网关工作原理 3 应用条件 4 查看OPC DA服务器的相关参数 5 配置网关采集opc da数据 6 用opc ua协议转发采集的数据 7 在服务器上运行仰科OPC DA采集软件 8 案例总结 1 案例说明 在OPC DA服务器上运行OPC DA client软件查看OPC DA服务器的相关参…

05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

05.HTTPS的实现原理-HTTPS的握手流程&#xff08;TLS1.2&#xff09; 简介1. TLS握手过程概述2. TLS握手过程细化3. 主密钥&#xff08;对称密钥&#xff09;生成过程4. 密码规范变更 简介 主要讲述了混合加密流程完成后&#xff0c;客户端和服务器如何共同获得相同的对称密钥…

Excel粘贴复制不完整的原因以及解决方法

在数据处理和分析的过程中&#xff0c;Excel无疑是不可或缺的工具。然而&#xff0c;在使用Excel进行复制粘贴操作时&#xff0c;有时会遇到粘贴不完整的情况&#xff0c;这可能会让人感到困惑和烦恼。本文将深入探讨Excel粘贴复制不完整的原因、提供解决方案&#xff0c;并给出…

数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误

文章目录 背景一、步骤1.分析阶段2.查看nginx3.修改用户&#xff08;也可以修改所有者权限&#xff09; 背景 故障报错&#xff1a; nginx报错信息&#xff1a; 2024/12/19 15:25:31 [crit, 500299#0: *249 onen0 " /var/lib/nginx/tmp/cient body/0000000001" f…

在Windows11上编译C#的实现Mono的步骤

在Windows11上编译Mono的步骤 1、 在win11打开开发者模式,在更新和安全选项里,如下图: 2、下载并安装64位的cygwin, 下载网站:www.cygwin.com 3、 安装 Visual Studio 2015 or later 的社区版本。 4、 下载Mono的windows最新版本。 5、 在cmd.exe里运行下面的命令来安…

我的创作纪念日(五年)

慕然回首 平平无奇的周一早晨&#xff0c;收到来自csdn的提醒&#xff0c;创作纪念日五周年了&#xff0c;这也意味着我从事开发行业差不多有整整五年了&#xff0c;五年啊&#xff01;你知道这五年我是怎么过的吗&#xff1f;一句Just do IT&#xff0c;我做it整整做了五年&am…

python+reportlab创建PDF文件

目录 字体导入 画布写入 创建画布对象 写入文本内容 写入图片内容 新增页 画线 表格 保存 模板写入 创建模板对象 段落及样式 表格及样式 画框 图片 页眉页脚 添加图形 构建pdf文件 reportlab库支持创建包含文本、图像、图形和表格的复杂PDF文档。 安装&…

人工智能ACA(七)——计算机视觉基础

一、自然语言处理基本介绍 1. 自然语言处理的定义 1-1 自然语言 人类使用的在社会生活中自然形成的语言 1-2 自然语言处理 目标是让计算机能够理解、解析、生成和处理人类的自然语言 包含自然语言理解和自然语言生成两部分组成 2. 自然语言处理的发展趋势 3.自然语言处理…

Ubuntu20.04 交叉编译Qt5.15.15 for rk3588

rk3588编译Qt搞了我大半年了&#xff0c;一直困惑特别鸣谢&#xff1a;qq1033878279的网友远程帮我编译演示了一遍。 一、vmware 安装基础工具 sudo apt install -y build-essential net-tools openssh-server vim openssl libssl-dev 二、vmware 下载 cmake和Qt源码 下载cm…

使用开源在线聊天工具Fiora轻松搭建个性化聊天平台在线交流

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;人工智能教程 文章目录 前言1.关于Fiora2.安装Docker3.本地部署Fiora4.使用Fiora5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime …

DDoS防护中的流量清洗与智能调度

DDoS防护中的流量清洗与智能调度有哪些好处 在数字化高度发展的今天&#xff0c;企业依赖于互联网进行业务运营&#xff0c;而网络安全威胁也随之增加。其中&#xff0c;DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种常见且破坏性极强的网络攻击手段。为了有效应对DDo…