[深度学习入门]Python基础语法(上)

2023-10-31


一、程序设计基本方法

  1、计算机是根据指令操作数据的设备

  具备功能性可编程两个基本特性。
  ①功能性对数据的操作,表现为数据计算、输入输出处理和结果存储等。
  ②可编程指它可以根据一系列指令自动地、可预测地、准确地完成操作者的意图。
  计算机硬件所依赖的集成电路规模按照摩尔定律以指数方式增长
  计算机所能高效支撑的功能不断丰富发展。
  程序设计语言经历了从机器语言到高级语言的发展过程,朝着更接近自然语言的方向发展。


  2、编程设计语言概述

  编程设计语言包括编译执行解释执行两种方式。
  解释型语言不会产生目标程序。
  机器语言是一种二进制语言,直接使用二进制代码表示指令,是计算机硬件可以直接识别和执行的程序设计语言。
  汇编语言使用助记符机器语言中的指令进行一一对应,在计算机发展早期帮助程序员提高编程效率。
  高级语言是接近自然语言的一种计算机程序设计语言,更容易地描述计算问题并利用计算机解决计算问题。高级应用按照计算机执行方式的不同可分为两类:静态语言脚本语言一般静态语言对应编译,脚本语言对应解释
  编译是将源代码转换成目标代码的过程。通常,源代码是高级语言代码目标代码是机器语言代码执行编译的计算机程序称为编译器
在这里插入图片描述
  ①解释是将源代码逐条转换成目标程序同时逐行运行目标代码的过程。执行解释的计算机程序称为解释器。解释在每次程序运行时都需要解释器和源代码。解释执行需要保留源代码,程序纠错和维护十分方便。只要存在解释器,源代码可以在任何操作系统上运行,可移植性好
  ②编译是一次性翻译,一旦程序被编译,不再需要编译程序或者源代码对于相同源代码,编译所产生的目标代码执行速度最快目标代码不需要编译器就可以运行,在同类型操作系统上与使用灵活


  3、计算机编程

  Python没有花括号,大多采用缩进的方式替代。
  脚本语言+语句执行
  ①如:print(“Hello World!大家好!”)
  ②如:

sum=99999*99999  //第一次赋值时已经为sum声明了类型
print(sum)

  ③如:
在这里插入图片描述

//切片:从序列字符中切出从特定字符开始到指定位置结束中的字符。

  冒号后的字符不能被切出,之前的字符会连同切出。本例中切出的是第0个到第2个元素。

  ④简洁+强制可读性,如:
在这里插入图片描述
  ⑤跨平台+开源,如:
在这里插入图片描述
  Python语言的优势:面向过程+面向对象
  灵活的介绍程序设计理念
  Python语言的优势:图像界面
  Windows窗口
  Python语言的特点:
  Python语言是通用语言、脚本语言、开源语言、跨平台语言、多模型语言


  4、IPO程序编写方法

  输入数据、处理数据、输出数据
  ①输入(Input)是一个程序的开始。程序要处理的数据有多种来源,形成看多种输入方式,包括:文件输入、网络输入、控制台输入、交互界面输出、随机数据输入、内部参数输入等。
  ②处理(Process)是程序对输入数据进行计算产出结果的过程。计算问题的处理方法统称为“算法”,它是程序最重要的组成部分。可以说,算法是一个程序的灵魂
  ③输出(Output)是程序展示运算结果的方式。程序的输出方式包括:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。


  5、使用计算机解决问题

  分析问题:分析问题的计算部分
  划分边界:划分问题的功能边界
  设计算法:设计问题的求解算法
  编写程序:编写问题的计算程序
  调试测试:调试和测试程序
  升级维护:适应问题的升级维护


二、基础知识

1、pyCharm 为人工智能领域常用的IDE


2、Python的简单使用

  在IDLE中,如果使用交互式编程模式,那么直接在提示符>>>后面输入相应的命令并回车执行即可,如果执行顺利的话,马上就可以看到执行结果,否则会抛出异常。


3、Python的对象

  一般情况下,元组是不可修改的;而列表则可以做切片、修改等操作
  对象包括数字、字符串、列表、字典、元组、集合、布尔型、空类型、异常、文件
在这里插入图片描述
在这里插入图片描述


4、Python变量

  在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。
  Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言变量的类型也是随时可以变化的
  isinstance(数值,类型)判断某一个数值是否为某一类型。
  如果变量出现在赋值运算符或复合运算符的左边则表示创建变量或修改变量的值,否则则表示引用该变量的值,这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义的对象中元素的情况。
  字符串和元组属于不可变类型不能通过下标的方式来修改其中的元素值试图修改元组中的值时会抛出异常,可以引用
  在Python中,允许多个变量指向同一个值。x=3,y=3,用id(x)、id(y)获取x和y的存储地址时可以发现相同。然而,当为其中一个变量修改值,其内存地址将会变化,但这不影响另一个变量。Python采用的是基于值的内存管理方式,如果为不同变量赋值为相同值这个值在内存中只有一份,多个变量指向同一块内存地址
  Python具有自动内存管理功能,对于没有任何变量指向的值,Python自动将其删除。Python会跟踪所有的值。因此Python程序员不需要太多考虑内存管理的问题。尽管如此,显式使用del命令删除不需要的值或显式关闭不再需要访问的资源,仍是一个好的习惯。
  在定义变量名时,需注意:

①命名

  变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等)。
  不能使用关键字做变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字。不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名,这将会改变其类型和含义,可以通过dir(builtins)查看所有内置模块、类型和函数。
  变量名对英文字母的大小写敏感,例如student和Student是不同的变量。

②数字

  Python中的整数类型可以分为:
  (1)十进制整数如0、-1、9、123
  (2)十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整数,必须以0x开头,如0x10
  (3)八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,必须以0o开头,如0o35
  (4)二进制整数,只需要2个数字0、1来表示整数,必须以0b开头,如0b101
  浮点数又称为小数,如15.0、0.37、1,2e2、23324.44e-2

③字符串

  用单引号、双引号或三引号(往往用来表示换行或注释)括起来的符号类型称为字符串单引号、双引号或三引号可以相互嵌套,用来表示复杂字符串。字符串属于不可变类型,空串表示为’’或“”。三引号’’’或“”“表示的字符串可以换行,支持排版较为较为复杂的字符串,三引号还可以在程序中表示较长的注释。
在这里插入图片描述
  常用转义字符
在这里插入图片描述


5、运算符和表达式

在这里插入图片描述
  “+“运算符除了用于算术加法以外,还可以用于列表、元组、字符串的连接,但不支持不同类型的对象之间的相加或连接
在这里插入图片描述
  ✳运算符不仅可以用于数值乘法,还可以用于列表、字符串、元组等类型当列表、字符串或元组等类型变量与整数进行”*“运算时,表示对内容进行重复并返回重复的新对象
在这里插入图片描述
  Python中的除法有两种”/”和”//”分别表示除法和整除运算,并且Python2.x和Python3.x对“/”运算符的解释也略有区别。在Python3.5.2中运算结果如下:
在这里插入图片描述
  %运算符除去可以用于字符串格式化之外,还可以对整数和浮点数计算余数。但是由于浮点数的精确度影响,计算结果可能略有误差。
在这里插入图片描述
  成员测试运算符in用于成员测试,即测试一个对象是否为另一个对象的元素
在这里插入图片描述
  同一性测试运算符is用来测试两个对象是否同一个,如果是则返回True,否则返回False。
在这里插入图片描述
  位运算符只能用于整数,其内部执行过程为:首先将整数转换为二进制数,然后右对齐,必要的时候左侧补0,按位进行运算,最后再把计算结果转换为十进制数字返回
在这里插入图片描述


6、常用内置函数

  内置函数不需要导入任何模块即可使用,执行下面的命令可以列出所有内置函数。
在这里插入图片描述
  range()是Python中非常常用的一个内置函数,语法格式为range([start,]end[,step])。该函数返回具有惰性求值特点的range对象,其中包含左闭右开[start,end)内以step为步长的整数。参数start默认为0,step默认为1
在这里插入图片描述
  用Python进行程序设计,输入是通过input()函数来实现的,imput()的一般格式为:

x=input(‘提示:’)

  该函数返回输入的对象。可输入数字字符串其他类型对象


7、基本输入输出

  Python 2.x和Python 3.x的输出方法
  Python 2.x中,使用print语句进行输出
  Python 3.x中,使用print()函数进行输出


8、模块导入与使用

  Python默认安装仅包含部分基本或核心模块,但用户可以安装大量的扩展模块pip是管理模块的重要工具。在Python启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。减小运行的压力,仅加载真正需要的模块和功能,且具有很强的可拓展性。可以使用sys.modules.items()显示所有预加载模块的信息

import 模块名

在这里插入图片描述
  可以使用dir函数查看任意模块中所有的对象列表,如果调用不带参数的dir()函数,则返回当前所有名字列表。可以使用help函数查看任意模块或函数的使用帮助。


9、Python代码规范

  ①缩进
  类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始
  Python程序是依靠代码块的缩进来体现之间的逻辑关系的,缩进结束就表示一个代码块结束了。
  同一个级别的代码块的缩进值必须相同
  一般而言,以4个空格为基本缩进单位。

  ②注释
  一个好的、可读性强的程序一般包含30%以上的注释。常用的注释方式主要包括
  以#开始,表示本行#之后的内容为注释
  包含在一对三引号’’’’…’’’或”””…”””之间且不属于任何语句的内容将解释器认为是注释
  在IDLE开发环境中,可以通过下面的操作快速注释/解除注释大段内容:Format->Comment Out Region/Uncomment Region

  ③每个import只导入一个模块
  ④如果一行语句太长,可以在行尾加上\来换行
  ⑤必要的空格与空行
  运算符两侧、函数参数之间、逗号两侧建议使用空格分开
  不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性
  ⑥适当使用异常处理结构进行容错,后面讲详细讲解
  ⑦软件应具有较强的可测试性,测试与开发齐头并进


10、Python文件名

  .py:Python源文件,由Python解释器负责解释执行
  .pyw:Python源文件,常用于图形界面程序文件
  …pyc:Python字节码文件,无法使用文本编译器直接查看该类型文件内容,可用于隐藏Python源代码和提高运行速度。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[深度学习入门]Python基础语法(上) 的相关文章

  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • Python:XML 内所有标签名称中的字符串替换(将连字符替换为下划线)

    我有一个格式不太好的 XML 标签名称内有连字符 我想用下划线替换它 以便能够与 lxml objectify 一起使用 我想替换所有标签名称 包括嵌套的子标签 示例 XML
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以

随机推荐

  • shell编程必须会的30道题目

    linux运维人员必会的30道shell编程面试题 一 序言 前几天一个做开发的朋友发给我一个链接 http oldboy blog 51cto com 2561410 1632876 from singlemessage isappins
  • linux启动jar包指定日志输出目录下,linux 启动jar包 指定yml配置文件和输入日志文件...

    命令为 nohup java jar project jar spring config location home project conf application yml gt home project conf nohup out 2
  • ZK的选举算法

    一 前言 前面学习了Zookeeper服务端的相关细节 其中对于集群启动而言 很重要的一部分就是Leader选举 接着就开始深入学习Leader选举 二 Leader选举 2 1 Leader选举概述 Leader选举是保证分布式数据一致性
  • 从0开始写Vue项目-Vue实现用户个人信息界面上传头像

    从0开始写Vue项目 环境和项目搭建 慕言要努力的博客 CSDN博客 从0开始写Vue项目 Vue2集成Element ui和后台主体框架搭建 慕言要努力的博客 CSDN博客 从0开始写Vue项目 Vue页面主体布局和登录 注册页面 慕言要
  • RocketMQ:粗略认识RocketMQ以及在Window部署单机模式

    一 粗略认识RocketMQ RocketMQ主要解决当访问服务数量超过系统性能瓶颈的问题 大概的解决思路就是先把信息收集起来 然后按照自己的速度一步步处理 而系统的访问者在把信息发送给RocketMQ之后 可以不用等返回结果 就可以先去忙
  • 移动端前端适配方案(总结) -- 面试重点

    在网上搜了一下 很多面试都会被问到移动端适配方法的问题 最近看了一些文章 这里总结一下 首先 谈一下目前为止出现的一些关于移动端适配的技术方案 1 通过媒体查询的方式即CSS3的meida queries 2 以天猫首页为代表的 flex
  • Android动态申请权限知识

    1 Android6 0 APIlevel23 开始targetSdkVersion gt 23的应用必须在运行时动态申请权限 2 权限请求对话框是操作系统进行管理的 应用无法也不应该干预 3 系统对话框描述的是权限组而不是某个具体权限 4
  • cgwin 中国镜像

    2019独角兽企业重金招聘Python工程师标准 gt gt gt http mirrors 163 com cygwin 转载于 https my oschina net famoustone blog 886193
  • DLNA的一个场景的工作过程

    场景 用户将手机A中的媒体内容播放到电视B上 DMC DMR 在这个场景中 前提是 A和B必须连接到同一个局域网中 假定电视B先接入局域网 手机A后接入局域网 然后再进行播放操作 那么该场景大概是这样的 B接入局域网以后 B需要建立多播so
  • 电脑设置定时关机的5种方法

    转自 微点阅读 https www weidianyuedu com 方法汇总于网络 仅供参考 目录 如何用系统命令设置定时关机 两款定时关机软件 小而好用 功能强大 如何用任务计划程序设置 常用的电脑软件如何设置 包括360安全卫士 迅雷
  • Java中以英文逗号分割的字符串在前端添加时正则判断

    Java中以英文逗号分割的字符串在前端添加时正则判断 只能是英文状态逗号且只能以逗号隔开不能以逗号结尾 只能是英文状态逗号 不能有中文逗号 var m uff0c if goodstype match m alert 不能有中文逗号 ret
  • sql注入之万能密码总结

    万能密码 万能密码原理 原验证登陆语句 SELECT FROM admin WHERE Username username AND Password md5 password 输入 1 or 1 1 or 1 1万能密码语句变为 SELEC
  • systemd启动mysql后一直卡住,Systemd Mysql不会停止

    升级到15 04后 我有很多乐趣了解systemd 我想我一切正常 除了我无法阻止mysql service systemctl命令只是挂起而且mysql一直在运行 有没有其他人经历过这个或者可能知道发生了什么 解决方法 我有同样的问题 升
  • 蓝桥杯.剪格子(DFS)

    Question Solve 深搜板子题 分成两部分 两部分的数字和相同 dfs去创造路径 然后比对路径上的数字和与剩余点的数字和 优化点 读入时候先求和sum 路径和ans另算 直接去判断ans是不是sum的一半 ans gt sum 2
  • 理解fasterRCNN模型的构成,并进行训练和预测

    学习目标 了解VOC数据集的应用 理解fasterRCNN模型的构成 能够利用fasterRCNN网络模型进行训练和预测 1 VOC数据集简介 Pascal VOC数据集作为基准数据 在目标检测中常被使用到 很多优秀的计算机视觉模型比如分类
  • 逆向图片搜索 搜索自己想搜索的

    Tineye 是一个用图片搜索图片的技术 http www tineye com 开始时Tineye是邀请注册 后来是开放注册 不过都需要注册才能使用 现在终于完全放开 无需再注册或登录即可使用该搜索引擎 此外 Tineye最近还增添了一下
  • Vue+ElementUI el-radio列表单选

    实现效果 对某条数据进行数据修改 步骤 1 添加单选按钮 点击获取该条信息的id 并将id传给修改按钮 div 1 修改按钮 span size mini 修改信息 span 2 列表单选按钮
  • OptiSystem应用:光放大器EDFA的仿真

    Optisystem可以设计和模拟光纤放大器和光纤激光器 此处展示的案例可在Optisystem安装文件夹samplesOptical amplifiers中找到 该教程将会介绍光放大器库这一部分 光放大器 全局参数 使用Optisyste
  • Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法

    本文分享在Linux系统下 通过Java 程序代码将Word转为PDF文档时 结果文档内容出现乱码该如何解决 具体可参考如下内容 1 问题出现的背景 在Windows系统中 使用Spire Doc for Java将Word文档转换为PDF
  • [深度学习入门]Python基础语法(上)

    目录 一 程序设计基本方法 1 计算机是根据指令操作数据的设备 2 编程设计语言概述 3 计算机编程 4 IPO程序编写方法 5 使用计算机解决问题 二 基础知识 1 pyCharm 为人工智能领域常用的IDE 2 Python的简单使用