《Python核心编程》手记 基础

春节终于over了,回归充实的学习研究生活。打开久违的CSDN博客,看到官方推送的 『博客Markdown编辑器上线啦』,让我顿时有了写作的欲望,真是程序员的福利。之前阅读各种文章书籍,都是用MarkDownPad做的笔记,喜欢以及习惯于MarkDown简洁的语法。

总之各种方便。为了试试效果,将以前阅读《Python核心编程》的手记整理发上来,也当温习一遍。

第三章 Python基础

1、语句和语法

  • 注释

    Python中注释用符号“#”,也可以用三引号:”’ 注释内容 ”’

  • 继续

    过长的语句,可以用反斜杠,将一行分解为几行:

     if a==1 and            b==0 :
  • Python缩进风格

    Pyhton使用缩进来分隔代码组,缩进可以为空格、制表符Tab(另:推荐使用4个空格来缩进,并且尽量不要用tab键,因为不同平台tab键的代表的空白宽度不一样。)

  • 多个语句写在同一行上

    把多个语句写在同一行上是不推荐的,因为可读性会大大降低。如果非要这么做,也是允许的。

    import sys; x  = ‘foo‘; sys.stdout.write(x)
  • 模块

    通过import导入

2、变量赋值

  • 多元赋值(multuple)

    采用这种方式赋值,等号两边的对象其实都是元组:

     x,y,z = 1,2,3

    本质上为:

     ( x,y,z ) = (1,2,3)

    这种多元赋值方式可以实现无需中间变量交换两个变量的值:

     x,y = 1,2
     x,y = y,x

    执行代码,x和y的值将互换。

3、标志符

  • 专用下划线标志符

    _XXX,不用from module import *导入

    _ XXX _,系统定义名字

    _XXX,类中的私有变量名

    下划线对解析器具有特许的意义,而且是内建标志符使用的符号,所以建议避免用下划线作为变量名的开始。

4、Python基本风格

注释、缩进、标志符风格以上述及,此外Python还提供了一个机制“文档”:可以通过_ doc _变量,动态获得文档字符串:

obj.__doc__

5、内存管理

  • 变量定义

    大多数编译型语言,变量在使用前必须先声明,而Python作为解析型语言,无须显示声明变量,变量在第一次被赋值时自动声明。

  • 动态类型

    Python不但无须事先声明变量,而且也无需类型声明。对象的类型和内存占用都是在运行时确定的。

  • 内存分配

    Python承担了内存管理的复杂任务,程序员无需关心内存管理。

  • 引用计数

    Python使用引用计数这个技术来追踪内存中的对象。

    增加引用计数:

    当对象被创建时,就生成了一个引用,引用计数被设置为1。当同一个对象又被赋值给其他变量时,或作为参数传递给函数、方法、类实例时,或被赋值为一个窗口对象的成员时,该对象一个新的引用就被创建,引用计数自动加1。

    减少引用计数:

    当对象的引用被销毁时,引用计数会减少。比如:

    (1)函数运行结束,局部变量被自动销毁,对象的引用计数也会随之减少。

    (2)变量被重新赋值(值改变),引用计数减1。

    (3)del obj,obj引用计数减1。

  • 垃圾收集

    Python的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器。

时间: 2024-08-04 04:02:16

《Python核心编程》手记 基础的相关文章

《Python核心编程 》手记-快速入门

春节终于over了,回归充实的学习研究生活.打开久违的CSDN博客,看到官方推送的 『博客Markdown编辑器上线啦』,让我顿时有了写作的欲望,真是程序员的福利.之前阅读各种文章书籍,都是用MarkDownPad做的笔记,喜欢以及习惯于MarkDown简洁的语法. 总之各种方便.为了试试效果,将以前阅读<Python核心编程>的手记整理发上来,也当温习一遍. 第二章 快速入门 print语句中使用字符串格式操作符,实现字符替换功能. print "%s is %d" %(

Python核心编程基础教程之Python运算符、运算符优先级、表达式简介--20150717

Python核心编程基础教程之Python运算符.运算符优先级.表达式简介 1.Python运算符与表达式: (1)认识Pyhton运算符1:什么是运算符 在Python运算中,有时候我们需要对一个或者多个数字或者一个或者多个字符串进行运算操作,*,+ (2)认识Pyhton运算符2:运算符有哪些以及运算符的使用方法 + :加 - :减 * :乘 / :除 ** :幂 < :小于 > :大于 != :不等于 // :求相除的整数部分 % :求相除的余数部分 & :按位与 | :按位或

python核心编程--笔记

python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的python脚本 1.8 file   以给定的文件运行python脚本 2 _在解释器中表示最后

自学python核心编程

之前看过一段时间的小甲鱼零基础自学python,b站上有高清免费资源[av4050443],但是作为零基础实在学得艰难,下载了python核心编程pdf,在这里做一些笔记. 虽然使用的是第二版的教材,但我使用的是python3.5.2,感觉上差别不大,可以阅读. 这里从第二章的练习题开始! -------------------------------------------------------- 2 - 5:用while 和for 打印0-10: i = 0 while i < 11: p

Python核心编程这本书的一些错误

<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一章,有两个错误 1).它说任何类都有一些内置的特殊的类属性(即程序员不在类中定义也会存在),见截图 2).它说__new__方法比__init__方法更像是类的构造器.见截图: 下面进行测试: 1 #encoding:utf-8 2 class MyClass(): 3 def doPrint(self):

python核心编程第二版

初学Python这是一本有关Python开发的指南涵盖近期发布的Pyttlon版本的核心功能特性,而不仅仅是语法学习更多的高阶内容,如正则表达式.网络.多线程.图形用户界面.Web/CGl和Python扩展等包括几个全新的章节,关于数据库.网络客户端.Java/Jytt30n和Microsoft Office等 展示数以百计的代码片段.交互实例和大量加强您的Python技能的实用练习"对Wesley Chun<Python核心编程>第二版的漫长等待是值得的--它的深邃.它的全面,以及

《Python核心编程》 第七章 映射和集合类型 - 习题

课后习题 7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起? 答: dict1 = {'1' :' python' } dict2 = {'2' :"hello" } dict1.update(dict2) dictAll = dict1 print dictAll Result: {'1': ' python', '2': 'hello'} 7–2. 字典的键.我们知道字典的值可以是任意的 Python 对象,那字典的键又如何呢?请试 着将除数字和字符串以外的其他不同类型

Python核心编程的四大神兽

本文将主要分为4大部分,分别介绍Python核心编程中的迭代器.生成器 .闭包以及装饰器. 生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值:在下一次调用该函数执行时,程序将从上一次暂停的位置继续往下执行. 通过一个例子来理解生成器的执行过程.求1-10的所有整数的立方并将结果打印输出,正常使用列表的实现如下: def lifang_ls(): """求1-1

Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器

生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值:在下一次调用该函数执行时,程序将从上一次暂停的位置继续往下执行. 通过一个例子来理解生成器的执行过程.求1-10的所有整数的立方并将结果打印输出,正常使用列表的实现如下: 输出结果如下: 当数据量很少时,可以很快得到结果.但是如果范围扩大到10000甚至是100000000,就会发现程序执行时间会变长,变卡,甚至有可能会因超出内存