【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 + b

def 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:
	代码段1
	if 判断条件2:
		代码段2
else:
	代码段3
	if 判断条件3:
		代码段4
	else:
		代码段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 循环条件:
	代码段1
	if 判断条件:
		break
	代码段2
for 循环变量 in 目标:
	代码段1
	if 判断条件:
		break
	代码段2

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

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

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

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

csdn

🧸结尾


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

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

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

相关文章

MySQL基本查询与内置函数

目录 聚合函数 分组查询 内置函数 日期函数 字符串函数 数学函数 聚合函数 COUNT:返回查询到的数据的数量 SUM:返回查询到的数据的总和(数字) AVG:返回数据的平均值 MAX:返回查询到的数据的最大值 MIN&a…

微软MFC技术中消息的分类

我是荔园微风,作为一名在IT界整整25年的老兵,今天来聊聊MFC技术中消息的分类。 微软Windows中的消息虽然很多,但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息。 窗口消息 窗口消息是系统中最为常见…

离线环境下安装微软Visual Studio 2022 生成工具

1. 前言 最近,在学习cython的时候,需要安装windows下的C/C编译、链接工具。开始觉得传统的msvc太大了,想要尝试Mingw,但是都是编译错误。无奈之下,还是要安装msvc。 微软提供了Visual Studio 2022 Build Tools &…

12.JavaWeb-Node.js+创建Vue项目

1.Node.js的概念 传统的Web服务器中,每个请求都会创建一个线程,这会导致线程数的增加,从而影响服务器的性能和扩展性,Ryan Dahl借助Chrome的V8引擎提供的能力实现了Node.js——可以在服务端运行的JavaScript(可以把Nod…

高数(下) 第九章:多元函数微分学 及其应用

文章目录 Ch9. 多元函数微分学 及其应用(一) 二重极限(二元函数的极限)(二) 多元函数的连续性(三) 偏导数1.偏导数的定义2.二阶混合偏导数相等3.变限积分求偏导 (四) 二元可微:全增量、全微分(五) 多元复合函数 求导法则(六) 多元隐函数 的求…

Mac如何在终端使用diskutil命令装载和卸载推出外接硬盘

最近用 macOS 装载外接硬盘的时候,使用mount死活装不上,很多文章也没详细的讲各种情况,所以就写一篇博客来记录一下。 如何装载和卸载硬盘(或者说分区) mount和umount是在 macOS 上是不能用的,如果使用会…

R语言——字符串处理

paste(abc, def, gh, sep ) #粘贴字符串 substr(abcdefg, 2, 3) # 取特定字符串 gsub(abc, , c(abc, abcc, abcbc)) # 将字符串中abc替换为空 strsplit(a;b;c, ;, fixed T) # 按照;切分字符串 strsplit(a222b2.2c, 2.2, fixed F) # 按照正则表达式分隔,这里的.是…

解放运营人员:钡铼技术S475物联网网关实现养殖环境的远程监控与告警

在养殖行业中,对环境参数的精确监测与控制至关重要。然而,传统的监测方法往往存在诸多痛点,如数据采集不准确、传输速度慢、可视化效果差等。为了解决这些问题,钡铼技术公司推出了其旗舰产品——S475多功能RTU,该产品在…

外包干了2个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

云原生之深入解析K8S的请求和限制

一、Kubernetes 限制和请求 在 Kubernetes 中使用容器时,了解涉及的资源是什么以及为何需要它们很重要。有些进程比其它进程需要更多的 CPU 或内存,这很关键,永远不应该让进程饥饿,知道了这一点,那么应该正确配置容器…

Visual Studio 2017下的C++开发环境搭建

Visual Studio 是Microsoft旗下的开发工具包系列产品,是一个基本完整的开发工具集,它包括整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,是最流行的Windows平台应用程序的集成开发环境。…

【Springboot集成Neo4j完整版教程】

🚀 Neo4j 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,C…

低代码平台的价格范围及购买成本分析

Zoho Creator是一款强大而灵活的低代码应用程序开发平台,可帮助企业快速、高效地创建各种应用程序。但是,很多人可能会担心它的价格问题。在这篇文章中,我们将深入探讨Zoho Creator的定价策略和计划,以帮助您更好地理解其价格结构…

vue+elementui实现联想购物商城,样式美观大方

目录 一、首页效果图对比 1.联想商城首页截图: 2.作者项目效果图: 二、商品详情效果图对比 1.联想官方截图: 2.作者项目截图: 三、项目实现 1.数据分离维护 2.首页推荐列表数据处理 3.商品详情数据动态获取完成交互 4.商品详…

Spring MVC是什么?详解它的组件、请求流程及注解

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将讲解Spring MVC是什么,它的优缺点与九大组件,以及它的请求流程与常用的注解。 目录 一、Spring MVC是什…

「深度学习之优化算法」(十)烟花算法

1. 烟花算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   烟花算法(Firework Algorithm,FWA)是一种受烟花爆炸产生火星,并继续分裂爆炸这一过程启发而得出的算法。算法的思想简单,但具体实现复杂。算法提出时间并不长,但是已经有了不少的改进研究和较为全…

网络安全(黑客)内网渗透基础知识

0x01 内网概述 内网也指局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮件和传真通信服务等功能。 内…

K8s集群部署最新Jenkins 2.387.1

K8s集群部署最新Jenkins 2.387.1 概述环境准备设置存储目录并启动NFS服务安装 NFS 服务端 动态创建 NFS存储(动态存储)部署jenkins服务 概述 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作…

5、架构:通用 Schema 设计

作为前端开发一定会非常熟悉 AST 抽象语法树(Abstract Syntax Tree),当浏览器加载 JS 代码时,它会首先将代码转换为一棵抽象语法树(AST),然后再根据 AST 来渲染对应的 DOM 结构,对于…

[工业互联-16]:工业Windows操作系统与实时性方案

目录 第1章 Windows操作系统 1.1 简介 1.2 Windows架构 第2章 工业Windows操作系统 2.1 简介 2.2 常见的工业Windows操作系统版本 2.3 定制化工业Windows 第3章 EtherCAT实时Windows方案 3.1 实时Windows的缘由 3.2 总体框架 3.3 ROS2方案 3.4 方案1:使…