Python零基础到精通

Python入门指南

欢迎进入 Python 领域。作为程序员,我们总是在寻找能提高效率、编写优雅的代码的工具,而 Python 正是其中之一。你即将探索一种强大而灵活的编程语言,它被广泛应用于各种领域,从网站开发到数据科学,再到人工智能。无论你是初学者还是有经验的程序员,本指南都将帮助你开始学习Python,并逐步建立起对其核心概念和语法的理解。在这个旅程中,你将掌握编写简洁、可读性强且功能丰富的代码的技能,为你的编程之路打下坚实的基础。让我们一起开始吧!

文章目录

  • Python入门指南
  • 1. Python 简介
  • 2. 环境搭建
    • 安装 Python
    • 测试安装
    • 2.1 创建并运行 Python 文件
    • 创建文件
    • 保存文件
    • 编写代码
    • 运行文件
  • 3. Python 的基础语法
    • 数据类型
    • 控制结构
    • 列表
    • 字典
    • 元组
    • 字符串

1. Python 简介

Python 是一种解释型、交互式、面向对象的编程语言。其语法简单明了,结构紧凑,适用于从小型脚本到大型项目的开发。

为什么要学 Python?

  • 易读性: Python 代码的清晰度是其核心优势,大大提高代码的可维护性。
  • 多用途: 无论是 Web 开发、数据分析、人工智能还是网络编程,Python 都能胜任。
  • 强大的生态: 有数以万计的库和框架可供选择。

2. 环境搭建

在这里插入图片描述

安装 Python

Windows:

1、访问 官方下载页面
2、选择适合你系统的版本下载
3、打开下载的 .exe 文件并按照提示进行安装。记得勾选“Add Python to PATH”,这样你可以在命令行中直接运行 Python。

macOS:

在终端中使用 Homebrew:

brew install python3

Linux:

在终端中使用 apt (Ubuntu/Debian):

sudo apt-get update
sudo apt-get install python3

测试安装

在终端或命令行中输入:

python3 --version

如果看到相应的 Python 版本号,则表示安装成功。

2.1 创建并运行 Python 文件

创建文件

使用你喜欢的文本编辑器(例如 VSCode, Atom, Sublime Text 等)来创建一个新的文件。

保存文件

在保存文件时,确保使用 .py 作为文件扩展名。例如,你可以命名文件为 first_program.py。

编写代码

在此文件中,我们可以编写一个简单的 Python 代码,例如:

print("Welcome to Python!")

运行文件

Windows:

打开命令提示符 (cmd),然后导航到你保存文件的文件夹。输入以下命令来运行
Python 文件:

python first_program.py

macOS 和 Linux:

打开终端,并导航到你保存文件的文件夹。输入以下命令来运行 Python 文件:

python3 first_program.py

如果一切正常,你应该会在终端或命令提示符中看到输出 “Welcome to Python!”。
这就是创建并运行 Python 脚本的基础步骤。随着你对 Python 的进一步了解,你将能够编写更复杂、功能更强大的代码。

3. Python 的基础语法

数据类型

整数:

x = 10

浮点数:

y = 3.14

字符串:

greeting = "Hello, World!"

列表:

fruits = ["apple", "banana", "cherry"]

元组:

colors = ("red", "green", "blue")

字典:

person = {"name": "John", "age": 30}

控制结构

if 条件:

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

for 循环:

for fruit in fruits:
    print(fruit)

while 循环:

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

函数
定义一个函数:

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

调用函数:

print(greet("Alice"))

列表

假如你要收藏一个书单,用前面学到的知识你只能给每一本书分别使用不同变量来存储。学过编程的人都知道给变量起一个有意义的名字是一件非常痛苦的事情。

book1 = "《红楼梦》"
book2 = "《西游记》"
book3 = "《三国演义》"
book4 = "《水浒传》"

对于这种情况,Python 提供了一个叫“列表”的东西。
列表是用于保存批量的数据类型。上面的代码可以变成这样:

book_list = ["《红楼梦》", "《西游记》", "《三国演义》", "《水浒传》"]

可以看出,列表是用方括号 [] 包裹着,每一项数据之间用逗号 , 分隔。

要读取列表的数据可以用索引来访问,索引是从0开始的。比如我们想拿到《红楼梦》这本书可以这么做:

book_list[0]

Python 还提供了很多列表相关的方法,比如

# len: 获取列表长度
len(book_list)

# append: 在列表末尾添加元素
book_list.append(new_book)

# insert: 在指定位置插入元素
book_list.insert(index, new_book)

# remove: 删除列表中第一个出现的指定值
book_list.remove(book_to_remove)

# pop: 删除并返回指定位置的元素,默认为末尾元素
popped_book = book_list.pop(index)

# index: 返回指定值第一次出现的索引
index = book_list.index(book_to_find)

# count: 返回指定值在列表中出现的次数
count = book_list.count(book_to_count)

# sort: 对列表进行排序
book_list.sort()

# reverse: 将列表中的元素反转
book_list.reverse()

# clear: 清空列表
book_list.clear()

# extend: 将另一个列表的元素添加到当前列表末尾
book_list.extend(other_list)

# copy: 复制列表
new_list = book_list.copy()

# 列表切片:获取列表的一个子列表
sub_list = book_list[start_index:end_index]

# 列表解析:一种简洁的方法来创建新列表
squared_numbers = [x ** 2 for x in range(10)]

还有很多很多操作数组的方法,可以在项目中用到时再查。

字典

字典是用来存储键值对的数据类型,和现实世界中的字典一样。我们打开新华字典,可以根据拼音或者偏旁部首查到到指定的字放在字典里的哪一页。
在 Python 的字典里,可以通过“键名”找到对应的“值”。“键”是用来定位数据的,重点在定位。“值”是用来存放数据的,重点是存放。
Python 的字典用花括号 {} 表示,键值对用冒号 : 关联。多个键值对用逗号 , 分隔。
比如:

# 各科成绩
grade = {
    "Python": 100,
    "Java": 88,
    "C++": 60,
    "JavaScript": 70
}

要查看字典里的值,可以用键来获取。取值的方法是 字典名[键名]

print(grade['Python'])
# 输出:100

元组

当我们需要存储一组数据,而且这些数据不需要被修改,就可以使用元组。与列表不同的是,元组使用圆括号 () 来表示,例如:

book_tuple = ("《红楼梦》", "《西游记》", "《三国演义》", "《水浒传》")

元组与列表相似,可以通过索引来访问元素,索引同样从0开始,例如:

book_tuple[0]

元组的元素不能被修改,也不能添加或删除元素。这种不可变性使得元组在某些场景下更加安全和稳定。

除了基本的访问元素之外,元组也有一些方法可以使用:

# len: 获取元组长度
len(book_tuple)
# index: 返回指定值第一次出现的索引
index = book_tuple.index(book_to_find)
# count: 返回指定值在元组中出现的次数
count = book_tuple.count(book_to_count)

与列表不同的是,元组没有像列表那样的方法来修改、添加、删除元素,因为元组是不可变的。元组的不可变性使得它们适合用于存储一些不需要改变的数据,比如一些常量值或者配置信息。

字符串

当我们需要处理文本数据时,Python 中的字符串类型就非常有用。字符串是由一系列字符组成的序列,可以使用单引号 (‘’)、双引号 (“”) 或三引号 (‘’’ 或 “”") 来表示。

例如:

book_title = "《红楼梦》"

或者


author_name = '曹雪芹'

或者使用三引号表示多行字符串:

book_description = '''
《红楼梦》是中国古典小说,是中国古典四大名著之一,曹雪芹所著,由高鹗续写,曹雪芹起稿于约1750年,创作耗时约十年,后由曹雪芹的堂兄曹雪芹整理并加入自己的创作。全书共120回,分前80回和后40回,又分为前中后三十回,背后有一层“薄情寡义,识见浅陋”的浓厚社会气息。作品曾多次被搬上银幕和舞台,被誉为中国古典小说的巅峰之作。
'''

字符串可以通过索引来访问单个字符,索引同样从0开始:

first_character = book_title[0]  # 获取第一个字符

也可以使用切片来获取子串:

chapter_title = book_title[1:3]  # 获取从索引1到索引2的子串,不包含索引3

字符串支持许多方法来操作和处理文本数据,例如:

# len: 获取字符串长度
title_length = len(book_title)
# upper: 将字符串转换为大写
upper_title = book_title.upper()
# lower: 将字符串转换为小写
lower_title = book_title.lower()
# strip: 去除字符串两端的空格或指定字符
stripped_title = book_title.strip()
# replace: 替换字符串中的子串
replaced_title = book_title.replace("红楼梦", "西游记")
# split: 按指定字符分割字符串
title_parts = book_title.split("《")
# join: 将字符串列表连接成一个字符串
joined_title = "-".join(title_parts)

字符串类型在 Python 中非常灵活,可以用于处理各种文本数据,包括文件操作、网络通信、用户输入等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基础总结篇:Activity生命周期

private int param 1; //Activity创建时被调用 Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, “onCreate called.”); setContentView(R.layout.lifecycle); Button btn (Button) findViewById(R.id.…

【开源语音项目OpenVoice](一)——实操演示

目录 一、前菜 1、Python选择 2、pip源切换 3、ffmpeg配置问题 4、VSCode添加Jupyter扩展 二、配置虚拟环境 1、下载源码 方法一 直接下载源码压缩包 方法二 使用git 1&#xff09;git加入鼠标右键 2&#xff09;git clone源码 2、VSCode出场 1&#xff09;创建pyth…

VC++ 错误 Compiler Error C2018 unknown character ‘hexnumber‘

如下图&#xff0c;不能识别的字符0xa1&#xff0c; 这是代码中出现了全角空格&#xff0c;如下图标识的一行&#xff0c;等号前面出现了全角空格&#xff1b;改为半角空格&#xff1b; 如果是未知字符0xa3&#xff0c;则是程序中有中文符号&#xff0c;如程序中的引号&#xf…

【C++算法竞赛 · 图论】图论基础

前言 图论基础 图的相关概念 图的定义 图的分类 按数量分类&#xff1a; 按边的类型分类&#xff1a; 边权 简单图 度 路径 连通 无向图 有向图 图的存储 方法概述 代码 复杂度 前言 图论&#xff08;Graph theory&#xff09;&#xff0c;是 OI 中的一样很大…

小米造车,特斯拉销量不满人意,马斯克坐不住了:将于8月8日推出自动驾驶出租车

在Elon Musk声称路透社关于“放弃2.5万美元低成本电动汽车计划&#xff0c;而将所有精力集中于Robotaxi&#xff08;自动驾驶出租车&#xff09;”上的报道“撒谎”仅几小时后&#xff0c;特斯拉首席执行官在X社交平台上宣布&#xff0c;他将在8月8日的活动中揭示这款所谓的Rob…

Android APP加固利器:深入了解混淆算法与混淆配置

Android APP 加固是优化 APK 安全性的一种方法&#xff0c;常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆&#xff0c;使得反编译出来的代码很难阅读和理解&#xff…

相对论中关于光速不变理解的补充

近几个月在物理直播间聊爱因斯坦相对论&#xff0c;发现好多人在理解爱因斯坦相对论关于基本假设&#xff0c;普遍认为光速是不变的&#xff0c;质能方程 中光速的光速不变的&#xff0c;在这里我对这个假设需要做一个补充&#xff0c;他是基于质能方程将光速C 在真是光速变化曲…

JavaEE 初阶篇-生产者与消费者模型(线程通信)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 生产者与消费者模型概述 2.0 在生产者与消费者模型中涉及的关键概念 2.1 缓冲区 2.2 生产者 2.3 消费者 2.4 同步机制 2.5 线程间通信 3.0 实现生产者与消费者模…

【Python】 小顶堆:困难 Leetcode 23. 合并 K 个升序链表 -- Python中heapq对于自定义数据类型的比较

描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 代码 代码1 由于可能存在相同…

构造函数和析构函数

目录 一&#xff1a;类的六个默认函数 二&#xff1a;构造函数 2.1概念 2.2特性 三&#xff1a;析构函数 3.1概念&#xff1a; 3.2特性 一&#xff1a;类的六个默认函数 如果一个类中什都没有&#xff0c;称为空类 空类中真的什么都没有吗?并不是&#xff0c;任何类在…

MySQL客户端安装并配置免密登录

最近在写脚本时需要向MySQL数据库中存储数据&#xff0c;且脚本运行的服务器与MySQL服务器不是同一台服务器&#xff0c;而且需要保证MySQL密码的安全性&#xff0c;不能在脚本中暴露&#xff0c;所以就需要在服务器上安装MySQL客户端&#xff0c;并配置免密登录。 一、虚拟机…

C++ List 到 Python List 的转换

当我们编写 C 库的封装器通常涉及使用一种跨语言的接口技术&#xff0c;比如使用C接口或者使用特定的跨语言库&#xff0c;比如SWIG&#xff08;Simplified Wrapper and Interface Generator&#xff09;或者Pybind11。这里我将简要介绍如何使用Pybind11来封装一个C库&#xff…

jenkins+docker实现可持续自动化部署springboot项目

目录 一、前言 二、微服务带来的挑战 2.1 微服务有哪些问题 2.2 微服务给运维带来的挑战 三、可持续集成与交付概述 3.1 可持续集成与交付概念 3.1.1 持续集成 3.1.2 持续交付 3.1.3 可持续集成与交付核心理念 3.2 可持续集成优点 3.3 微服务为什么需要可持续集成 四…

金三银四面试题(十五):Java基础问题(6)

这部分面试题多用于面试的热身运动&#xff0c;对很多找实习和准备毕业找工作的小伙伴至关重要。 HashMap与ConcurrentHashMap 都是key-value 形式的存储数据&#xff1b; HashMap 是线程不安全的&#xff0c;ConcurrentHashMap 是JUC 下的线程安全的&#xff1b; HashMap 底层…

降低笔记本电脑噪音的七种方法,看下有没有适合你的

序言 无论是玩游戏、浏览网络还是做严肃的工作,差不多都有这么一台笔记本电脑,它有足够的处理能力来处理几乎任何事情。不幸的是,它可能会变得非常大声,但有办法来遏制这种噪音。 清洁通风口和风扇,并使用硬表面 如果你的笔记本电脑现在比过去运行同样的软件时声音更大…

docker笔记(二):镜像、容器数据卷

四、 docker镜像 4.1 镜像 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行环境开发的软件&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;包括代码、库、环境变量和配置文件 所有的应用&#xff0c;直接打包docker镜像就可以直…

深度学习500问——Chapter05: 卷积神经网络(CNN)(4)

文章目录 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 5.18.2 权值共享 5.18.3 池化操作 5.19 全连接、局部连接、全卷积与局部卷积 5.20 局部卷积的应用 5.21 NetVLAD池化 参考文献 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 我们首先了解一个概念&#xff0c…

Office办公软件之Excel的使用(一)

1、“开始”菜单中的部分属性 2、制作斜线表头 ctrl1,弹出设置单元格格式&#xff0c;选择“边框”&#xff0c;点击右下角有斜线的即可。 3、冻结窗口 一般冻结首列或首行&#xff0c;当我们翻页的时候&#xff0c;也能看到每一行的描述。 4、快捷键 1、 Ctrl1 设置单元格格…

【Java基础知识总结 | 第十篇】HashSet底层实现原理

文章目录 10.HashSet底层实现原理10.1HashSet特点10.2HashSet源码10.3 add流程10.4总结 10.HashSet底层实现原理 10.1HashSet特点 存储对象&#xff1a;HashSet 存储对象采用哈希表的方式&#xff0c;它不允许重复元素&#xff0c;即集合中不会包含相同的元素。当向 HashSet …

C语言实现快速排序算法

1. 什么是快速排序算法 快速排序的核心思想是通过分治法&#xff08;Divide and Conquer&#xff09;来实现排序。 算法的基本步骤是: 1. 选择一个基准值&#xff08;通常是数组中的某个元素&#xff09;&#xff0c;将数组分成两部分&#xff0c;使得左边的部分所有元素都小于…