Python入门级语法详解以及实战练习

news2024/11/23 0:18:03

来源:投稿 作者:起酥松松
编辑:学姐

python基本语法元素

变量命名原则:

  1. 首字符不能是数字;

  2. 中间不能有空格;

  3. 不能是python保留字;

  4. 字母 ,数字 ,汉字 ,下划线及其组合;

  5. 严格区分大小写;

  6. 尽量要有实际意义。

python中的六大变量:

  • Number 数字:整形(int),浮点型(float), 复数(complex)

  • String 字符串:使用引号(单/双)创建字符串 ,为变量分配一个值

# var就是字符串的变量名 ,可以随便定义 ,双引号里面是字符串的内容 ,最后打印的结果就应该是:hello world! var = " hello world!"
print(var)

python访问子字符串可以使用[]来截取字符串

字符串更新可以截取字符串的一部分并与其他字段拼接:

定义多个字符串var1,var2…,最后打印出来可以print(var1+var2…)

字符串的拆分可以按照某个元素对字符串进行切分

转义字符 ,特殊字符:\

字符串运算符 ,注意格式化

  • Tuple 元组:

与列表类似 ,不同之处在于元组的元素不能更改

元组使用小括号() ,列表使用方括号[]

元组的创建只需要在括号中添加元素并使用 ,隔开即可:

# 创建元组
tuple = (1,2,5,4,3)
  • List列表 : 是python中最基本的数据结构 ,列表中的每个值都有对应的位置值 , 称之为索引 ,第一个索引是0,第二个索引是1,依此类推。列表中可以存储任何一 种数据类型!

# 创建一个列表
list = [ 'red ', 'blue ', 'black '] # []里可以是任何一种数据类型 ,此处为字符串
# 用索引输出列表中的所有值
# [start :end :step) 左闭右开
# 可以只写起始位置如list[1:],默认索引到最后一个位置
list[0:-1] # 会输出[ 'red ', 'blue ']
# 索引元素 ,进行更改
list[1] = "green" # 更改列表中的第2个元素为green
# 关键字in, 判断一个元素是否在list中
yello in list # 如果元素在列表中会输出True,反之输出False
# 嵌套
list3 = [list, list2]
# 比较列表
import operator
a = [1,2]
b = [1,2]
c = [3,4]
print(operator,eq(a,b)) # 用eq函数 ,如果两个列表相同会返回True,反之不同返回False
# 插入
list.insert(1, 'yello ') # list.insert(索引 ,插入的内容)
# 排序
list2 = [1,5,9,2,8,6]
list2 .sort() # 这样写可以看到排序后的结果
# 默认是升序 ,如果想改成降序 , list2 .sort(reverse = True))
# print(list2 .sort()) # sort会进行排序但是该函数没有返回值 ,这一步会输出None

「列表的各种操作:」

  • Dictionary 字典 : 可变容器模型 ,可存储任意类型对象

字典的存储单元是成对出现的(key:value)对用冒号 :分割 ,每个对之间用逗号 ,分割 ,整个字典包含在{}中

# 创建字典
dictionary = {1: 'red ',2: 'blue ',3: 'pink '}

字典中 ,键必须是唯一的 ,但是值可以不唯一 ,且可以取任何数据类型。但键必须是不可变的数据类型 ,如字符串 ,数字

「字典的各种操作:」

  • Set 集合 : 可以使用{}或者set()函数创建集合 ,注意:创建空集合必须用set() 而不是{},因为{}是用来创建空字典的

集合的性质之—是存放不重复的元素 ,因此可以用于去重功能

「集合的各种操作:」

可变数据类型:List,Dictionary,Set

不可变数据类型:Tuple,Numbers,String

程序控制结构:

python中的运算符:

  • 比较运算符:用于将运算符两边的值或表达式进行比较

==, !=,<>, >, <, > =, < =等

# 判断两边的值是否相等
a = 10
b = 5
result1 = (a == b)
print(result1) # 输出结果应为False

等号(=)是赋值运算符 ,用于将其右边的值赋给左边的变量 ,每一条赋值语句 ,都是先运算右边 ,然后再将右边的结果赋给左边的变量

  • 关系运算符(也叫逻辑运算符) :用于执行布尔值的运算

and 布尔“与 ”,or 布尔”或 ”,not 布尔“非 ”

  • 算术运算符:用于数学运算

+, -, *,/,%(求余) , **(求幂) ,//(取整除 ,即返回商的整数部分)

  • 赋值运算符:用于将等号右边表达式的值保存到等号左边的变量中

=,+=, -=, *=,/=,%=

例:a+=b等价于a=a+b依此类推

  • 成员运算符:用于判断某个值是否存在于序列(列表 ,元组 ,字符 串) 中

in,not in

a = 10
b = 5
nums = [1,2,3,4,5] #定义⼀个列表
print(a in nums)
print(b in nums)
# 输出结果应为False, True
  • 身份运算符:用于判断两个变量的引用对象是否是同一个

is, is not

python中的判断语句:

if(如果) ,if else(如果 ,否则) ,if elif else(如果1,如果2,否则)

1.# 判断成年还是未成年
age = 20
print("开始判断")
if age >= 18:
print("已成年")
else:
print("未成年")
2.# 多项选择
score = 70
if score >= 90 and <= 100:
print("Level A")
elif score >=80 and <= 90:
print("Level B")
elif score >=70 and <= 80:
print("Level C")
elif score >=60 and <= 70:
print("Level D")
else:
print("不及格")

「if嵌套:」当需要满足条件去做事情的这种情况需要使用if, 当满足条件时做事情A,不满 足条件做事情B的这种情况用if else

「情景案例:」乘坐地铁需要先进行安检 ,安检通过才能去检查是否有车票 ,即实际的情况是 某个判断是在另一个判断成立的基础上执行的

python中的循环语句:

while循环:

「while循环的格式是:」

while条件:

  • 条件满足时 ,做的事情1

  • 条件满足时 ,做的事情2

  • 条件满足时 ,做的事情3

i = 0
n = 1
sum = 0
while n < 100 and i < 21:
print("当前是第%d次循环"%(i+1))
sum += n # 等价于sum = sum + n
n += 5
i += 1
print("sum=",sum)
print(sum)

「while中的死循环:」

while True:
print("这是⼀个死循环!")

判断条件一直为True,因此会一直执行while循环 ,然后不断地输出内容。如果想要在 vscode中停止死循环 ,可以按Ctrl+C快捷键

# ⽤while循环写⼀个99乘法表
i = 1
while i <= 9:
j = 1
while j <= 9:
print(i, '*', j, '=', i*j)
j += 1
print('\n')
i += 1

「特别说明:」

  1. 循环内部的语句一定要缩进 ,哪怕只有一条语句

  2. 循环内部的语句中一定要有可以结合判断条件来让循环推出的语句

for循环:

像while循环一样 ,for可以完成循环的功能

而且for循环可以遍历任何序列的项目 ,如一个列表或者一个字符串等

for循环的格式:

for临时变量in列表或者字符串等;

循环条件满足时执行的代码

1.# for临时变量in列表或者字符串等;
# 循环条件满⾜时执⾏的代码
name = 'Chaosong Zhang'
for i in name:
print(i)
2.# 1,2,3,4四个数字,它们之间可以组成互不重复的三位数有⼏个?怎样分布?
count = 0
L = []
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if a!=b and b!=c and a!=c:
count += 1 # 说明找到⼀个结果满⾜
L.append(a*100 + b*10 + c)
print('满⾜条件的三位数有',count,'个,它们分别是:',L)
3.# break,continue
# 只能出现在循环⾥⾯,不能单独使⽤
name = [1,2,3,4]
for i in name:
if i == 4:
break
print(i)

「range的语法:」

for i in range(开始值 ,结束值 ,步长)

「实战题:」水仙花数也被称为自恋数或者自幂数 ,是指一个3位数 ,其各位数上的数字的立 方和等于该数本身 ,比如153=1^3+5^3+3^3

# 定义—个空字符串 ,用来保存水仙花数
result = ""
# 初始化i值
i = 100
while i < 1000:
a = i % 10 # 提取个位数
b = (i/10) % 10 # 提取十位数
b = in t(b) # 舍弃小数部分
c = i / 100 # 提取百位数
c = in t(c) # 舍弃小数部分
if i == a**3 + b**3 + c**3:
result = result + str(i) +
i = i + 1
print(result)

「实现思路:」初始化i值后定义好个位 ,十位和百位 ,随后利用自幂数的定义去输出公式求解

关注下方《学姐带你玩AI》🚀🚀🚀

回复“python”了解更多学习资料

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

【学会动态规划】三步问题(2)

目录 动态规划怎么学&#xff1f; 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后&#xff1a; 动态规划怎么学&#xff1f; 学习一个算法没有捷径&#xff0c;更何况是学习动态规划&#xff0c; 跟我…

骨传导耳机好不好,盘点五款当下最流行的骨传导耳机

其实早在几年前&#xff0c;骨传导耳机就已经出现在大众视野了&#xff0c;由于使用的人数不多&#xff0c;所以一直不温不火的&#xff0c;最近这几年&#xff0c;骨传导耳机的热度才开始兴起&#xff0c;其最大的特点就是&#xff0c;不用入耳佩戴&#xff0c;不用担心运动过…

HOT60-单词搜索

leetcode原题链接&#xff1a;单词搜索 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#…

分体式骨传导,为敏感耳朵打造的舒适体验,南卡OE上手

骨传导蓝牙耳机这两年很受运动玩家的欢迎&#xff0c;不过标准的骨传导耳机用起来并不算方便&#xff0c;最近我看到南卡新推出一种分体式骨传导耳机&#xff0c;叫南卡OE&#xff0c;和普通的骨传导耳机有很大不同。上周我也入手了一款&#xff0c;这几天试了试&#xff0c;感…

基于YOLOv8开发构建目标检测模型超详细教程【以焊缝质量检测数据场景为例】

超详细教程系列在我前面的文章中也有不少的实践记录&#xff0c;感兴趣的话可以自行阅读即可&#xff1a; 《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程》 《基于yolov5-v7.0开发实践实例分割模型超详细…

实现java参数非必传

1、路径参数&#xff1a; PathVariable(required false)实现参数aaa非必传 2、非路径参数&#xff1a; RequestParam(required false) 实现参数aaa非必传 3、实体参数&#xff1a; RequestBody(required false&#xff09;实现实体aaa非必传

Java基础---集合类

目录 典型回答 Collection和Collections有什么区别 Java中的Collection如何遍历迭代 Iterable和Iterator如何使用 为什么不把Iterable和Iterator合成一个使用 哪些集合类是线程安全的 典型回答 什么是集合 集合就是一个放数据的容器&#xff0c;准确的说是放数据对象引用…

32位ARM M0+内核单片机 XL32F001简单介绍,Flash 24K,SRAM 3K

XL32F001 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核&#xff0c;宽电压工作范围的 MCU。嵌入 24Kbytes Flash 和 3Kbytes SRAM 存储器&#xff0c;最高工作频率 24MHz。包含多种不同封装类型多款产品。芯片集成 I2C、SPI、USART 等通讯外设&#xff0c;1 路 12bit ADC…

十六、flex应用练习做淘宝按钮界面

目录&#xff1a; 目标小技巧实现最终代码 一、目标&#xff1a;我们要做一个手机版本的淘宝网&#xff0c;蓝色框住的按钮这部分。 二、 小技巧&#xff1a;如何在网页上看手机版本的页面 首先在网页上打开淘宝网&#xff0c;然后按F12&#xff0c;进入调试状态&#xff1b;&…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(一):为什么要关注损耗?

一个具有极快上升沿的信号输入到真实传输线中&#xff0c;在从传输线输出的时候上升时间会很长。例如&#xff0c;一个上升时间为50ps的信号&#xff0c;在经过一段36inch长&#xff0c;50Ohm传输线后&#xff0c;上升时间增加到1ns。上升时间的退化是由于传输线的损耗&#xf…

C#使用跨平台的PdfSharpCore开源库生成PDF文件

一、需求说明 在进行项目开发中,需要将C#程序的一些文本内容导出为PDF文件(能够根据文本自动分行分页),并且要求这个生成PDF文件的程序是可跨平台的;实现类似效果: 二、需求分析 ①将程序的文本内容导出为PDF文件; ②能够将文本内容自动分行分页【且可添加页眉、页脚、…

记录一次nginx日志偶现502报错排查

背景 之前的业务链路 负载均衡–>nginx–>cvm&#xff08;业务后端node&#xff09; 上云后链路 负载均衡–>nginx–>pod&#xff08;业务后端node&#xff09; 上云后nginx日志隔几个小时就出现一波502&#xff0c;查看nginx的日志有两个特征&#xff0c;就是re…

C# Linq 详解二

目录 概述 七、OrderBy 八、OrderByDescending 九、Skip 十、Take 十一、Any 十二、All 概述 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串&#xff0c;没有编译时类型检查或 IntelliSense 支持。 此外&a…

matlab中画有重影的机器人运动过程【给另一个机器人设置透明度】

1、前言如题 2、参考连接如下 How to plot two moving robot in the same figure and change one of them transparency&#xff1f; - MATLAB Answers - MATLAB Central (mathworks.cn)3、代码&#xff1a;【找到figure中对应对象并设置属性】 % Create two instances of a…

【OJ比赛日历】快周末了,不来一场比赛吗? #07.15-07.21 #7场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-07-15&#xff08;周六&#xff09; #3场比赛2023-07-16…

【多线程初阶】Thread类常见方法以及线程的状态

多线程初阶系列目录 持续更新中 1.第一次认识线程 2.Thread类常见方法以及线程的状态 … 文章目录 多线程初阶系列目录前言1. Thread 类及常见方法1.1 常见构造方法1.2 常见属性1.3 重要方法1.3.1 启动一个线程 ---- start()1.3.2 中断一个线程 ---- interrupt()1.3.3 等待一…

有PMP有没有必要换cspm?未来的发展前景如何?

最近 CSPM 证书很热门&#xff0c;CSPM 相关问题大家都很关心&#xff0c;今天本橘座就给大家全面解答一下 CSPM到底是何方神圣&#xff1f; 文章主要是解答下面几个常见问题&#xff0c;其他问题可以留言或者私信咨询我哦~ 一、什么是 CSPM证书&#xff1f;跟PMP是什么关系&a…

启动、关闭nacos

下载 进入官网 http://nacos.io/zh-cn/ 页面打开后&#xff0c;点击【前往Github】 进入Github页面&#xff0c;往下拖动&#xff0c;找到 latest stable release 选择当时最新的版本下载即可&#xff0c;这里选择.zip的文件下载 安装 Nacos 是免安装的&#xff0c;我们下…

备战秋招008(20230713)

文章目录 前言一、今天学习了什么&#xff1f;二、关于问题的答案1.集合2.JUC02、底层原理03、内存泄漏 总结 前言 提示&#xff1a;这里为每天自己的学习内容心情总结&#xff1b; Learn By Doing&#xff0c;Now or Never&#xff0c;Writing is organized thinking. 目前…

python - leetcode - 64. 最小路径和【经典题解 - 矩阵数组动态规划】

一. 题目&#xff1a;64. 最小路径和 描述&#xff1a; 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例 1&#xff1a; 输入&#…