Python基础系列教程:从零开始学习Python

Python有很多功能强大的机器学习和大数据分析包,适合对大数据和人工智能感兴趣的同学学习。要想了解一门语言,首先需要了解它的语法。本文将介绍Python的一些基础语法,包括数据类型、变量类型、条件控制、循环结构等内容。废话少说,Here we go!
Coverview blog cover.png

目录

    • 快速开始
      • Hello, World!
    • 数据类型
      • 数字 (Number)
      • 字符串 (String)
        • 常用字符串操作
    • 数据结构
      • 列表 (List)
        • 常用内置函数
      • 元组 (Tuple)
      • 字典 (Dictionary)
        • 常用内置函数
      • 集合 (Set)
    • 条件判断
    • 循环控制
      • `for...in`循环
      • `while`循环
      • `break`和`continue`
    • 迭代器和生成器
      • 列表生成式
      • 生成器
      • 迭代器

快速开始

首先,你需要在你的电脑上安装Python。安装过程非常简单,访问Python官网下载适合你系统的版本并安装。安装好后,你可以在命令行中键入命令python进入交互模式,也可以使用你喜欢的文本编辑器编写Python脚本,然后在命令行中执行。
image.png

Hello, World!

image.png

几乎所有的编程语言的第一个程序都是打印"hello, world!"。以下是Python中的实现代码:

greeting = input("Enter your greeting: ")  # 从键盘中输入
print(greeting)  # 打印输入内容

在Python3中,print后面一定要加括号。你也可以将脚本保存为hello.py,然后在命令行中执行python3 hello.py。输出如下:

hello, world!

数据类型

Python的语法简单的一个方面是它不需要声明变量类型。直接用=给变量赋值后,变量就被创建了。以下是Python中常见的数据类型:
image.png

数字 (Number)

Python支持整数(int),浮点型(float),布尔型(bool)以及复数型(complex)。可以用type()函数来判断变量类型:

a, b, c, d = 10, 5.5, False, 2+5j
print(type(a))  # 输出:<class 'int'>
print(type(b))  # 输出:<class 'float'>
print(type(c))  # 输出:<class 'bool'>
print(type(d))  # 输出:<class 'complex'>

字符串 (String)

image.png

字符串用单引号' '或者双引号" "括起来的任意字符表示。例如:

str1 = 'hello, world'
str2 = "hello, world"
常用字符串操作
  • 切片:字符串可以方便地截取其中一部分。索引从0开始,负索引从-1开始。
str = "python"
print(str[0])     # 输出:p
print(str[2:4])   # 输出:th
  • 连接和复制:用+连接两个字符串,用*复制字符串。
str1 = "hello"
str2 = "world"
print(str1 + " " + str2)  # 输出:hello world
print(str1 * 3)           # 输出:hellohellohello
  • 多行输出:用'''...'''格式输出多行字符串。
print('''line1
line2
line3''')
  • 格式化输出:类似C语言的printf
name = "Mike"
age = 16
print("My name is %s and I'm %d years old" % (name, age))

数据结构

列表 (List)

列表是Python中最重要的类型之一,用方括号[]表示,元素用逗号隔开。列表的常用操作包括:

list = [10, "python", 8.2]
list1 = list[0:2]
list2 = list[1:]
list3 = list * 2
print("python" in list)  # 输出:True
常用内置函数
list = [10, 20, 30, 40]
print(len(list))   # 列表长度
print(max(list))   # 最大值
print(min(list))   # 最小值
list.append(50)    # 添加元素
list.pop()         # 删除末尾元素
print(list)

元组 (Tuple)

元组和列表类似,但元组中的元素不能修改,用小括号()表示。

tuple1 = (8, "tuple", 6.6)
print(tuple1[1])  # 输出:tuple

字典 (Dictionary)

字典是无序的键值对集合,用大括号{}表示。

dic = {"name": "John", "age": 25}
print(dic["name"])  # 输出:John
常用内置函数
dic = {"name": "John", "age": 25}
print(dic.keys())    # 输出所有键
print(dic.values())  # 输出所有值
dic.pop("age")       # 删除键"age"
print(dic)

集合 (Set)

集合是无序且不重复的元素集合,用大括号{}或者set()函数创建。

num = {1, 2, 3, 4}
num.add(5)         # 添加元素
num.remove(3)      # 删除元素
print(num)

条件判断

条件判断非常简单,例如:

num = 10
if num > 0:print("positive number!")
elif num < 0:print("negative number!")
else:print("zero!")

循环控制

Python主要有两种循环:for...in循环和while循环。
image.png

for...in循环

可以遍历列表、元组、字符串等。

names = ["John", "Mike", "Bob"]
for name in names:print(name)sum = 0
for i in range(101):sum += i
print(sum)

while循环

n = 10
sum = 0
while n > 0:n -= 1sum += n
print(sum)

breakcontinue

for i in range(10):if i == 5:breakprint(i)for i in range(10):if i == 5:continueprint(i)

迭代器和生成器

image.png

列表生成式

list1 = [2 * a for a in range(10)]
list2 = [a * b for a in range(3) for b in range(4)]
list3 = [2 * a for a in range(10) if a % 2 == 1]
print(list1)
print(list2)
print(list3)

生成器

generator1 = (2 * a for a in range(10))
for n in generator1:print(n)def cube(num1, num2):for i in range(num1, num2):yield i ** 3g = cube(3, 8)
for n in g:print(n)

迭代器

image.png

from collections import Iterableprint(isinstance([], Iterable))           # 输出:True
print(isinstance(iter([]), Iterable))     # 输出:True

以上是Python3最核心最基本的语法,后面会继续更新Python高级知识,祝大家学习愉快!

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

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

相关文章

第二十四节:带你梳理Vue2 : Vue具名插槽/作用域插槽/v-slot指令

1. 具名插槽 1.1 没有使用具名插槽的问题 有的时候我们在使用子组件时,在子组件模板上不同的位置插入不同的内容, 只有一个插槽显然没法满足我们的需求,看示例: 需求如下: 子组件是一篇文章的结构父组件在调用子组件是给文章插入标题,正文,时间信息 示例代码如下: <di…

【强化学习的数学原理】课程笔记--1(基本概念,贝尔曼公式)

目录 基本概念State, Action, State transitionPolicy, Reward, Trajectory, Discount ReturnEpisodeMarkov decision process 贝尔曼公式推导确定形式的贝尔曼公式推导一般形式的贝尔曼公式State ValueAction Value 一些例子贝尔曼公式的 Matric-vector form贝尔曼公式的解析解…

Elasticsearch 索引与文档操作实践指南

上节我们部署了elasticsearch8.4.1和kibana8.4.1以及ik分词器&#xff0c;本节我们来学习下elasticsearch的相关索引&#xff0c;文档操作。 首先我们kinana的主界面找到开发者工具在里面我们来编写相关操作。 标题查看集群情况 GET /_cluster/health详细解释&#xff1a; …

云计算【第一阶段(18)】磁盘管理与文件系统 分区格式挂载(一)

目录 一、磁盘基础 二、磁盘结构 2.1、机械硬盘 2.2、固态硬盘 2.3、扩展移动硬盘 2.4、机械磁盘的一些计算&#xff08;了解&#xff09; 2.5、磁盘接口类型 二、Linux 中使用的文件系统类型 2.1、磁盘分区的表示 2.1.1、主引导记录(MBR) 2.1.2、Linux中将硬盘、分…

【十二】图解 Spring 核心数据结构:BeanDefinition

图解 Spring 核心数据结构&#xff1a;BeanDefinition 简介 使用spring框架的技术人员都知道spring两个大核心技术IOC和AOP&#xff0c;随着投入更多的时间去学习spring生态&#xff0c;越发觉得spring的发展不可思议&#xff0c;一直都是引领着Java EE的技术变革&#xff0c;这…

麒麟信安系统关闭core文件操作

在使用麒麟信安系统时&#xff0c;如果应用程序运行过程中崩溃了&#xff0c;此时并不会导致内核崩溃&#xff0c;只会在tmp目录下产生崩溃数据&#xff0c;如下图 不过tmp目录下的分区容量有限&#xff0c;当崩溃的应用core文件过大时将会占用tmp空间&#xff0c;导致tmpfs分区…

Msql----表的约束

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、表的约束 表的约束&#xff1a;表中一定要有约束&#xff0c;通过约束让插入表中的数据是符合预期的。它的本质是通过技术手段&#xff0c;让程序员插入正确的数据&#xff0c;约束的最终目标是保证…

NAPI篇【4】——NAPI应用点亮一个LED

OpenHarmony的NAPI功能为开发者提供了JS与C/C不同语言模块之间的相互访问&#xff0c;交互的能力&#xff0c;使得开发者使用C或者C语言实现应用的关键功能。如操作开发板中某个GPIO节点的状态&#xff08;OpenHarmony并没有提供直接操作GPIO口状态的API&#xff09;&#xff0…

【Flink metric(3)】chunjun是如何实现脏数据管理的

文章目录 一. 基础逻辑二. DirtyManager1. 初始化2. 收集脏数据并check3. 关闭资源 三. DirtyDataCollector1. 初始化2. 收集脏数据并check3. run&#xff1a;消费脏数据4. 释放资源 四. LogDirtyDataCollector 一. 基础逻辑 脏数据管理模块的基本逻辑是&#xff1a; 当数据消…

猫咪也怕油腻?选对猫粮是关键!福派斯鲜肉猫粮守护猫咪健康

亲爱的猫友们&#xff0c;我们都知道&#xff0c;猫咪的饮食健康是每一个铲屎官都非常关心的问题。最近&#xff0c;有些猫友向我反映&#xff0c;他们给猫主子喂食的猫粮油脂比较大&#xff0c;不禁让人担心这对猫咪是否真的好。 1️⃣ 首先&#xff0c;让我们来聊聊油脂在猫粮…

Spring Boot + Vue 全栈开发,都需要哪些前端知识?

Node.js默认安装的npm包和工具的位置&#xff1a;Node.js目录\node_modules 在这个目录下你可以看见 npm目录&#xff0c;npm本身就是被NPM包管理器管理的一个工具&#xff0c;说明 Node.js已经集成了npm工具 #在命令提示符输入 npm -v 可查看当前npm版本 npm -v 二、使用n…

代理IP超时是什么原因?

很多用户在使用代理IP进行网络访问时&#xff0c;可能会遇到代理IP超时的情况&#xff0c;也就是代理IP的延迟过高。代理IP延迟过高会影响用户的网络体验和数据获取效率。因此&#xff0c;了解代理IP延迟过高的原因很重要。以下是导致代理IP延迟过高的一些常见原因&#xff1a;…

FL Studio 21.2.3官方中文版重磅发布,手把手教你图文安装

FL Studio 21.2.3官方中文版重磅发布纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01; 在数字音乐制作领域&#xff0c;FL Studio一直以其强大的功能和用户友好的界面而备受赞誉。随着技术的不断进步和音乐制作需求的日益增长…

Python高压电容导电体和水文椭圆微分

&#x1f3af;要点 &#x1f3af;二维热传导二阶偏微分方程 | &#x1f3af;调和函数和几何图曲率 | &#x1f3af;解潮汐波动方程 | &#x1f3af;解静止基态旋转球体流体运动函数 | &#x1f3af;水文空间插值 | &#x1f3af;流体流动模拟求解器 | &#x1f3af;随机算法解…

泰迪智能科技与成都文理学院人工智能与大数据学院开展校企合作交流

近日&#xff0c;在推动高等教育与产业深度融合的背景下&#xff0c;成都文理学院人工智能与大数据学院携手广东泰迪智能科技股份有限公司开展“专业建设交流会”。人工智能与大数据学院院长胡念青、院长助理陈坚、骨干教师刘超超、孙沛、赵杰、文运、胡斌、邹杰出席本次交流会…

vue项目中dom拖动排序功能实现

vue项目中拖动元素改变其顺序的功能实现 实现此功能&#xff0c;我利用的是SortableJs,其官网上直接介绍其为功能强大的js拖拽库&#xff0c;只需要简单的代码即可实现dom拖拽 1.下载 npm i sortablejs 2.引入 使用时&#xff0c;我们在那个页面中使用&#xff0c;就在该vue文…

【progressBar-js】优雅的 前端进度条 构建!

progressBar-js JS 前端进度条小工具 您可以通过此工具来构建一个有效的工具条&#xff0c;接下来就是一个示例&#xff01; 使用示例 引入 progressBar-js 库 直接在这里将 css 和 js 文件引入进来就算是成功导入了哦&#xff01;&#xff01;&#xff01; <link href&…

文件怎么加密?电脑文件加密,分享5个实用方法

通常情况下&#xff0c;人们对手机数据的保护比对电脑数据更为重视。许多人使用指纹和密码来防止他人窥视聊天记录和照片。然而&#xff0c;电脑上的数据却常常被忽视。大多数用户仅设置了电脑登录密码&#xff0c;认为这样就足以保护电脑和其中的文件。然而如果你也是这样认为…

hex、bin、elf、s19等文件格式介绍以及格式转换

文章目录 前言一、bin文件二、hex文件数据记录格式扩展线性地址记录(HEX386)格式扩展段地址记录(HEX86)文件结束(EOF)记录三、elf文件四、S19文件五、不同格式之间转换将bin文件转换成hex文件将hex文件转换成bin文件将bin文件转换成s19文件前言 编译器或汇编器将程序的源代码(…

详解三种常用标准化 Batch Norm Layer Norm RMSNorm

参考&#xff1a; BN究竟起了什么作用&#xff1f;一个闭门造车的分析《动手学深度学习》7.5 节 深度学习中&#xff0c;归一化是常用的稳定训练的手段&#xff0c;CV 中常用 Batch Norm&#xff1b; Transformer 类模型中常用 layer norm&#xff0c;而 RMSNorm 是近期很流行…