Python3学习之语言基础3

三、判断/循环语句,函数,命名空间,作用域

  1、Python3 条件控制

       Python中if语句的一般形式如下所示:

   

    Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。 

  注意:

  • 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  • 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 3、在Python中没有switch – case语句。

  

  2、Python3 循环语句

  Python中的循环语句有 for 和 while。

  2.1、while 循环

  Python中while语句的一般形式:同样需要注意冒号和缩进。另外,在Python中没有do..while循环。

  

 1 #!/usr/bin/env python3
 2
 3 n = 100
 4
 5 sum = 0
 6 counter = 1
 7 while counter <= n:
 8     sum = sum + counter
 9     counter += 1
10
11 print("1 到 %d 之和为: %d" % (n,sum))

  while 循环使用 else 语句:在 while … else 在条件语句为 false 时执行 else 的语句块:

1 #!/usr/bin/python3
2
3 count = 0
4 while count < 5:
5    print (count, " 小于 5")
6    count = count + 1
7 else:
8    print (count, " 大于或等于 5")

  2.2、for 语句

  Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

  

 1 #!/usr/bin/python3
 2
 3 sites = ["Baidu", "Google","Runoob","Taobao"]
 4 for site in sites:
 5     if site == "Runoob":
 6         print("菜鸟教程!")
 7         break
 8     print("循环数据 " + site)
 9 else:
10     print("没有循环数据!")
11 print("完成循环!")

  3、函数

  函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

  

  

1 #!/usr/bin/python3
2
3 # 可写函数说明
4 sum = lambda arg1, arg2: arg1 + arg2
5
6 # 调用sum函数
7 print ("相加后的值为 : ", sum( 10, 20 ))
8 print ("相加后的值为 : ", sum( 20, 20 ))

  4、变量作用域

  Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。

  变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python的作用域一共有4种,分别是:

  

  Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问,如下代码:

  

  定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

  4.1、global 和 nonlocal关键字

  当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

 1 #!/usr/bin/python3
 2
 3 num = 1
 4 def fun1():
 5     global num  # 需要使用 global 关键字声明
 6     print(num)
 7     num = 123
 8     print(num)
 9 fun1()
10 print(num)

  如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了,如下实例:

 1 #!/usr/bin/python3
 2
 3 def outer():
 4     num = 10
 5     def inner():
 6         nonlocal num   # nonlocal关键字声明
 7         num = 100
 8         print(num)
 9     inner()
10     print(num)
11 outer()

原文地址:https://www.cnblogs.com/jays2018/p/9510993.html

时间: 2024-11-06 09:12:12

Python3学习之语言基础3的相关文章

C语言学习second--C语言基础学习

1.标准C语言 C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同. ANSI C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语言”.ANSI C于1980年由美国国家标准局(American National Standards Institute,简称ANSI)对外发布,各种编译器几乎都完整支持ANSI C,市面上的书籍.大学里的教材.网上的教程大都以ANSI C为基础进行讲解,C语言中文网也不例外,也以ANSI C为基

JavaScript学习笔记——语言基础(1)

1.JavaScript虽然名字里包含Java,但它和Java的交集微乎其微. 2.JavaScript没有输入/输出的概念.它是一个在宿主环境下运行的脚步语言.帮助宿主环境与外界交流.最普遍的宿主就是浏览器,但在Adobe Acrobat,photoshaop,Yahoo的widget中也有JavaScript的解释器. 3.JavaScript的类型图谱如下: 4.JavaScript中的字符串是一些字符序列.它们是Unicode字符序列,每个字符都是由16位数字表示. 5.JavaScri

JavaScript学习笔记&mdash;&mdash;语言基础(2)

1.当你查询一个不存在的数组索引,结果会是undefined. 2.遍历一个数组可以像下面这样写: for(var i = 0;i < a.length; i++){ //Do something with a[i] }      但这样效率比较低,因为每次循环都会计算一次数组长度.可以修改成: for(var i = 0, len = a.length; i < len; i ++){ //Do something with a[i] }     还有一种更好的写法是: for(var i

Linux C编程学习1---C语言基础(简介、预处理……)

C的简介 C语言的结构极其紧凑,C语言是一种模块化的编程语言,整个程序可以分割为几个相对独立的功能模块,模块之间的相互调用和数据传递是非常方便的 C语言的表达能力十分强大.C语言兼顾了高级语言和汇编语言的一些特点,既可以像汇编语言那样直接访问硬件的功能,也具有高级语言那样面向用户容易记忆.便于阅读和书写的优点 C语言的可移植性很好,C语言中没有依赖于硬件的输入输出语句,输入输出功能都是通过调用库函数来实现的,所以在一种计算机平台上开发的程序不需要进行修改或者只需要进行简单的修改就可以移植到另外的

【Javascript学习】语言基础

数据类型 javascript数据类型分为两种:基本类型与对象类型 基本类型:数字.字符串.布尔值.null.undefined其中null与undefined代表了各自特殊类型的唯一成员 对象类型:所谓对象类型便是属性的集合,每个属性都是由键值对组成普通的对象时无序键值对,有序的键值对便是我们的数组了 还有一个特殊的对象便是函数函数是具有与他相关联的可执行代码的对象,通过调用函数运行可执行代码并返回结果 若是使用new操作符来新建一个对象我们便称之为构造函数每个构造函数定义了一个类——由构造函

黑马程序员— C语言基础之内存剖析

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 在学习C语言基础知识时,老师对内存的分析很重视,几乎每个知识点都会帮我们分析内存存储情况,透过内存的分析也让我们对C语言有了更深的一些了解,C语言跟其他计算机语言相比,对内存的分析和要求更高,下面我们一起来了解和学习一下C语言的内存剖析,是我个人的在学习中的一些总结,如果问题或者不到位的地方也希望大家能够一起交流和指正. 第一讲  进制 进制是一种计数的方式,数值的表示形式,一般我们C语言主要

黑马程序员-C语言基础:两个变量交换值的方法

学习任何语言基础时,两个数值得交换是必须掌握的,下面简绍3中方式(c语言) 方法一:利用数学的计算技巧 1 #include <stdio.h> 2 int main() 3 { 4 5 int a =10, b = 20; 6 7 printf("交换前a=%d, b=%d\n", a, b); 8 9 a = a - b; 10 b = a + b; 11 a = b - a; 12 13 printf("交换后a=%d, b=%d\n", a, b

简单的入门Android开发和Java语言基础[图]

简单的入门Android开发和Java语言基础[图]前言:去年年底到今年年初,我做过简单的智能家居,也实现过一些简单的直连和远程的智能家居.于是就将最简单的通信发布出来:智能家居简单实现-使用ESP8266简单实现和APP通讯由于这方面的资料少之又少,所以阅读量飙升的很快.也有很多人加了好友问我问题.通过问题我发现,很多都是学硬件的.或是做智能家居方面的学生,基本都不会 Android 开发的.问也有很多问我怎么学 Android 开发的.很多的人认知还是停留在学习这种软件开发技术需要去培训机构

[Python学习笔记1]Python语言基础 数学运算符 字符串 列表

这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档:http://docs.python.org/.在此向文档编辑者致谢.请勿将本文用于商业用途. 一.Python语言介绍 首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法.其具有高级的数据结构和许多方便的库文件,可以完成文件IO.系统调用.网络编程,甚至