【Python】Python基础知识总结

🎉欢迎来到Python专栏~Python基础知识总结


  • ☆* o(≧▽≦)o *☆~我是小夏与酒🍹
  • 博客主页:小夏与酒的博客
  • 🎈该系列文章专栏:Python学习专栏
  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️
    图标

CSDN

🎉 目录-Python基础知识总结

  • 一、说明
  • 二、基础语法
    • 2.1 缩进规则
    • 2.2 函数
    • 2.3 数据类型
    • 2.4 顺序语句结构
    • 2.5 条件和分支
    • 2.6 循环

遇见未来

一、说明

Python技能树:Python入门技能树。
版本:Python 3.10。
IDE:PyCharm。

二、基础语法

2.1 缩进规则

🔸缩进对程序的影响

1、缩进不符合规则,解析器会报缩进错误,程序无法运行。
2、缩进的位置不同,程序执行的效果也可能产生差异。

🔸缩进量与缩进字符
Python可以使用空格或制表符(Tab符)标记缩进。缩进量(字符个数)不限。

A、空格和tab符通常都以空白形式显示,混用不容易区分,影响代码阅读,增加维护及调试的困难。 因此 Python PEP8 编码规范,指导使用4个空格作为缩进。
B、实际开发,代码规模较大,缩进深度的影响,会选择2个空格做为缩进,更易于阅读。

2.2 函数

🔸基本内置函数

Python语言中自带的函数叫做内建函数,这些内建函数对大部分常用操作进行有效封装,可以直接调用,为开发提供了极大便利。由于内建函数是Python语言内置的函数,因此不需要导入任何函数库即可直接调用。

内建函数:内建函数也叫内置函数,即系统已经定义好的函数,开发者可以直接调用。

参考链接:python常见的内置函数。

在Python语言中,除内建函数外的其他类型函数通常被称为第三方函数。
🔸第三方函数一般是由其它开发者或组织针对某些特定需求编写的函数库,并共享给大家使用。Python语言的强大功能,也正是得益于其丰富的第三方函数库。不管是内建函数,还是第三方函数,在Python语言中都可以非常方便的使用。
🔸要成功调用一个内建函数或第三方函数,首先需要知道的是该函数的准确名称和参数列表信息。如求绝对值的内建函数abs()有一个数值类型参数。

例如通过大族机器人官方给出的SDK来控制机械臂进行运动:

from CPS import CPSClient# 定义运动类型
nMoveType = 0
# 定义工具坐标变量
sTcpName = "TCP"
# 定义用户坐标变量
sUcsName = "Base"
# 定义运动速度
dVelocity = 120
# 定义运动加速度
dAcc = 50
# 定义过渡半径
dRadius = 50
# 定义是否使用关节角度
nIsUseJoint = 1
# 定义是否使用检测 DI 停止
nIsSeek = 0
# 定义检测的 DI 索引
nIOBit = 0
# 定义检测的 DI 状态
nIOState = 0
# 定义路点 ID
nstdCmdID = "0"if __name__ == '__main__':#声明对象cps = CPSClient()#创建连接cps.HRIF_Connect(0, '192.168.0.10', 10003)#读取当前状态机result = []cps.HRIF_ReadCurFSM(0,0,result)#如果当前为去使能状态则上使能if result[0] == '24':cps.HRIF_GrpEnable(0,0)#等待上使能完成while 1:#上使能需要时间,持续判断状态机,直到达到机器人就绪状态为止cps.HRIF_ReadCurFSM(0,0,result)print(result)if result[0] == '33':break#循环执行[0,0,90,0,90,0]与[90,0,90,0,90,0]两点间的运动while 1:# 坐标点对应关节顺序为从下到上#复位程序cps.HRIF_WayPoint(0, 0, nMoveType, [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], sTcpName, sUcsName, dVelocity,dAcc, dRadius, nIsUseJoint, nIsSeek, nIOBit, nIOState, nstdCmdID)# 等待运动完成cps.waitMovementDone(0, 0, [0, 0])cps.HRIF_WayPoint(0, 0, nMoveType, [0, 0, 0, 0, 0, 0], [40, 35, 40, 65, 50, 0], sTcpName, sUcsName, dVelocity, dAcc, dRadius, nIsUseJoint, nIsSeek, nIOBit, nIOState, nstdCmdID)#等待运动完成cps.waitMovementDone(0, 0, [0, 0])cps.HRIF_WayPoint(0, 0, nMoveType, [0, 0, 0, 0, 0, 0], [90, 0, 90, 0, 90, 0], sTcpName, sUcsName, dVelocity,dAcc, dRadius, nIsUseJoint, nIsSeek, nIOBit, nIOState, nstdCmdID)#等待运动完成cps.waitMovementDone(0, 0, [0, 0])cps.HRIF_WayPoint(0, 0, nMoveType, [0, 0, 0, 0, 0, 0], [-90, 0, 90, 0, 90, 0], sTcpName, sUcsName, dVelocity,dAcc, dRadius, nIsUseJoint, nIsSeek, nIOBit, nIOState, nstdCmdID)#等待运动完成cps.waitMovementDone(0, 0, [0, 0])

效果展示见如下视频:

Python_SDK 控制大族机器人机械臂

🔸定义函数需要符合的规则

简单函数的定义:

def print_Hi(str):print("Hi,",str)print_Hi("Python")

输出结果:

Hi, Python

📜通常情况下,在Python语言中定义一个具有特定功能的函数需要符合以下规则:

  • 函数代码块以def关键字开头,后接函数标识符名称和形参列表;
  • 任何传入的参数和自变量必须放在圆括号内;
  • 函数的第一行语句可以选择性地使用文档字符串(即函数说明);
  • 函数内容以冒号起始,并且严格统一缩进;
  • 函数都有返回值,默认返回None。

关于形参和实参:
在编程语言中,函数定义时用的是形参,调用时用的是实参。
🔸形参(parameter),全称为"形式参数",不是实际存在的变量,又称虚拟变量。形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数
🔸实参(argument),全称为"实际参数",是在调用时传递给函数的参数。实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。
🔸形参和实参的功能是数据传送。
在调用函数时,实参将赋值给形参。必须注意实参的个数、类型应与形参要一一对应,并且实参必须要有确定的值。形参的作用域一般仅限函数体内部,而实参的作用域根据实际设置而定

🔸函数的返回值

  • 函数的返回值是函数执行完成后,系统根据函数的具体定义返回给外部调用者的值。

  • 在实际开发中,有时不仅仅要执行某个函数的功能,而且还需要把该函数的执行结果作为其他函数或功能的计算单元。所以,函数返回值是非常有用的。

  • 在Python语言中,当函数运行到return语句时即执行完毕,同时将结果返回。因此,可以在函数内部通过条件判断和循环设置实现较复杂的逻辑,并返回预期的结果。如果没有return语句,函数体内所有语句执行完毕后默认返回None。

例如:

def Adder(a,b):return a + bdef Suber(a,b):c = abs(a - b)result = Suber(1,2)print(Adder(1,4))
print(result)

输出结果:

5
None

关于函数的参数、高阶函数和匿名函数会在后续的文章中讲解。

2.3 数据类型

和其他编程语言相比,Python语言中的变量不需要显示数据类型的声明,Python的变量类型是根据变量的赋值内容而自动生成的。

Python 六大数据类型:
🔸数字: 包含int(整型)、long(长整型,但python3中已经没有了,python3中只有int)、complex(复数)、float(浮点型)、bool(布尔型)。
🔸字符串(String): 比如:“hello world”,“python”。
🔸列表(List): 比如:[1,2,3,4],[’a‘,‘b’,‘c’,‘d’]。
🔸字典(Dictionary):例如:{“name”:“poge”,“age”:30}。
🔸元组(Tuple): 例如:(1,‘hello’,3)。
🔸集合(Set):例如:{’a‘,’b‘,’c‘,’d‘}。

2.4 顺序语句结构

顺序结构是最简单也是最常见的一种结构,采用顺序结构的程序通常按照由前到后的顺序执行各个语句,直到程序结束,结构如下所示:

开始
代码段1
代码段2
代码段3
顺序结构

2.5 条件和分支

🔸单分支选择结构:

if 判断条件:代码段
  • 若if语句中的判断条件成立,执行if语句后的代码段;
  • 若判断条件不成立,则跳过if语句后的代码段。
  • 单分支结构中的代码段只有“执行”与“跳过”两种情况

🔸双分支选择结构:

if 判断条件:代码段1
else:代码段2
  • 若if语句中的判断条件成立,执行代码段1
  • 若判断条件不成立,则执行代码段2

🔸多分支选择结构:

if 判断条件1:代码段1
elif 判断条件2:代码段2
......
elif 判断条件n:代码段n
else:代码段n+1

🔸选择结构的嵌套:

if 判断条件1:代码段1if 判断条件2:代码段2
else:代码段3if 判断条件3:代码段4else:代码段5

2.6 循环

🔸while循环:

while 循环条件:代码段
  • 若循环条件为True,则循环执行while循环中的代码段;
  • 若循环条件为False,终止while循环。
  • 若while循环的条件总是True,这种情况叫做死循环 。

🔸for循环:

for 循环变量 in 目标代码段
  • 目标可以是字符串、文件、range()函数或组合数据类型等;
  • 循环变量用于保存本次循环中访问到的遍历结构中的元素;
  • for循环的循环次数取决于遍历的目标元素个数。
#遍历字符串中的每个字符
string = input("请输入一个字符串:")
for c in string:print(c)
#计算1+2+3+...+9+10的和
sum = 0
for x in range(11):sum = sum + x
print(sum)
#输出结果:55

🔸循环控制语句:
在循环语句中,有时候需要达到中断循环,或者跳过本次循环,执行下次循环的情况,因此就需要有循环控制语句。

python中使用break、continue语句控制循环的执行过程。
✨break语句:
break用于跳出整个循环。

while 循环条件:代码段1if 判断条件:break代码段2
for 循环变量 in 目标:代码段1if 判断条件:break代码段2

✨continue语句:
continue用于跳出本次循环,继续执行下次循环。

while 循环条件:代码段1if 判断条件:continue代码段2
for 循环变量 in 目标:代码段1if 判断条件:continue代码段2

✨pass语句:
pass的意思是过,pass掉就是淘汰掉的意思。
在python中,pass的意思是空语句,pass语句不做任何事情,只是为了保持程序结构的完整性。

关于循环语句的讲解,详细参考:Python基础-循环语句(while循环与for循环)。

csdn

🧸结尾


  • ❤️ 感谢您的支持和鼓励! 😊🙏
  • 📜您可能感兴趣的内容:
  • 【FPGA零基础学习之旅#9】状态机基础知识
  • 【FPGA零基础学习之旅#8】阻塞赋值与非阻塞赋值讲解
  • 【Arduino TinyGo】【最新】使用Go语言编写Arduino-环境搭建和点亮LED灯
  • 【全网首发开源教程】【Labview机器人仿真与控制】Labview与Solidworks多路支配关系-四足爬行机器人仿真与控制
    遇见未来

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

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

相关文章

线程本地变量交换框架-TransmitterableThreadLocal(阿里开源)

上文 :秒级达百万高并发框架-Disruptor TransmitterableThreadLocal介绍 TransmitterableThreadLocal简称TTL 是阿里巴巴开源的一个框架。TransmittableThreadLocal是对Java中的ThreadLocal进行了增强和扩展。它旨在解决在线程池或异步任务调用链中,Thre…

【DASOU视频记录】Transformer从零详细解读

文章目录 来源transformer的全局理解位置编码多头注意力机制残差Batch NormalLayer NormalDecoder 来源 b站链接 transformer的全局理解 输入中文,输出英文 细化容易理解的结构,就是先编码,再解码 进一步细化的结构,就是多个编…

ARM异常处理详解

前言: 学习一门处理器最重要的就是掌握该处理器的指令集和异常处理。 异常概念: 处理器在正常执行程序时可能会遇到一些不正常的事件发生,这时处理器就要将当前的程序暂停下来转去处理这个异常的事件,异常处理后再返回到被异常打…

Windows下PaddleOCR用NCNN部署

1.所用到的ncnn格式的模型文件 要问这些模型哪里来的,请看下面提示信息: 2.查看字典函数读取方法 char* readKeysFromAssets() {std::ifstream ifs("./model/paddleocr_keys.txt");if (!ifs.is_open()){return 0;}ifs.seekg(0, std::ios_base::end);int …

以太网数据链路层相关技术(六)

目录 一、概述 二、MAC地址 2.1 概述 2.2 MAC地址的意义 三、共享介质型网络与非共享介质网络 四、VLAN技术 一、概述 在各设备之间的数据传输时,物理层和数据链路层是必不可少的。其中,物理层的通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及…

1763_gcc编译c语言makefile自动生成工具的Perl实现_Linux

全部学习汇总: GreyZhang/g_makefile: Learn makefile from all kinds of tutorials on the web. Happy hacking and lets find an common way so we may dont need to touch makefile code any more! (github.com) 其实,调试完这个之后觉得之前Windows上…

docker环境部署postgres版本nacos

1、docker安装postgres 执行命令:docker pull postgres 拉取最新版postgres 2、查看postgres镜像是否安装成功: docker imags(查看镜像),可以看到已经拉取到了最新版本 的postgres镜像 3、编辑一个docker-compose.yml文件,账号是postgres&a…

DynaSLAM 2018论文翻译

Dynaslam:动态场景下的跟踪、建图和图像修复 摘要-场景刚性假设是SLAM算法的典型特征。这种强假设限制了大多数视觉SLAM系统在人口稠密的现实环境中的使用,而这些环境是服务机器人或自动驾驶汽车等几个相关应用的目标。 在本文中,我们提出了一个基于ORB…

【网络安全带你练爬虫-100练】第11练:xpath快速定位提取数据

目录 一、目标1:使用etree解析数据 二、目标2:使用xpath爬取指定数据 三、目标3:提取指定数据 四、网络安全小圈子 一、目标1:使用etree解析数据 其余的不用过多介绍,前面的练习都给大家已经过了一遍 def get_page…

Skywalking高级使用

Skywalking高级使用 RPC调用监控Mysql调用监控Skywalking常用插件获取追踪ID过滤指定的端点告警功能Skywalking原理Open Tracing介绍 RPC调用监控 Skywalking(6.5.0)支持的RPC框架有以下几种: (1) Dubbo 2.5.4 -> 2.6.0 (2) Dubbox 2.8.4 (3) Apache Dubbo 2.7.…

Windows mingw64 最简易 安装配置

其实挺简单一件事 很多教程都搞复杂了 自己写一个 只需要两步 1. 下载压缩包并解压 2. 配置环境变量 (1). GitHub 下载地址 Releases niXman/mingw-builds-binaries GitHub 如果GitHub下载太慢可以来这里加速 或者用地址2 GitHub Proxy 代理加速 (ghproxy.com) (2). 下…