侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python语言基本语句用法总结

Python  /  管理员 发布于 7年前   191

python语句与语法

1.python简单语句的基本介绍

>>> while True: #简单的while循环... reply = input('Enter text:') #调用了Input,将输入传参给reply... if reply == 'stop': break  #如果输入的是stop就退出循环... print(reply.upper())    #如果输入的不是stop就一直将输入的转换为大写字母...Enter text:abc   #这是第一个输入abc,看到下面转换成大写的ABC了ABCEnter text:nihao123daNIHAO123DAEnter text:stop  #这里输入了一个stop,然后循环就退出了>>>

上面的代码利用了Python的while循环,它是Python最通用的循环语句。简单的说,它的组成为:while这个单词,之后跟一个其结果为真或假的表达式,再接一个当顶端测试为真(这时的True看做是永远为真)时不停的迭代的嵌套代码块。

这个Input内置函数,在这里用于通过控制台输出,它打印可选的参数字符串作为提示,并返回用户输入的回复字符串。

利用嵌套代码块特殊规则的单行if语句也在这里出现:if语句体出现在冒号之后的首行,而并不是在首行的下一行缩进。

最后,Python的break语句用于立即退出循环。也就是完全跳出循环语句而程序会继续循环之后的部分。如果没有这个退出语句,while循环会因为测试总是真值而永远循环下去。

>>> while True:...   reply = input('Enter text:')...   if reply == 'stop': #如果是stop就退出...    break...   elif not reply.isdigit(): #如果输入的不是数字类型就打印Bad1 8次...     print('Bad!' * 8)...   else: #否则就打印输入数字的2次方...     print(int(reply) ** 2)...   #按回车下面是测试结果Enter text:abcBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:aBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:24Enter text:stop>>>

Python会执行首次测试为真所想匹的代码块,按照由上至下的顺序,如果所有测试都是假,就执行else部分。

2.赋值、表达式和打印

赋值语句有些特性要专门记住,如下所示

赋值语句建立对象引用值,Python赋值语句会把对象引用值存储在变量名或数据结构的元素内。赋值语句总是建立对象的引用值,而不是赋值对象。因此,Python变量更像是指针,而不是数据存储区域。

变量名在首次赋值时会被创建。Python会在首次将(即对象引用值)赋值给变量时创建其变量名。有些(并非全部)数据结构元素也会在赋值时创建(例如,字典中的元素,一些对象属性)。一旦赋值了,每当这个变量名出线在表达式时,就会被其所引用的值取代。

变量名在引用前必须先赋值。使用尚未进行赋值的变量名是一种错误,如果你视图这么做,Python会引发异常,而不是返回某种模糊的默认值;如果返回默认值,就很难再程序中找出输入错误的地方。

执行隐式赋值的一些操作,在Python中,赋值语句会在许多情况下使用。例如,模块导入、函数和类的定义、for循环变量以及函数参数全都是隐式赋值运算。

>>> seq = [1,2,3,4]>>> a,b,c,*d = seq>>> print(a,b,c,d)1 2 3 [4]>>> L = [1,2,3,4]>>> while L:...  front, *L = L...  print(front,L)...1 [2, 3, 4]2 [3, 4]3 [4]4 []

当使用一个带星号的名称的时候,左边的目标中的项数不需要与主题序列的长度匹配。实际上,带星号的名称可以出现在目标中的任何地方

打印操作

在python中,print语句可以实现打印--只是对程序员友好的标准输出流的接口而已。从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流。

文件对象方法:例如file.write(str).打印操作是类似的,但更加专注--文件写入方法是把字符串写入到任意的文件,print默认地把对象打印到stdout流,添加了一些自动的格式化。和文件方法不同,在使用打印操作的时候,不需要把对象转换为字符串。

标准输出流:标准输出流(通常叫做stdout)只是发送一个程序的文本输出的默认的地方。加上标准输入流和错误流,它只是脚本启动时所创建的3种数据连接中的一种。标准输出通常映射到启动Python程序的窗口,除非它已经在操作系统的shell中重定向到一个文件或管道。

if测试和语法规则

Python语法规则

Python语法有些特性是我们需要知道的: 语句是逐个运行的:python一般都会按照次序从头到尾执行文件中嵌套块中的语句,但是像if(还有循环)这种语句会使得解释器在程序内跳跃。因为Python经过一个程序的路径叫做控制流程,像if这类会对其产生影响的语句,通常叫做控制流程语句。 块和语句的边界会自动检测。Python的程序块中没有大括号或“begin/end”等分隔字符;反之,Python使用首行下的语句缩进把嵌套块内的语句组合起来。同样地,Python语句一般是不以分号终止的,一行的末尾通常就是该行所写语句的结尾。

复合语句=首行+“: ” + 缩进语句。Python中所有复合语句都遵循相同格式:首行会以冒号终止,再接一个或多个嵌套语句,而且通常都是在首行下缩进的。缩进语句叫做块(有时叫做组)。在If语句中,elif和else分句是if的一部分,也是其本身嵌套块的首行。 空白行、空格以及注释通常都会忽略。文件中空白行将忽略(但在交互模式提示符下不会)。语句和表达式中的空格几乎都忽略(除了在字符串常量内,以及用在缩进时)。注释总是忽略:它们以#字符开头(不是在字符串常量内),而且延伸至该行的末尾。 文档字符串(docstring)会忽略,但会保存并由工具显示。Python支持的另一种注释,叫做文档字符串(简称docsting)。和#注释不同的是,文档字符串会在运行时保留下来以便查看。文档字符串只是出现在程序文件和一些语句顶端的字符串中。Python会忽略这些内容,但是,在运行时会自动将其附加在对象上,而且能由 文档工具显示。

while和for循环

while语句是Python语言中最通用的迭代结构。

>>> x = 'spam'>>> while x:...   print(x,end='')...   x = x[1:]...spampamamm>>>

注意,这里使用end= ‘'关键字参数,使所有输出都出现在同一行,之间用空格隔开;

在python中:

break : 跳出最近所在的循环(跳过整个循环语句)

continue : 跳到最近所在循环的开头处(来到循环的首行)

pass:什么事也不做,只是空占位语句

循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)


  • 上一条:
    python操作文件的参数整理
    下一条:
    python实现对象列表根据某个属性排序的方法详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客