UNIX env查找技巧

  在一些UNIX系统上,可以用这样一种方法避免硬编码Python解释器的路径,在文件的特定的第一行注释中写上这样一句话。

#! usr/bin/env/ python
...script goes here

  这样写之后,env程序可以通过系统搜索路径的搜索设置(例如,在绝大多数的UNIX Shell中,通过搜索PATH环境变量中罗列的所有目录)定位Python解释器。这种方法可以使得代码具有更高的可移植性,因为没有必要在所有代码的第一行都硬编码Python解释器的安装位置。

  import 和 reload的使用注意事项

  你需要记住当调用reload时候需要使用括号,并且要记住让最新的代码运行时候,首先要使用reload。此外,reload是不可传递的,重载一个模块的话只会重载该模块,而不能够重载该模块导入的任何模块,因此有时候必须reload多个文件。由于这些复杂的地方,从现在开始就要避免使用import和reload启动程序,这是一个好主意。import和reload是Python中常用的测试方法,然而最好还是不要滥用。

  Python的核心数据类型

  对象类型    

  数字类型      整型,长整型,浮点型,复数类型  

  字符串       类似C语言的字符序列

  列表        [1,[2,'three'],4]

  字典        {'food':'Spam','taste':'yum'}

  元组        (1,'Spam',4,'U')

  文件        myfile = open('eggs', 'r')

  集合        set('abc'),{'a','b','c'}

  其他类型      None,bool

  编程单元类型    函数,模块,类,

  与实现相关的类型  编译的代码堆栈跟踪

  Python的数字类型包含:整数(无限精度),浮点数,十六进制、八进制、二进制,复数,集合,分数类型以及布尔类型和常亮类型。复数类型的虚部由j或J表示,八进制由0o或者0O前缀表示(第一个为zero,第二个为字母O)。

  关于字符串类型见:http://sebug.net/paper/python/ch04s03.html

  元组(tulpe)的不同之处在于,它一旦创建就无法改变。也就是说,元组是不可以改变的序列。与字典和列表一样,元组支持混合类型和嵌套。只有字典和列表是可变的类型。

  与C/C++不同的地方是,Python中没有switch语句,你可以使用if..elif..else语句来完成同样的工作(在某些场合,使用字典会更加快捷。)而且,Python在while语句中,你可以加入一个else语句!!!这一点跟C/C++也不同。

 

  Python的for循环从根本上不同于C/C++的for循环。C#程序员会注意到Python的for循环与C#中的foreach循环十分类似。Java程序员会注意到它与Java 1.5中的for (int i : IntArray)相似。

  在C/C++中,如果你想要写for (int i = 0; i < 5; i++),那么用Python,你写成for i in range(0,5)。你会注意到,Python的for循环更加简单、明白、不易出错。

  C++中预定义的运算符其运算对象只能是基本数据类型,而不适用于用户自定义类型(如类)。然而,在Python语言中,运算符重载也可以适用于类。

  在Python中,变量的特点有:1变量在它第一次赋值时候被创建。2变量在表达式中使用时将会被替换为他们的值。3变量在表达式使用以前必须已赋值。变量像对象一样不需要再一开始进行声明(这完全不同于C/C++)。

  从技术上来说,默认的交互式回显和打印的区别就相当于内置的repr和str函数的区别:这两个函数都可以把任意对象变换层它们的字符串模式。repr(也就是默认的交互模式回显)产生的结构就好像它们是代码。str(也就是打印语句)转变为一种通常对用户更加友好的格式。

  Python的除法:在Python3.0和Python2.6中除法略有差异,X/Y在Python2.6或之前的版本中,这对操作整数会省掉小数部分,对于浮点数会保持小数部分。在Python3.0版本中,将会变成真除法(一直保留小数部分)。X//Y是 Floor除法,这个操作不用考虑对象的类型,总会省掉结果的小数部分而得到整数部分。

  在Python3.0中,任然使用内置函数来创建集合对象,但是也添加了新的集合常量形式,使用为字典所保留的花括号表示。在Python3.0中 set([1,2,3,4])和{1,2,3,4}是等同的。不管如何创建集合,Python3.0都使用新的常量格式来显示它。在Python3.0中,要创建的空集合或从已有的可迭代对象构建集合,都还是需要用到内置的set函数,但是新的常量便于初始化具有已知结构的集合。

  集合set是强大而灵活的对象,但是在Python3.0和Python2.6之中都有一个限制,我们要铭记,很大程度上市由于其实现,集合只能包含不可变(即可散列)的对象类型。因此,列表和字典不能嵌入到集合当中,但是如果你需要存储复合值的话,元组是一个可嵌入的。在集合操作中使用元组的时候,元组比较完整的值。集合本事也是不可改变的因此不能直接嵌入到其他集合当中。如果需要在另个集合中存储一个集合,可以像调用set一样来调用frozenset。但是它创建一个不可变集合,该集合不可修改并且可以嵌套在其他集合当中。Python3.0中引入集合解析构造,类似于列表解析构造。但是,编写在花括号中而不是方括号中,并且作用于集合而不是列表。另外Python字符串还支持分片和索引。。。

  Python字符串的特点,Python字符串与C语言不同,没有单个字符这种类型,取而代之的是可以使用一个字符的字符串。严格来说,Python的字符串被划分为不可变序列这一类别,意味着这些字符串包含的字符从左到右的位置顺序,而且它们不可以在原处被修改。除了核心的字符串工具外,Python通过标准库re模块(正则表达式)还支持更高级的基于模式的字符串处理,甚至是xml解析器等。

   一个Python新手有时候会像这样使用文件名去尝试打开一个文件: myfile = open('C:\new\text.dat','w')他们认为这将打开一个在C:\new目录下名字为text.dat的文件。问题是这里有"\n"和"\t",它们会被识别为一个换行符号并且"\t"会被一个制表符所替代。解决这个问题的方法是,使用raw字符串。为了避免犯错,记得在Windows中增加字幕r在字符串前面。

  Python列表特点:

  列表的append方法和 "+"的结构类似,不同的是前者会原地修改列表而后者会生产型的列表。要注意,append和sort会在原地修改列表但是不会返回相关的列表对象,这两者返回值均为None。现在Python也可使用内置函数sorted它可以返回一个新的任何集合,并不只是列表。内置函数sorted有时候sort方法更有效。

  Python字典用法:

  使用字典的时候,有几点要注意:(1)序列运算无效。字典是映射机制不是序列。字典元素没有顺序概念,类似串联(有序合并)和分片(提取相邻片段)这样的运算是不能用的。(2)对新的索引赋值会添该新的加项。(3)键不一定总是字符串,任何不可变对象(也就是说不是列表)也是可以作为键值的。字典适合用作稀疏的数据结构!

  Python元组的用法:

  元组和列表非常类似,只不过元组不能再原处修改。虽然元组不支持任何方法调用,但是具有列表的大多数属性。元组是有序对象的集合,与列表相同可以嵌入到任何别的对象中。和列表字符串一样元组通过偏移(而不是键值)来访问。它支持所有基于偏移的操作。类似字符串,元组是不可变的。由于元组是不可变的,在不生成拷贝的情况下不能增长或者缩短,元组可以包含其他复杂类型,因此支持嵌套。

Python学习手册(1入门知识-数据类型)的更多相关文章

  1. Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...

  2. Python学习手册(第4版)PDF高清完整版免费下载|百度云盘

    Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...

  3. 《Python学习手册 第五版》 -第16章 函数基础

    前面的章节讲解的是一些基础数据类型.基本语句使用和一些文档查看的内容,这些都是一些基础,其实还谈不上入门,只有了解了函数,才算入门 函数是编程里面使用最多的也是最基本的程序结构, 本章重点内容 1.函 ...

  4. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  5. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  6. 《Python学习手册》读书笔记【转载】

    转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...

  7. 《Python学习手册》(二)

    <Python学习手册>(二) --类型和运算 数字 十六进制 八进制 二进制 0x 0o 0b hex() oct() bin() >>>int('10',2) 2 & ...

  8. 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」

    0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...

  9. 《Python学习手册 第五版》 -第10章 Python语句简介

    前面在开始讲解数据类型的时候,有说过Python的知识结构,在此重温一下 Python知识结构: 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 关于知识结构,前面已经说过我自己的 ...

  10. 自学笔记系列:《Python学习手册 第五版》 -写在开始之前

    今年双十一,在当当网上买了这本书,很厚很厚的一本书,大概有将近1700页左右,的确是一个“大工程”, 关于这本书的学习,我想采用一种博客的方式进行,既是写给自己,也想分享给每一个对Python学习感兴 ...

随机推荐

  1. 基于SuperSocket的IIS主动推送消息给android客户端

    在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...

  2. 数据库服务器CPU持续百分之百、部分Session一直处于执行状态---等待事件为:asynch descriptor resize(Oracle Bug )

    问题描述: 项目反馈数据库服务器的CPU持续100%的情况,跟踪发现很多活动会话的等待事件是“asynch descriptor resize”,并且这些会话一直处于Active状态,而这些会话执行的 ...

  3. Zlib 在windows上的编译

    1.下载http://www.zlib.net 下载,最新版本1.2.8 2.解压后,实际已提供了在vc下编译的工程,目录为:zlib-1.2.8\contrib\vstudio. 其中的zlibst ...

  4. Composer PHP 依赖管理工具

    composer 是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 依赖管理 ...

  5. Android 命名规范和编码规范

    简明概要  多写注释 一.关于命名规范 对于开发项目来说肯定是要有统一的规范,然而命名规范需要做到哪几点呢? 答: 首先,不能反人类. 再来就是,要望文而知其意. 下面就来说说具体该怎么去规范我们的代 ...

  6. UITextField控件处理键盘弹出时遮住输入框的问题

    原文连接: http://www.devdiv.com/thread-70159-1-1.html 实现以下三个方法,如果弹出的键盘会遮住输入框 ,整体的界面会向上移动,这样就不会遮住输入框了.自己增 ...

  7. ContentType ,charset和pageEncoding的区别(转)

    ========================说法一=========================== ContentType 属性指定响应的 HTTP 内容类型.如果未指定 ContentTy ...

  8. netty使用从0到1

    本周强总在组内做了netty分享,内容相当不错,趁着这次分享记录的,以及以前研究,进行一下记录. java io形式存在三种,一种是BIO传统IO是阻塞IO,面向字符.字节服务都属于这一种.NIO官方 ...

  9. Visual studio code离线安装插件

    Visual studio code离线安装插件 公司研发区不能连接公网,使用Visual studio code(vsc)写Golang代码需要安装Go插件,下面介绍下,vsc离线安装插件的步骤.以 ...

  10. Thanks David&#39;s Share

    2019.4.12 Today, we got the invitation letter from US, when we discuss the journey, i saw perfect sh ...