【机器学习】超简明Python基础教程

Python是一种简单易学、功能强大的编程语言,适用于数据分析、人工智能、Web开发、自动化脚本等多个领域。本教程面向零基础学习者,逐步讲解Python的基本概念、语法和操作。


1. 安装与运行

安装Python
  • 从官网 Welcome to Python.org 下载适合自己系统的安装包。
  • 推荐选择3.x版本,安装时勾选“Add Python to PATH”以便命令行使用。
运行Python代码
  1. 交互模式:直接在终端输入python进入交互环境。
  2. 脚本模式:保存代码到.py文件中,在终端使用python filename.py运行。

2. 基本语法

Hello, World!
print("Hello, World!")

输出:

Hello, World!
变量与数据类型

Python是一种动态类型语言,不需要显式声明变量类型。

# 整数
x = 10
# 浮点数
y = 3.14
# 字符串
name = "Python"
# 布尔值
flag = Trueprint(x, y, name, flag)

输出:

10 3.14 Python True
注释
  • 单行注释使用#
    # 这是一个单行注释
  • 多行注释使用三引号:
    """
    这是一个多行注释
    可以包含多行内容
    """
    

3. 数据结构

3.1 列表 (List)

列表是一个可变、有序的容器,可以存储多个数据。

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # 输出第一个元素
fruits.append("orange")  # 添加元素
print(fruits)

输出:

apple
['apple', 'banana', 'cherry', 'orange']
3.2 元组 (Tuple)

元组是不可变的有序容器。

colors = ("red", "green", "blue")
print(colors[1])  # 输出第二个元素

输出:

green
3.3 字典 (Dictionary)

字典是键值对的集合。

person = {"name": "Alice", "age": 25}
print(person["name"])  # 输出键对应的值
person["city"] = "New York"  # 添加键值对
print(person)

输出:

Alice
{'name': 'Alice', 'age': 25, 'city': 'New York'}
3.4 集合 (Set)

集合是无序、不重复的元素集合。

unique_numbers = {1, 2, 3, 3, 4}
print(unique_numbers)  # 重复元素会自动去除

输出:

{1, 2, 3, 4}

4. 控制结构

4.1 条件语句
x = 10
if x > 0:print("Positive")
elif x == 0:print("Zero")
else:print("Negative")
4.2 循环
  • for循环

    for i in range(5):print(i)
    
  • while循环

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

5. 函数

函数用来封装代码,方便重复调用。

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

输出:

Hello, Alice!

6. 文件操作

6.1 读取文件
with open("example.txt", "r") as file:content = file.read()print(content)
6.2 写入文件
with open("output.txt", "w") as file:file.write("Hello, Python!")

7. 模块与包

Python中有丰富的标准库和第三方模块。

  • 导入模块
    import math
    print(math.sqrt(16))
    
  • 输出:

    4.0
    
  • 安装第三方库:
    在终端运行 pip install library_name


8. 错误处理

通过try-except捕获异常,避免程序崩溃。

try:result = 10 / 0
except ZeroDivisionError:print("不能除以零")

输出:

不能除以零

9. 面向对象编程

Python支持面向对象的开发。

class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):return f"Hi, I'm {self.name} and I'm {self.age} years old."p = Person("Alice", 25)
print(p.greet())

输出:

Hi, I'm Alice and I'm 25 years old.

10. 数据可视化

使用matplotlib绘图。

import matplotlib.pyplot as pltx = [1, 2, 3, 4]
y = [2, 4, 6, 8]
plt.plot(x, y)
plt.title("Line Graph")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.show()

总结

通过学习本教程,你掌握了Python的基础语法和操作。从数据结构到文件操作,再到模块和错误处理,每一部分都是编程的基础。接下来可以尝试更多高级内容,比如数据分析、Web开发或机器学习等方向!

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

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

相关文章

小熊派Nano接入华为云

一、华为云IoTDA创建产品 创建如下服务&#xff0c;并添加对应的属性和命令。 二、小熊派接入 根据小熊派官方示例代码D6完成了小熊派接入华为云并实现属性上传命令下发。源码&#xff1a;小熊派开源社区/BearPi-HM_Nano 1. MQTT连接代码分析 这部分代码在oc_mqtt.c和oc_mq…

形态学图像处理(Morphological Image Processing)

形态学图像处理(Morphological Image Processing) 前言 ‍ 本博客为个人总结数字图像处理一课所写&#xff0c;并给出适当的扩展和相应的demo。 写博客跟做 checkpoint​ 很像&#xff0c;毕竟个人还不能达到那种信手拈来的境界&#xff0c;忘了就是从零开始训练&#xff0…

[webgis 0基础到找工作]------JavaScript--DOM事件进阶 day10

1.事件流 事件流是对事件执行过程的描述&#xff0c;了解事件的执行过程有助于加深对事件的理解&#xff0c;提升开发实践中对事件运用的灵活度。 简言之&#xff0c;捕获阶段是【从父到子】的传导过程&#xff0c;冒泡阶段是【从子向父】的传导过程。 1.1捕获和冒泡 如果事件…

TheadLocal出现的内存泄漏具体泄漏的是什么?弱引用在里面有什么作用?什么情景什么问题?

首先ThreadLocal是什么就不介绍了&#xff01;这篇是讲讲里面的东西。 再简单说一下强引用和弱引用&#xff0c;举个例子&#xff0c;我们平常new出来的对象就是强引用的&#xff0c;在栈中有强引用&#xff0c;所以在gc的时候&#xff0c;堆中的实例对象不会被清除掉。 弱引…

第一次shell作业

#接受用户输入的服务名称 read -p"输入需要部署的服务名称: " server_name if [ "service_name" "nginx" ]; then #判断服务是否安装 if command -v nginx > /dev/null 2>&1; then echo "nginx 已安装" #自定义网…

MATLAB图注意力网络GAT多标签图分类预测可视化

全文链接&#xff1a;https://tecdat.cn/?p38321 本示例展示了如何使用图注意力网络&#xff08;GATs&#xff09;对具有多个独立标签的图进行分类。当数据中的观测值具有带有多个独立标签的图结构时&#xff0c;可以使用GAT来预测未知标签观测值的标签&#xff08;点击文末“…

CSS优化file控件样式

<div class"file-box"><input type"button" class"btn" value"选择文件" /><inputtype"file"class"file"id"upimg"change"previewFiles"multiple/></div><!-- Vu…

Go语言24小时极速学习教程(三)常见标准库用法

常见标准库 常见标准库即Go语言自带的库&#xff0c;这里的所有包都可以通过import直接引入&#xff0c;如果你觉得实在是不好用&#xff0c;那么请先保证你学会了标准库的基础上&#xff0c;再学一下Gookit&#xff0c;特别是其中的GoUtil&#xff0c;千万不要轻易自己去造轮…

CTF--php伪协议结合Base64绕过

Base64绕过 在ctf中&#xff0c;base64是比较常见的编码方式&#xff0c;在做题的时候发现自己对于base64的编码和解码规则不是很了解&#xff0c;并且恰好碰到了类似的题目&#xff0c;在翻阅了大佬的文章后记录一下&#xff0c;对于base64编码的学习和一个工具 base64编码是…

虚拟网卡驱动和DM9000C移植

网卡驱动程序框架 网卡驱动程序“收发功能”&#xff1a; 只要把上层的数据发给网卡&#xff0c;从网卡来的数据构造成包给上层即可。网卡只需要 “socket”编程&#xff0c;不需要打开某设备。 驱动程序都是以面向对象的思想写的&#xff0c;都有相关的结构体。 编程步骤 …

image compare pyqt 实现

默认显示image1, 鼠标滑动滚动条切换图片显示 可视化效果: image_compare.py import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QSlider, QVBoxLayout, QHBoxLayout from PyQt5.QtCore import Qt, QSize from PyQt5.QtGui import QPixmap, QPainte…

【单片机基础】定时器/计数器的工作原理

单片机中的定时器/计数器&#xff08;Timer/Counter&#xff09;是用于时间测量和事件计数的重要模块。它们可以用来生成精确的延时、测量外部信号的频率或周期、捕获外部事件的时间戳等。理解定时器/计数器的工作原理对于单片机编程和系统设计非常重要。以下是定时器/计数器的…

在自动驾驶进行大数据量因果推理实验时,如何减少无用功,提高实验效率?

在对实验结果做反事实推理时&#xff0c;通常需要对数据进行多次循环&#xff0c;然后对多次循环的结果进行处理&#xff0c;如果只在最后结果结束时&#xff0c;再进行处理&#xff0c;可能会由于反事实过程中某个参数设置错误&#xff0c;导致整个反事实实验出现错误&#xf…

浅谈软件开发中的yield关键字:从餐厅服务理解异步编程之美

在现代软件开发中&#xff0c;处理大量数据流时经常会遇到性能和内存消耗的问题。传统的编程方式往往是一次性获取所有数据&#xff0c;这就像餐厅厨师要把所有菜品做完才上菜一样&#xff0c;既不高效也不够灵活。而yield关键字的出现&#xff0c;为我们提供了一种优雅的解决方…

绕过CDN寻找真实IP

在新型涉网案件中&#xff0c;我们在搜集到目标主站之后常常需要获取对方网站的真实IP去进一步的信息搜集&#xff0c;但是现在网站大多都部署了CDN&#xff0c;将资源部署分发到边缘服务器&#xff0c;实现均衡负载&#xff0c;降低网络堵塞&#xff0c;让用户能够更快地访问自…

前后端请求响应

引入 在之前的例子中&#xff0c;我们编写了一个简单的web类&#xff0c;我们运行启动类&#xff0c;启动内嵌的tomcat后就可以在浏览器通过特定的路径访问tomcat中的应用程序。 但之前编写的程序仅仅是个简单的java类&#xff0c;其并未实现某个接口或继承某个类&…

深度学习:神经网络中的损失函数的使用

深度学习&#xff1a;神经网络中的损失函数的使用 损失函数是监督学习中的关键组成部分&#xff0c;用于衡量模型预测值与真实值之间的差异。优化算法&#xff08;如梯度下降&#xff09;通过最小化损失函数来调整模型参数&#xff0c;以提高模型的预测精度。以下是几种常用的…

ThreeJS入门(142):THREE.WebGLRenderTarget 知识详解,示例代码

作者&#xff1a; 还是大剑师兰特 &#xff0c;曾为美国某知名大学计算机专业研究生&#xff0c;现为国内GIS领域高级前端工程师&#xff0c;CSDN知名博主&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;webgl&#xff0c;ThreeJS&#xff0c;canvas&#xf…

GitLab 部署和配置指南

GitLab 部署和配置指南 1. GitLab 容器配置概述 在部署 GitLab 时&#xff0c;可能涉及以下几部分内容&#xff1a; 内置 Nginx 的配置和调整。HTTPS 证书的申请、使用和续期。通过 FRP 映射内网服务到外部服务器。阿里云服务器的 Nginx 配置和反向代理。 本文将完整涵盖这…

Streamlit + AI大模型API实现视频字幕提取

简介 在本文中&#xff0c;我将带你探讨如何使用Streamlit和AI大模型API来实现视频字幕提取的技术。Streamlit是一个开源的Python库&#xff0c;用于快速构建数据应用的Web界面&#xff0c;而AI大模型API&#xff0c;如OpenAI&#xff0c;提供了强大的语言处理能力&#xff0c…