编程-关于python语法的一些问题

问题描述

关于python语法的一些问题
1.python生成器,以下是书上的一个例子:

 >>>def my_range(first=0last=10step=1): ...            number=first; ...            while number<last: ...                  yield number ...                  number+=step ...

调用这个函数:

 >>>range=my_range(15)  >>>for x in ranger:  ...         print(x)    ...

这里我就想问问yield number那里,这里应该是返回number的值,可是下面为什么还会有代码,python的函数的返回值可以不放在函数最后吗?另外看不明白my_range函数的意思,有没有大神能解释一下?

2.python命名空间和作用域的问题

>>>animal='fruitbat' >>>def change_and_print_global(): ...            print('inside change_anf_print_global:'animal) ...            animal ='wombat' ...            print('after the change:'animal) ... >>>change_and_print_global()

执行上面这段代码会报错,local variable 'animal' referenced before assignment
然而,执行下面这段代码却不会报错

 >>>def change_local(): ...            animal='wombat' ...            print('inside change_local:'animalid(animal)) ... >>> change_local() inside change_local: wombat  4330406160

以上这2段都是书上的代码,第一段代码会报错,可是第二段同样是在函数中使用了一个同名的变量,并给其附了值,第一段也是在函数内使用了同名变量,改变值。我看不出这2段代码有什么不同,可是为什么一段会报错,而另一段不会报错?求大神解析解析

解决方案

这就是yield的特殊 它会返回数据 同时保存函数栈其它数据 下次调用的时候会直接从yield开始继续计算

解决方案二:
Python sqlite的一些问题
python开发的一些问题
python 中database的一些问题

时间: 2024-11-10 08:00:23

编程-关于python语法的一些问题的相关文章

Python语法基础_控制流语句_if、while、for

前言 控制流语句用于改变程序语句流(默认为自上而下顺序执行)的执行顺序,其中Python的基本控制流语句,主要有以下3种:  1. if 语句:根据条件返回的结果执行相应的代码块  2. for 循环:通过遍历容器对象的索引来实现循环  3. while 循环:根据条件返回是否为True来判断是否执行循环体  在本篇中主要会介绍Python中控制流语句,以及一些在应用上的经验. 软件环境 系统  Ubuntukylin 14.04 软件  Python 2.7.6 IPython 4.0.0 I

为什么会无法运行python 语法哪里错了

问题描述 为什么会无法运行python 语法哪里错了 解决方案 numbers = numbers[3:6] 解决方案二: 也是不行 分号下的符号是什么意思 解决方案三: 直接输入numbers[3:6] 解决方案四: numbers[3:6] 你直接 输[3:6]怎么知道你是要取哪个数组的3:6 解决方案五: 这个很明显的语法错误啊,numbers = [3:6],你要把哪一个序列的3到6元素赋值给numbers变量?? 索引[3:6}前面必须紧跟在一个确定的序列后面呀,你什么都不写,直接来一

Python 语法错误,实在找不出来,求大神解惑。

问题描述 Python 语法错误,实在找不出来,求大神解惑. 笨办法学Python ex39 完全按照书上打得怎么会错误呢? 解决方案 这个应该是字典类型吧,要用大括号{} 解决方案二: 你的符号是不是全角的,换成半角的试试看. 这是全角的冒号: 这是半角的 : 解决方案三: 要用大括号,中文版的书上写错了... 解决方案四: 你这很明显是字典,要用花括号{}!

非编程人学Python,要注意哪些隐秘的错误认知?

对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临"编程"的一些普遍问题,而有特别明显的两个错误认知是: 错误认知一:一些初学者认为python很简单,就以为编程很简单. 错误认知二:没有学好基础知识,听说django很火,就开始学django开发web. 种种迹象表明,这些从零开始的学习者,普遍不知道从何入手,找了本编程教材发现第二章开始就看不懂了缺少计算机基础知识,被一些教程略过的"常识性"问题卡住遇到问题不知

Python语法基础_控制语句_输入输出语句详解

前言 程序最基本需要的两个要素,一个是数据,另外一个便是逻辑.而控制语句在程序中扮演的角色便是实现程序的逻辑,即数据的导向和对数据的操作.当然,这并不代表,程序中的数据的行为只能通过控制语句来实.但在Python编写的自动化脚本中,控制语句将会被频繁的使用. 输入 输入输出,简单来说就是从标准输入中获取数据和将数据打印到标准输出,常被用于交互式的环境当中,Python实现输入的方法有下面两种: raw_input() raw_input( ):获取输入后,返回一个String类型. 下面实现一个

让 EditPlus 支持 Ruby/Python 语法高亮和 Debug[转]

原文地址:http://phpz.org/?p=103 Python和Python3语法支持压缩包 EditPlus 是我最喜欢的编辑器之一,基于配置文件的语法高亮和自动完成使 EditPlus 异常灵活.而且速度一点也不慢,打开几M大的文件也轻而易举.同时还支持自定义用户工具,可以用来进行编译或 Debug. 下面介绍一下 Ruby 的高亮和 Debug 支持. 准备必要的文件: 到 EditPlus 官方网站下载 Ruby 语法支持压缩包,压缩包中包括两个文件:语法高亮文件(ruby.stx

《教孩子学编程(Python语言版)》——1.4 本章小结

1.4 本章小结 学习编写代码就像是学习走迷宫.猜谜语或者玩脑筋急转弯.你从一个问题开始,应用所知道的信息,同时一路获知新的东西.当你完成的时候,你锻炼了大脑并且解决了问题.希望你能够乐在其中. 在本章中,我们解决第一个主要的问题:在计算机上安装了Python编程语言,以便能够开始编写代码.这很容易,我们只需要下载文件,安装文件并运行它. 在后面的各章中,我们将学习如何使用代码解决问题.我们首先从一个简单的可视化的谜题开始,例如在计算机屏幕上(或者平板电脑或手机的屏幕上)绘制形状,然后,搞清楚如

《教孩子学编程(Python语言版)》——导读

前 言 什么是编程,为什么编程很适合孩子 计算机编程是每个孩子都应该学习的一项重要技能.我们使用计算机解决问题,玩游戏,帮助我们更有效地工作,执行重复性的任务,存储和查找信息,创建新的内容,同时与我们的朋友和世界联系.理解如何编写代码,将会把这一切力量付诸于我们的指尖. 每个人都能够学习编程,这就像是求解一个谜题或一个谜语.你可以应用逻辑,尝试一种解决方案,更多地试验一下,然后解决问题.开始学习编程的时机就是现在!我们处在一个前所未有的历史时期,在此之前,人们不可能像我们今天一样,通过计算机每天

《教孩子学编程(Python语言版)》——第2章 海龟作图—用Python 绘图 2.1 第一个海龟程序

第2章 海龟作图-用Python 绘图 在本章中,我们将编写简短的.简单的程序来创建漂亮的.复杂的视觉效果.为了做到这一点,我们可以使用海龟作图软件.在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动.这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条.通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片. 使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动.这能够帮