条件语句:

注意1) condition后面的冒号 2) elif

if condition_1:
  statement_block_1
elif condition_2:
  statement_block_2
else:
  statement_block_3

循环语句:

#还是注意冒号,我在想如果语法中不加冒号会有什么不妥

while condition:
  statement_block

# while .. else,觉得有点多余。

while condition:
  statement_block
else:
  statement_block

# for .. in

for  <variable>  in  <sequence>:
  <statements>

break 语句用于跳出当前循环体,和c一样。

# range()

range(5) --> 0,1,2,3,4

range(5, 9) --> 5,6,7,8

range(0, 10, 3) -->0,3,6,9

listA = list(range(5))  # a=[0,1,2,3,4]

迭代器:

迭代器是一个可以记住遍历的位置的对象。可以很方便的是访问集合元素。两个基本的方法:iter() 和 next()。看到这里,java的感觉出来了。

生成器:

有的时候,我们希望每次调用函数的时候一个一个的得到每个 list 元素而不是直接得到一个完整的 list 来节省内存,这个时候 yield 就很有用。

函数:

def 函数名(参数列表):
  函数体

参数传递中的可更改(mutable)与不可更改(immutable)对象。

不可更改的对象:strings, tuples, 和 numbers,尤其记住数字和字符串是不可更改的,无法通过改形参来改实参的值。

可以修改的对象:list,dict

关键字参数不错,容易读和理解。

默认参数必须放在最后面:func(name, age  =35):

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

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

num = 1
def fun1():
  global num # 需要使用 global 关键字声明
  print(num)  # 输出1
  num = 123
  print(num) # 输出123

C语言老司机学Python (三)的更多相关文章

  1. C语言老司机学Python (五)

    今天看的是标准库概览. 操作系统接口: 用os模块实现. 针对文件和目录管理,还有个shutil模块可以用. 例句: import os os.getcwd() # 返回当前的工作目录 os.chdi ...

  2. C语言老司机学Python (二)

    标准数据类型: 共6种:Number(数字),String(字符串),List(列表),Tuple(元组),Sets(集合),Dictionary(字典) 本次学习主要是和数据类型混个脸熟,知道每样东 ...

  3. C语言老司机学Python (六)- 多线程

    前面的1-5都是比较基础的东西,能做的事情也有限. 从本节起,随着更多进阶技术的掌握,渐渐就可以用Python开始浪了. Python3使用threading模块来实现线程操作. 根据在其他语言处学来 ...

  4. C语言老司机学Python (一)

    Python 版本:3.6.4 参考网上教程:http://www.runoob.com/python3/python3-basic-syntax.html 开始了啊. 干咱们这行的老规矩,学新语言的 ...

  5. C语言老司机学Python (四)

    字符串格式化: 可以使用类似c语言中sprintf函数的方法进行格式化,但是函数名称是print() 如:print('常量 PI 的值近似为:%5.3f.'  %  var_PI) 注意var_PI ...

  6. 老司机学新平台 - Xamarin开发之我的第一个MvvmCross跨平台插件:SimpleAudioPlayer

    大家好,老司机学Xamarin系列又来啦!上一篇MvvmCross插件精选文末提到,Xamarin平台下,一直没找到一个可用的跨平台AudioPlayer插件.那就自力更生,让我们就自己来写一个吧! ...

  7. 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选

    在前两篇老司机学Xamarin系列中,简单介绍了Xamarin开发环境的搭建以及Prism和MvvmCross这两个开发框架.不同的框架,往往不仅仅使用不同的架构风格,同时社区活跃度不同,各种功能模块 ...

  8. 从零开始部署Django生产环境(适用:《跟老齐学Python Django实战》)

    <跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前 ...

  9. 跟着老王学Python

    亲爱的朋友:     欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着 ...

随机推荐

  1. 网络编程之UDP编程

    网络编程之UDP编程 UDP协议是一种不可靠的网络协议,它在通信的2端各建立一个Socket,但是这个Socket之间并没有虚拟链路,这2个Socket只是发送和接受数据的对象,Java提供了Data ...

  2. JAVA中使用log4j及slf4j进行日志输出的方法详解

    JAVA中输出日志比较常用的是log4j,这里讲下log4j的配置和使用方法,以及slf4j的使用方法.  一.下载log4j的架包,并导入项目中,如下: 二.创建log4j.properties配置 ...

  3. WPF笔记(2.4 Grid)

    第一章已经简单介绍过这个容器,这一节详细介绍.Grid一般是用表格(Grid.Row 和Grid.Column )的,比StackPanel更细致一些,但是,这么玩很麻烦,先横着竖着定义一大堆,然后把 ...

  4. mavean的依赖传递和排除依赖

    三个mavean项目 A  .B. C 如果B依赖A(A先执行clean package命令) 那么B得pom.xml文件里面就写 <dependency> <groupId> ...

  5. 开发JQuery插件(转)

    教你开发jQuery插件(转)   阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原 ...

  6. 理解javascript模块化(转)

    模块化是一个通用的编程最佳实践.程序的模块化使我们可以更方便地使用别人的代码,想要什么功能,就加载什么模块,从而提高代码的利用效率,增加开发速度. 模块就像积木,有了它,我们可以搭出各种各种功能样式的 ...

  7. 前端通过Nginx反向代理解决跨域问题

    在前面写的一篇文章SpringMVC 跨域,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式: JSONP CORS WebSocket 可是这几种方式都是基 ...

  8. 【django之orm小练习】

    作业1 创建单表Book表,要求字段: 1 主键 nid 2 书名 title 3 价格 price 4 出版日期 pubDate 5 出版社 publisher(普通字符串字段) class Boo ...

  9. HTTP就是这么简单

    为什么要学HTTP? 我们绝大多数的Web应用都是基于HTTP来进行开发的.我们对Web的操作都是通过HTTP协议来进行传输数据的. 简单来说,HTTP协议就是客户端和服务器交互的一种通迅的格式. H ...

  10. rabbitmq配置文件和站点管理(二)

    前面介绍了erlang环境的安装和rabbitmq环境安装,接下来对rabbitmq详细配置和管理: 启用后台管理插件 创建目录 mkdir /etc/rabbitmq 启用插件 rabbitmq-p ...