精华内容
下载资源
问答
  • 本文主要向大家介绍了Python语言缩进和选择学习,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果...

    本文主要向大家介绍了Python语言缩进和选择学习,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

    缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。 先看C语言的表达方式(注意,这是C,不是Python!)if ( i > 0 ){ x = 1; y = 2;}如果i > 0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于if。 在Python中,同样的目的,这段话是这样的if i > 0: x = 1 y = 2在Python中, 去掉了i > 0周围的括号,去除了每个语句句尾的分号,表示块的花括号也消失了。多出来了if ...之后的:(冒号), 还有就是x = 1 和 y =2前面有四个空格的缩进。通过缩进,Python识别出这两个语句是隶属于if。 Python这样设计的理由纯粹是为了程序好看。 if语句写一个完整的程序,命名为ifDemo.py。这个程序用于实现if结构。i = 1x = 1if i > 0: x = x+1print x$python ifDemo.py # 运行程序运行到if的时候,条件为True,因此执行x = x+1,。print x语句没有缩进,那么就是if之外。 如果将第一句改成i = -1,那么if遇到假值 (False), x = x+1隶属于if, 这一句跳过。 print x没有缩进,是if之外,不跳过,继续执行。 这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到。强制缩进增强了程序的可读性。 复杂一些的if选择:i = 1

    if i > 0:

    print 'positive i' i = i + 1elif i == 0:

    print 'i is 0' i = i * 10else:

    print 'negative i' i = i - 1

    print 'new i:',i这里有三个块,分别属于if, elif, else引领。Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。整个if可以放在另一个if语句中,也就是if结构的嵌套使用:i = 5

    if i > 1:

    print 'i bigger than 1'

    print 'good'

    if i > 2:

    print 'i bigger than 2'

    print 'even better'if i > 2 后面的块相对于该if缩进了四个空格,以表明其隶属于该if,而不是外层的if。 总结if语句之后的冒号以四个空格的缩进来表示隶属关系, Python中不能随意缩进if <条件1>: statementelif <条件2>: statementelif <条件3>: statementelse: statement

    本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

    展开全文
  • python缩进语言的词法分析实现:定义两个虚拟的Token:tokens {INDENT;DEDENT;}还有一个缩进栈,用于确定是缩进一行,还是回退一行:Stack _indentStack = new Stack();在开始做词法分析之前,压入一个默认的Indent,这...

    python等缩进语言的词法分析实现:

    定义两个虚拟的Token:

    tokens {

    INDENT;

    DEDENT;

    }

    还有一个缩进栈,用于确定是缩进一行,还是回退一行:

    Stack _indentStack = new Stack();

    在开始做词法分析之前,压入一个默认的Indent,这一步其实没什么必要,只是用来避免写判断栈顶是否为空的冗余判断:

    _indentStack = new Stack();

    _indentStack.push(new Integer(0));

    针对每一个新行,首先判断行首是否是空格,如果是空格,则空格计1、Tab键计8个空格,如果仅仅是空行,跳过。如果在碰到行尾之前碰有非空字符,则将空格数与栈顶的空格对比,如果大于,压入当前行的空格数,并生成一个虚拟的Indent Token,如果小于,将所有空格数大于当前行的出栈,并生成一个虚拟的Dedent Token:

    NEWLINE

    @init {

    int spaces = 0;

    }

    : ((('\u000C')?('\r')? '\n' ) | '\t' | ' ')* (('\u000C')?('\r')? '\n')

    leading_space = (' ' { spaces++; } | '\t' { spaces += 8; spaces -= (spaces \% 8); })*

    {

    if ( !_inATable &&

    (getCharPositionInLine() == 0 ||

    implicitLineJoiningLevel > 0) ) {

    emit(new ClassicToken(NEWLINE, this.getText(), HIDDEN));

    } else {

    emit(new ClassicToken(NEWLINE, this.getText(), HIDDEN));

    }

    if ( implicitLineJoiningLevel == 0 &&

    _indentStack.size() > 0) {

    if (spaces > _indentStack.peek().intValue() ) {

    _indentStack.push(new Integer(spaces));

    emit(new ClassicToken(INDENT, ">"));

    }

    else {

    while ( spaces < _indentStack.peek().intValue() ) {

    _indentStack.pop();

    emit(new ClassicToken(DEDENT, "<"));

    }

    }

    }

    }

    | ((('\u000C')?('\r')? '\n' ) | '\t' | ' ')* (('\u000C')?('\r')? '\n')

    (' ' | '\t')* '#' (~'\n')*

    {

    $channel = HIDDEN;

    }

    ;

    当然还要考虑纯注释行,和空格后仅跟有注释的情形。

    这样词法分析过程中,缩进的词法分析过程就完了,在语法分析中,Indent是透明的,例如:

    compound_stmt

    : IF compound_condition (suite)+ elif_clause* else_clause?

    | assignment

    ;

    suite

    : INDENT (compound_stmt)+ (DEDENT | EOF)

    ;

    上面的语法中,INDENT和DEDENT就跟括号的处理没什么区别,只不过DEDENT可选,主要是考虑直接在代码后就EOF的情况。

    展开全文
  • (推荐学习:Python视频教程)因为,Python缩进代替了其他编程语言的begin 和 and,Python中的缩进(Indentation)决定了代码的作用域范围。取决于它的设计者想要更加简洁的一种编程语言!许多计算机编程语言使用...

    为什么python对缩进要求这么高?

    5d3276ea52df0376.jpg

    缩进不对就很容易报错!(推荐学习:Python视频教程)

    因为,Python用缩进代替了其他编程语言的begin 和 and,Python中的缩进(Indentation)决定了代码的作用域范围。

    取决于它的设计者想要更加简洁的一种编程语言!

    许多计算机编程语言使用字符(例如花括号{和})或者关键字(例如begin和end)来划分代码段。

    在这些语言中,使用一致的代码缩进可以增加代码的可读性,并且有很多便利的工具整理缩进代码。

    在吉多范罗苏姆开始考虑设计Python语言时,他决定通过代码缩进来区分代码块结构,避免输人太多的花括号和关键字。

    Pyhon 使用空白来区分代码结构,这是初学者需要注意的不同寻常的第一一点,缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。而且有其他语言开发经验的人会觉得奇怪。

    但使用Python -段时间后会觉得很自然,而且会习惯于编写简洁的代码来进行大量的编程工作。

    实例if True:

    print "True"

    else:

    print "False"

    以下代码将会执行错误:

    实例#!/usr/bin/python

    # -*- coding: UTF-8 -*-

    # 文件名:test.py

    if True:

    print "Answer"

    print "True"

    else:

    print "Answer"

    # 没有严格缩进,在执行时会报错

    print "False"

    执行以上代码,会出现如下错误提醒:$ python test.py

    File "test.py", line 10

    print "False"

    ^

    IndentationError: unindent does not match any outer indentation level

    IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是python为什么要缩进控制的详细内容,更多请关注php中文网其它相关文章!

    article_wechat2021.jpg?1111

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白...

    对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次。

    缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

    例如:

    1

    2

    3

    4

    if True:

    print("Hello girl!")#缩进一个tab的占位

    else:#与if对齐

    print("Hello boy!")#缩进一个tab的占位

    Python对代码的缩进要求非常严格,如果不采用合理的代码缩进,将抛出SyntaxError异常。

    1

    2

    3

    4

    5

    if True:

    print("Hello girl!")

    else:

    print("Hello boy!")

    print("end")

    运行该段代码将会抛出异常。

    10244Ja0-0.png

    错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

    有时候代码采用合理的缩进但是缩进的情况不同,代码的执行结果也不同。有相同的缩进的代码表示这些代码属于同一代码块。

    例如:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    # -*- coding: UTF-8 -*-

    if True:

    print("Hello girl!")

    else:

    print("Hello boy!")

    print("end")

    print("=========华丽的分割线===========")

    if True:

    print("Hello girl!")

    else:

    print("Hello boy!")

    print("end")

    运行结果:

    10244KE4-1.png

    分割线以上的print("end")未缩进与if对齐,因此它与if属于同一代码块,执行完if的操作,执行输出。

    分割线一下的print("end")与print("Hello boy!")保持一致的缩进,则它与print("Hello boy!")属于else之内的代码块。

    缩进相同的一组语句构成一个代码块,我们称之代码组。

    像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

    我们将首行及后面的代码组称为一个子句(clause)

    Python多行语句

    Python语句中一般以新行作为为语句的结束符。但是我们可以使用斜杠( \)将一行的语句分为多行显示。

    1

    2

    3

    4

    5

    6

    7

    num1= 1

    num2= 2

    num3= 3

    total= num1+ \

    num2+ \

    num3

    print("total is : %d"%total)

    语句中包含[], {} 或 () 括号就不需要使用多行连接符

    1

    2

    3

    days= ['Monday','Tuesday','Wednesday',

    'Thursday','Friday']

    print(days)

    Python代码中一行只能有一个语句,以新行作为为语句的结束符。如果一行含有多个语句将会抛出异常。

    10244KF9-2.png

    该种方式完全是像java在声明变量呀。

    Python2中貌似可以用分号分隔,我机器上没有装2.x没有试,亲测Python3下不可以。

    10244H918-3.png

    正解如下:

    1

    2

    3

    4

    5

    num1,num2,num3=1,2,3

    total= num1+ \

    num2+ \

    num3

    print("total is : %d"%total)

    Python空行

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

    空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

    记住:空行也是程序代码的一部分。

    以上这篇Python缩进和冒号详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

    展开全文
  • Python是一门独特的语言,它的代码块是通过缩进(Indentation)来标记的(大部分语言都是使用花括号作为代码块的标记),具有相同缩进的多行代码属于同一个代码块。如果代码莫名其妙的乱缩进Python解释器就会报错...
  • 话说这东西的语法及代码书写习惯是真不让人省心啊,Python代码有严格的缩进要求,很多人说这是Python的优点,而我觉但凡有点C、C++、Java等等编程语言基础,并且有点编程经验的人来讲,还真的会不习惯这个缩进风。...
  • Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:# print absolute value of an integer:a = 100if a >= 0:print(a)else:print(-a)以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器...
  • python缩进格式是python语法中最特别的一点,很多已经习惯了其他语言的朋友再去学python的话,开始会觉的不太 习惯。怎么看怎么都觉的别扭,也有一些朋友因为这个特别的格式与python失之交臂,认为不符合编程的...
  • 关于 python缩进

    万次阅读 多人点赞 2019-08-23 13:12:46
    python缩进是敏感的,而大多教程对应缩进也只是几句话带过,对新手十分不友好,本文就把python常见的缩进问题做了一些整理。
  • Python 语言缩进可以采用 Tab 键实现 B. Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代更多相关问题【判断题】对称度公差是指公差带是距离为公差值t且相对基准中心平面对称配置的两行线之间的...
  • 对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣;...并且Python语言利用缩进表示语句块的开始和退出,而非使用{}或者其他字符。今天就简单和大家介绍一下Python缩进的方法!Python的缩进方法·...
  • 一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣;...并且Python语言利用缩进表示语句块的开始和退出,而非使...
  • 一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣;...并且Python语言利用缩进表示语句块的开始和退出,而非使...
  • 缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if ( i > 0 ){x = 1;y = ...
  • 这篇文章主要介绍了关于Python代码缩进和测试模块示例详解,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下前言Python代码缩进和测试模块是大家学习python必不可少的一部分,本文主要介绍了关于...
  • 一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣;...并且Python语言利用缩进表示语句块的开始和退出,而非使...
  • Python缩进】的更多相关文章缩进 Python的最大特色是用缩进来标明成块的代码. 这点和其他语言区别很明显,比如大家熟悉的C语言里: ) { num+=; flag-=; } 而在python中: if flag>= 0 : num+=1 flag-=1 num+=1和...
  • 原博文2019-01-16 00:15 −Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,...
  • 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的...
  • Python缩进是不是反人类的设计?前些天,我写了《Python为什么使用缩进来划分代码块?》,文中详细梳理了 Python 采用缩进语法的 8 大原因。我极其喜欢这种简洁优雅的风格,所以对它赞美有加。然而文章发出去后,...
  • 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用...1.缩进Python语言采用严格的缩进来表示程序的逻辑。缩进指的是每一行代码开始前的空白区域,用来表示代码之间的...
  • 学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白...
  • 展开全部顾名思义,缩进就是向里面收缩的意思,比如汉语书写习e68a8462616964757a...学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特...
  • 目录:一、笔记二、笔记目录一、笔记1) Python的缩进① puthon语言用缩进(四个空格)和...# Python语言def k():print('aa') # print()函数前面有缩进缩进前面有冒号,print()函数是k()函数的下一级内容k() # 调用...
  • 原博文2016-09-08 00:24 −最近开始学习Python语言,首先引起我注意的是它比较独特的语法。...而在Python语言中,缩进有着重要的语法意义,对缩进运用不当,...相关推荐2019-12-23 10:56 −[TOC...
  • python缩进与注释

    2020-10-03 12:22:03
    python缩进与其他高级语言相比较为严格,同级必须缩进相同个数空格,注意python缩进规范是四个空格 ''' python缩进规范是4个空格,tab键一般是4个空格 ''' if True: print('hello zhang san') #这是单行注释 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,095
精华内容 16,438
关键字:

python语言缩进

python 订阅