1.语句和语法

(1)反斜杠"\"表示语句继续。python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句。

PS:在使用小括号、中括号、大括号时可以跨行书写,无须反斜杠;三引号的字符串也可以跨行书写

(2)分号";"可以在同一行写多个语句。虽然python支持这么做,但为了代码可读性,一般不建议这么做

2.变量赋值

(1) python中,对象是引用传递的,而不是直接将值赋给对象  如:

>>> a = 123
>>> b = a
>>> a
123
>>> b
123
>>> a = 456
>>> a
456
>>> b
123 

语句 a = 123,执行的是创建整型 123 以及变量a,并把a指向这个整型;

语句 b = a ,执行的是创建变量b 并把b指向a指向的整型123

在重新给a赋值时,a的指向发生变化,b的指向并没有发生变化,所以在执行 a = 456 之后,a 的值是 456,b的值仍是123

(2)多重赋值  形如x = y = z = 1,一个对象被赋予多个变量

(3)多元赋值  这种赋值方式的等号两边都是元组

>>> x, y, z = 1, 2, 'ab'
>>> x
1
>>> y
2
>>> z
'ab'

1、2、'ab'三个对象分别赋值给x,y,z

为了提高代码可读性,最后给两边的元组都加上括号

>>> (x, y, z) = (1, 2, 'ab')
>>> x
1
>>> y
2
>>> z
'ab'

多元赋值可以方便的用于变量交换

>>> x = 123
>>> y = 456
>>> x
123
>>> y
456
>>> (x, y) = (y, x)
>>> x
456
>>> y
123

3.标识符

①标识符只可包含字母、数字、下划线,首字符不可为数字

②定义字符时须避免python关键字和内建字符。python关键字如下图:

③python用下划线作为变量前缀和后缀指定特殊变量,对解释器有特殊意义,故建议避免用下划线作为变量名字符的开始

4.python基本风格

(1)综述

①注释是必要的,但需要注意不能过度注释,如

x = 5    #对x赋值5

这里的注释就是不必要的,因为这是句废话

②良好的缩进风格是四个空格,避免用tab

③使用简短而又意义丰富的标识符名称

(2)模块结构和布局

①典型的python模块结构,如图

②除非必要,尽量用局部变量代替全局变量

③除了真正需要执行的代码,需要导入模块时必须执行的代码,几乎所以功能代码应该都封装在函数或类中等待主程序调用

④python检测模块是被导入还是被直接运行,用__name__系统变量:

如果模块是被导入,__name__的值为模块名字

如果模块被直接执行,__name__的值为"__main__"

5.内存管理

(1)变量定义

①python中,变量使用前无须声明名字和类型,将在变量第一次赋值时自动声明

②变量仍然需要在被创建和赋值后才能使用

③变量被赋值后。可以通过变量名直接访问

(2)引用计数

python使用"引用计数"来保持追踪内存中的对象。一个内部跟踪变量,称为一个引用计数器,每个对象各有多少个引用,简称引用计数。对象的引用计数为0时被垃圾回收。

①增加引用计数

当对象被创建时,就创建了一个引用计数;当对象被赋值给变量时,引用计数就计为1。

当同一个对象又被赋值给其他变量,或者被作为参数传递给函数,或作为容器对象的一个元素时,对象的引用计数增加1。

x = 123
# 对象被创建并赋值,引用计数为1
y = x
#对象被引用给其他变量,引用计数加1
float(x)
#作为参数传递给函数,引用计数加1
list1 = ['ab','c',x]
#成为容器的一个元素,引用计数加1

②减少引用计数

引用计数减少包括以下情形:

一个本地引用离开了作用范围,这种情况最常出现在函数运行结束时所以局部变量都被销毁,对象的引用计数随之减少;

对象的别名被del销毁

del y
# or del x

对象的一个别名被赋值给其他变量

x = 456

对象从一个容器对象中被移除

list1.remove(x)

容器对象本身被销毁

del list1

6.第一个python程序

(1)  try-except-else结构

结构:

try:pass
#try子块是希望检测错误的代码块
except IOError,e:pass
#except子块对错误做出处理,当发生错误时执行此代码块
else:pass
#else代码块在try子块检测无误时执行

转载于:https://www.cnblogs.com/hnyczhj/p/4768314.html

python核心编程-第三章-个人笔记相关推荐

  1. python核心编程-第六章-个人笔记(一)

    2019独角兽企业重金招聘Python工程师标准>>> 0.    序列包括字符串.列表和元组三种类型 1.    序列 1.0  序列的每一个元素可以通过指定一个偏移量的方式得到, ...

  2. python核心编程-第六章-个人笔记(二)

    2019独角兽企业重金招聘Python工程师标准>>> 3.11.2  in操作符和index() 先看一段代码 >>> 'record' in music_med ...

  3. python核心编程第三版_Python之父:自学python,这3本书能节约你一大半时间编程...

    今天给大家推荐三本书,有两本是属于一个系列,即<Python核心编程>第二版和第三版,一本讲基础和一本讲进阶,非常适合Python的初学者和有一定基础的学习者.还有一本书适合所有想学Pyt ...

  4. python核心编程第三版_《Python核心编程(第3版)》

    <Python核心编程(第3版)>是经典畅销图书<Python核心编程(第二版)>的全新升级版本,本书适合具有一定经验的Python开发人员阅读,总共分为3部分.第1部分为讲解 ...

  5. Python计算机视觉编程第三章——图像到图像的映射

    Python计算机视觉编程 图像到图像的映射 (一)单应性变换 1.1 直接线性变换算法 1.2 仿射变换 (二)图像扭曲 2.1 图像中的图像 2.2 图像配准 (三)创建全景图 3.1 RANSA ...

  6. Python计算机视觉编程 第三章 图像到图像的映射

    第三章 图像到图像的映射 3.1 单应性变换 3.1.1直接线性变换算法 3.1.2仿射变换 3.2图像扭曲 3.2.1图像中的图像 3.2.2图像配准 3.3创建全景图 3.3.1RANSAC 3. ...

  7. python核心编程第三版(一)学习笔记:正则表达式

    注:下面有些内容不全都来源于原著,这些都是通过各方面的资料收集合并的结果. 目录 一.正则表达式介绍 二.分类解析 1.元字符 匹配对象以及group()和groups()方法 搜索与匹配的比较 2. ...

  8. python程序练习题第三章_python核心编程-第三章-习题

    1.这是python的语言特性,python先创建对象,在给变量赋值时,不需要定义变量的名称和类型,它实际是用变量引用对象.变量类型在给变量赋值时自动声明 2.原因类似变量无须声明类型 3.pytho ...

  9. python程序操作的核心_python核心编程-第五章-个人笔记

    1.用del删除对对象的引用 >>> a = 123 >>>a123 >>> dela>>>a Traceback (most ...

  10. 读书:python核心编程第三版笔记

    message = 'It was a bright cold day in April, and the clocks were striking thirteen.' count = {} for ...

最新文章

  1. HDOJ 1004 Let the Balloon Rise
  2. 92. Leetcode 63. 不同路径 II (动态规划-路径规划)
  3. ALS爱立思简明教程
  4. PHP 笔记——操作MySQL数据库
  5. 实习生招聘 | TEG 2019年暑期实习生招聘正式启动
  6. Codeforces Round #725 (Div. 3) G. Gift Set 二分
  7. java如何连接mysql_Java如何连接数据库
  8. stm32读取目标芯片_使用stm32驱动RC522读IC卡(代码留言邮箱)
  9. Spark源码分析之Task
  10. FPGA SPI总线协议简介
  11. Linux离线的nginx安装启动,linux-离线安装nginx
  12. 《JavaScript开发框架权威指南》——2.4 处理任务
  13. (转载)软件测试全套教程,软件测试自学线路图
  14. 一个用于创建JSON接口的网站 http://myjson.com/api
  15. 完成端口(Completion Port)详解
  16. 大厂年薪几十万,但是5-8年外包程序员,年薪是多少你知道吗?
  17. 原来普洱茶还有预防头痛,减轻体重,缓解压力和失眠的作用,而且是年份久的普洱茶效果好
  18. ZeroLogon(CVE-2020-1472) 漏洞的攻击与防御策略(上)
  19. 7.node.js的Buffer(缓冲区)的合并(concat)、比较(compare)、拷贝(copy)和裁剪(slice)以及如何转化为JSON对象
  20. MySQL数据库教程之七:MySQL编程基础

热门文章

  1. 关于利用exchange server 2003搭建邮件服务器:小进步……
  2. weblogic IllegalArgumentException 解决办法
  3. 【C#小知识】C#中一些易混淆概念总结(八)---------解析接口
  4. LINUX下用select实现串口通讯示例
  5. HDU-4324 Triangle LOVE 拓扑排序
  6. SysUtils.AdjustLineBreaks - Unix 与 Windows 的换行符互换
  7. Nginx源码分析 - HTTP模块篇 - HTTP模块的阶段处理PHASE handler(23)
  8. Linux 网络编程——UDP编程
  9. 状态位字段使用char(1)还是tinyint(1)?
  10. flask-mail异步发送邮件_Spring Boot与异步任务、定时任务、邮件任务