第三章 python基础

一、语句和语法

  \n  标准的行分隔符

  \   继续上一行

  ;   将两个语句连接在一行

  :  分开代码块的头和体

  代码块以缩进块的形式体现

  python文件以模块的形式组织

二、变量赋值

注意:python中对象是通过引用传递的!

python不支持++x等前置/后置的自增/自减运算符

多元赋值:将多个变量同时赋值

>>>x,y,z = 1,2,'string'  #其实多元赋值的=两边都是元组

或者写成:

>>>(x,y,z) = ( 1, 2, 'string' )  这样更清晰

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

>>>x,y = 1,2

>>>x,y = y,x

三、标识符

四、基本风格

一个典型的python文件结构如下图所示:

__name__指示模块应如何被加载:

若模块是被导入,__name__的值为模块的名字;

若模块是被直接执行,__name__的值为'__main__'

五、内存管理

python变量无需事先声明、无需指定类型;

内存管理由python解释器进行,程序员无需关心内存管理;

python使用引用计数进行内存管理;

del能够直接释放资源

del x会产生两个作用:

  从现在的名字空间中删除x

  x的引用计数减一

六、第一个python程序

#-*- coding: utf-8 -*-
#coding=utf-8 #加这两行的目的是为了后面加中文注释,否则写中文注释,在cmd下运行.py文件时会报错 'makeTextFile.py---create text file' import os
ls = os.linesep #os.linesep具有平台独立性质,自动获得你当前平台下的换行符 #get filename
while True:
fname = raw_input( "Enter the filename: \n" )
if os.path.exists(fname): #检查文件名是否有重复
print "ERROR: '%s' already exists" % fname
else:
break #get file content lines
all = [] #用一个列表来放输入的内容
print "\nEnter line('.' by itself to quit). \n" #loop until user terminates input
while True:
entry = raw_input( '>' )
if entry=='.':
break;
else:
all.append( entry ) #把每一行都添加到列表中去 #write lines to file with proper line-ending
fobj = open( fname, 'w' ) #打开文件准备写入
fobj.writelines( ['%s%s' % (x,ls) for x in all] ) #逐行写到文件中去
fobj.close()
print 'DONE!'

特别注意:

#-*- coding: utf-8 -*-
#coding=utf-8 加这两行的目的是为了后面加中文注释,否则写中文注释,在cmd下运行.py文件时会报错

七、相关模块和开发工具

Debugger:pdb

Logger:logging

Profilers:profile,hotshot,cProfile

Python核心编程读笔 2的更多相关文章

  1. Python核心编程读笔 12:OOP

    第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...

  2. Python核心编程读笔 10:函数和函数式编程

    第11章 函数和函数式编程 一 调用函数  1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...

  3. Python核心编程读笔 1

    第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...

  4. Python核心编程读笔 13:执行环境

    第14章  执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...

  5. Python核心编程读笔 11:模块

    第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...

  6. Python核心编程读笔 8: 文件和输入输出

    第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...

  7. Python核心编程读笔 7: 条件和循环

    第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...

  8. Python核心编程读笔 6: 映射和集合类型

    第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...

  9. Python核心编程读笔 5: python的序列

    第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...

  10. Python核心编程读笔 4

    第五章 数字 二.整形 1 布尔型 2 标准整数类型 3 长整型 数字后面加L,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...

随机推荐

  1. python Debug 单步调试

    一直犯愁的是python的调试,曾经写c都是编译完了用gdb直接调试了,轻松愉快.如今遇到这么一个解释型的程序.不知道怎么办了.用log吧,有时就是一个小程序,不想写这么多代码.打屏吧.有时屏幕翻得快 ...

  2. IOS 开展 分别制定了iphone 和 ipad 好? 或开发一个 Universal好?

    最近因为工作的需要,.因为时间短的开发周期 开发的需要 积 至iphone 和 ipad 台 执行 优势的版本号 1.安装包,轻松管理,分布 2.您下载iphone,ipad 会自己主动下载 3.审核 ...

  3. 不使用TNS直连数据库的三种方式

    1.在当前目录下新建tnsnames.ora文件 如windows环境下,在C:\Users\Administrator目录下新建tnsnames.ora文件,内容如下:test =(descript ...

  4. web Form 表单method="get" method="post" 区别

    get和post方法的不同 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的.Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际 ...

  5. Oracle触发器Trigger2行级

    create table trigger_t2( id int, name ), age int ); /* --创建一个before update的触发器-控制每一行,行级 --只有行级的才会有:n ...

  6. LeetCode之ReverseWorldString

    题目:将一个英文句子翻转,比如:the sky is blue 翻转后变为:blue is sky the 分析:我的实现方法是,利用栈将单词存储起来,然后再顺序拿出来,单词进栈还需注意添加空格. 主 ...

  7. git使用前配置

    1. git config --global user.name "Trey" 2. git config --global user.email 164355949@qq.com ...

  8. 更改linux系统提示信息

    一个好的习惯会让人终生受益,当然我们做运维也是如此,比如我们在前期维护系统时修改或者删除掉/etc/issue /etc/issue.net这两个文件. 修改和删除的目的是屏蔽系统版本信息,这样是为了 ...

  9. [Django] html 前端页面jQuery、图片等路径加载问题

    严格的说这个话题应该属于一个html前端路径加载问题.为了实现一个局部更新页面的功能,简单了解了一下Ajax.Ajax是一个为了实现浏览器和服务器异步通信功能的模块.严格来说不是一个新的语言,只是JS ...

  10. VC 窗口出现白屏闪烁的解决办法

    处理一下窗口的WM_ERASEBKGND消息即可. 在messagemap里添加ON_WM_ERASEBKGND() 在窗口头文件里添加 afx_msg BOOL OnEraseBkgnd(CDC* ...