Python基础系列教程:从零开始学习Python
Python有很多功能强大的机器学习和大数据分析包,适合对大数据和人工智能感兴趣的同学学习。要想了解一门语言,首先需要了解它的语法。本文将介绍Python的一些基础语法,包括数据类型、变量类型、条件控制、循环结构等内容。废话少说,Here we go!
目录
- 快速开始
- Hello, World!
- 数据类型
- 数字 (Number)
- 字符串 (String)
- 常用字符串操作
- 数据结构
- 列表 (List)
- 常用内置函数
- 元组 (Tuple)
- 字典 (Dictionary)
- 常用内置函数
- 集合 (Set)
- 条件判断
- 循环控制
- `for...in`循环
- `while`循环
- `break`和`continue`
- 迭代器和生成器
- 列表生成式
- 生成器
- 迭代器
快速开始
首先,你需要在你的电脑上安装Python。安装过程非常简单,访问Python官网下载适合你系统的版本并安装。安装好后,你可以在命令行中键入命令python
进入交互模式,也可以使用你喜欢的文本编辑器编写Python脚本,然后在命令行中执行。
Hello, World!
几乎所有的编程语言的第一个程序都是打印"hello, world!"。以下是Python中的实现代码:
greeting = input("Enter your greeting: ") # 从键盘中输入
print(greeting) # 打印输入内容
在Python3中,print
后面一定要加括号。你也可以将脚本保存为hello.py
,然后在命令行中执行python3 hello.py
。输出如下:
hello, world!
数据类型
Python的语法简单的一个方面是它不需要声明变量类型。直接用=
给变量赋值后,变量就被创建了。以下是Python中常见的数据类型:
数字 (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)
字符串用单引号' '
或者双引号" "
括起来的任意字符表示。例如:
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
循环。
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)
break
和continue
for i in range(10):if i == 5:breakprint(i)for i in range(10):if i == 5:continueprint(i)
迭代器和生成器
列表生成式
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)
迭代器
from collections import Iterableprint(isinstance([], Iterable)) # 输出:True
print(isinstance(iter([]), Iterable)) # 输出:True
以上是Python3最核心最基本的语法,后面会继续更新Python高级知识,祝大家学习愉快!
相关文章:

Python基础系列教程:从零开始学习Python
Python有很多功能强大的机器学习和大数据分析包,适合对大数据和人工智能感兴趣的同学学习。要想了解一门语言,首先需要了解它的语法。本文将介绍Python的一些基础语法,包括数据类型、变量类型、条件控制、循环结构等内容。废话少说࿰…...
deepl翻译的PDF文档保护密码解除
1、首先将后缀名(.docx)修改为压缩包格式(.zip)。 2、修改解密word加密.py里zip的位置,和新生成的zip的位置和名称 import zipfile import xml.etree.ElementTree as ET import os import shutil# 定义文件路径 zip_file_path rC:\Users\Administrator\Desktop\新…...

LeetCode 算法:二叉树的直径 c++
原题链接🔗:二叉树的直径 难度:简单⭐️ 题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由…...

盘立方期货Kdj幅图指标公式源码
盘立方期货Kdj幅图指标公式源码: N:250; WR1:100-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)),DOT,COLORLIGHTGREEN; EW:EMA(WR1,5); STICKLINE(WR1<20,WR1,20,1,0),COLORYELLOW; STICKLINE(WR1>80,WR1,80,1,0),COLORYELLOW; RSV:(CLOSE-LLV(LOW…...

SkyWalking 极简入门
1. 概述 1.1 概念 SkyWalking 是什么? FROM Apache SkyWalking 分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体…...
本篇内容:ArkTS开发系列之事件(2.8.1触屏、键鼠、焦点事件)
上篇回顾: ArkTS开发系列之导航 (2.7动画) 本篇内容:ArkTS开发系列之事件(2.8.1触屏、键鼠、焦点事件) 一、知识储备 1. 触屏事件:包括点击事件、拖拽事件、触摸事件。 点击事件 Button()....onClick(…...

测试的基础知识大全【测试概念、分类、模型、流程、测试用例书写、用例设计、Bug、基础功能测试实战】
测试基础笔记 Day01阶段⽬标⼀、测试介绍⼆、测试常⽤分类2.1 阶段划分单元测试集成测试系统测试验收测试 2.2 代码可⻅度划分⿊盒测试:主要针对功能(阶段划分->系统测试)灰盒测试:针对接⼝测试(阶段划分->集成测…...

Power Apps
目录 一、引言1、Power Apps2、应用场景3、Power Apps的优势与前景4、补充 二、数据源介绍1、SharePoint2、Excel3、Dataverse4、SQL5、补充(1)OneDrive 三、Power Apps应用类型1、画布应用2、模型驱动应用3、网站 Power Pages 四、Power Automate五、Po…...
qt图像处理-将OpenCV的cv::Mat类型转换为QImage类型
在使用Qt进行图像处理时,经常需要将OpenCV的cv::Mat类型转换为QImage类型。以下是几种有效的方法,可以根据具体情况选择合适的方法进行转换。 方法一:直接使用QImage构造函数 这种方法直接使用QImage的构造函数,通过传递cv::Mat的指针和相关参数来创建QImage对象。这种方…...
代码随想录训练营第十八天 530二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先
第一题: 原题链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路: 使用中序遍历的方式:左中右。 定义一个pre节点来存放当前节点的前一个节点。 在中序的时候处理递归逻辑: 首先先向…...

微信小程序之横向列表展示
效果图 参考微信小程序可看 代码: <view class"lbtClass"><view class"swiper-container"><scroll-view class"swiper" scroll-x"true" :scroll-left"scrollLeft"><block v-for"(six…...

无人机巡检小羊仿真
详细视频地址 仿真效果 可视化三维仿真 gazebo物理仿真 px4 飞控仿真 仿qgc简易地面站 详细视频地址...
springboot redission 分布式锁
Spring Boot中使用Redisson实现分布式锁的方法如下: 1. 首先,需要在项目中引入Redisson依赖。在pom.xml文件中添加以下依赖: xml <dependency> <groupId>org.redisson</groupId> <artifactId>redisson<…...
Vuex中的重要核心属性
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 Vuex 的核心属性包括: State: State 是 Vuex 存储数据的地方,类似于组件中的 data。它…...
Redis哨兵集群搭建
一、安装Redis 1.安装依赖 yum install -y gcc tcl2.将Redis压缩包解压到对应的目录 tar -zxvf redis-2.8.0.tar.gz mv redis-2.8.0 /usr/local3.编译 cd /usr/local/redis-2.8.0 make && make install4.配置redis.conf # 任意ip都可以访问 bind 0.0.0.0 # 关闭保…...
网络爬虫requests库使用指南
目录 引言 安装requests库 基本用法 发送GET请求 发送POST请求 处理请求头和Cookies 设置请求头 使用Cookies 会话管理 异常处理 流式上传和下载 结语 引言 在Python中进行HTTP请求时,requests库是一个强大且易于使用的第三方库。它允许你发送各种HTTP请…...
VSCODE 配置C++ 与OPENCV
主要是两个json设置 c_cpp_properties.json {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],&qu…...

C语言小例程28/100
题目:利用递归方法求5!。 程序分析:递归公式:fnfn_1*4! #include <stdio.h>int main() {int i;int fact(int);for(i0;i<6;i){printf("%d!%d\n",i,fact(i));} } int fact(int j) {int sum;if(j0){sum1;} else {sumj*fac…...

WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定
WPF文本绑定显示格式StringFormat设置 特殊格式设置日期/时间使用系统默认样式自定义格式: 绑定多个属性(多重绑定)多重绑定中的特殊字符示例: 特殊格式设置 在Textblock等文本控件中,我们经常要显示一些日期和时间&a…...

Java包介绍
今天看jdk文档,顺便写一下java几个包的作用。 java.applet 主要用于创建java applet小应用程序,可以嵌入到网页中能够呈现出特殊的效果,现在基本已经被废弃,很少使用。 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...