分享

第一章:基础知识

 岚风窗 2015-05-27
一、交换式解释器
当启动Python的时候,会出现Python的版本信息、登陆时间和操作系统等信息,这是交互式Python解释器。
注:解释器的准确外观和错误信息都取决于所使用的版本。
二、算法
计算机程序设计就是告诉计算机做什么事,程序员要用计算机能够理解的语言去告诉它。算法可以理解为“程序”或者是“食谱”的另一种说法,详细描述如何做事。
三、数字和表达式
实数在Python中被称为浮点数(Float,或者Float-point Number),如果参与除法的两个数中有一个数为浮点数,结果也是浮点数。



在Linux系统上运行Python时,使用命令开关-Qnew就可以使Python只执行普通的除法。
命令:python  -Qnew


但是Python中有一个实现整除的操作符--双斜线,就算是浮点数,双斜线也会执行整除:


另外,“%”表示取余(模除)运算符--x%y的结果为x除以y的余数:


四、长整型数
1、Python可以处理非常大的整数。
普通整数不能大于2147483647(也不能小于-2147483648),如果真的需要大数,可以使用长整型数。
长整型数书写方法和普通整数一样,但是结尾有个L。而且长整型数和普通整数可以混合使用。

2、十六进制和八进制
十六进制和八进制首数字都是0
十六进制:           八进制:
 
五、变量
变量(variable)可理解为代表(或者引用)某值的名字,可以调用。
变量就是用来赋值、然后用来调用的值的别名。
注:变量名可以包括字母、数字、下划线。变量名不能以数字开头。
六、语句
表达式:“食谱”的”要素“
语句:包括print语句和赋值语句
表达式是“某事”,语句是告诉它“做某事”
Python3.0中,print是函数,这意味着需要编写print (42)而不是print 42
语句特性的一般定义:它们改变了事物。比如:赋值语句改变了变量,print语句改变了屏幕显示的内容。
七、获取用户输入
我们编写程序是让别人用的,无法预测用户会输入什么值,所以可以使用input函数。

八、函数
函数就像可以用来实现特定功能的小程序一样。Python的很多函数都能做很奇妙的事情。事实上,也可以自己定义函数。因此,我们通常把pow等标准函数称为内建函数。
1、用函数pow代替幂运算符(**)来计算乘方。

上面我们使用函数的方式叫做调用函数。可以给它提供参数(本例中的2和3),它会返回值给用户。事实上,可以结合使用函数调用和运算符来创建更复杂的表达式。

2、函数abs可以得到数的绝对值,round函数则会把浮点数四舍五入为最接近的整数值。


但是如果一个人的年龄是32.9岁,但是想取整为32岁,就要用到floor函数(称为floor),但是不能直接使用它。与其他很多有用的函数一样,你可以在某个模块中找到floor函数。
九、模块
可以把模块想象成导入到Python以增强其功能的扩展。需要使用特殊的命令import来导入模块。前面内容提到的floor函数就在名为math的模块中:

用法:用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数。
1、如果想把年龄转换为整数32而不是浮点数32.0,可以使用int函数。


2、使用import命令的另外一种形式:
(函数sqrt用来计算一个数的平方根)
3、cmath和复数
sqrt函数用于计算一个数的平方根,但它只能处理浮点数。

负数的平方根是虚数,而虚数(以及复数--实数和虚数之和)是完全不同的,只能由cmath的模块来实现。
   
1j是个虚数,虚数均以j(或者J)结尾,就像长整型数使用L一样。

十、保存并执行程序
在交互式解释器里输入的一切都会在它退出的时候丢失。

十一、字符串
字符串即一串字符
1、单引号字符串和转移引号
大部分情况下单引号和双引号是一样的,但是如果字符串中包含单引号时,那就要用双引号;相反,如果字符串中包含双引号,那就要用单引号。

当然也可以用反斜线(\)对字符串中的引号进行转义

虽然转义符号十分有用,但有时打印含有大量引号的字符串时会很麻烦,总不能每个引号前都加转义符号。
2、拼接字符串
我们可以写两个单独的字符串,让Python自动拼接它们,合为一个字符串。

拼接字符串要像加法运算一样:

 
3、字符串表示,str和repr
前面的例子中,所有通过Python打印的字符串还是被引号括起来的,但是现在使用print语句,结果就不一样了。

值被转换为字符串的两种机制:
str函数:它会把值转换为合理形式的字符串,以便用户可以理解;
repr函数:它会创建一个字符串,以合法的Python表达式来表示值。


repr(x)的功能也可以用`x`实现(注意:`是反引号,而不是单引号)。如果希望打印一个包含数字的句子,那么反引号就很有用了。比如:

4、input和raw_input的比较
input会假设用户输入的是合法的Python表达式,要求用户输入的是字符,所以用户输入带字母的表达式时必须要先用引号括起来,把输入的表达式转化为字符;如果输入的是数字则不用加引号。

raw_input就没有要求,除非对input有特别的需求,否则应该尽可能使用raw_input函数。

下面是input和raw_input输入数字时返回值的对照

5、长字符串、原始字符串和Unicode
在需要长达多行的字符串或者包含多种特殊字符串的时候,这些字符串语法就非常有用。
1).长字符串
如果要写一个非常非常长的字符串,它需要跨很多行,那么可以使用三个引号代替普通引号。

以上也可以使用三个双引号。这种与众不同的引用方式,可以让你在字符串中同时使用单引号和双引号,而不需要使用反斜线进行转义。
2).原始字符串
原始字符串是解决转义字符(\)转化为普通字符用的问题的。
在普通字符串中,反斜线有特殊的作用:它会转义,可以在字符串中加入通常情况下不能直接加入的内容。
比如换行符是\n,如下就可以直接换行

但是如果有个路径下的文件夹名叫nowhere,这样写在字符串中就会有问题了。

这时候,原始字符串就派上用场了。原始字符串不会把反斜线当作特殊字符。在原始字符串中输入的每个字符都会与书写的方式保持一致:

效果等同于

当然以上也可以再用转义符号对转义符号转义,但是如果路径过长,可能就会很不方便。

不能在原始字符串结尾输入反斜线。也就是说原始字符的最后一个字符不能是反斜线,除非你对它进行转义。

注:可以在原始字符串中同时使用单双引号,即使三引号字符串也可以充当原始字符串。
3).Unicode字符串
Python中的普通字符串在内部是以8位的ASCII码形成存储的,而Unicode字符串存储为16位Unicode字符,这样就能够表示更多的字符集了,包括世界上大多数语言的特殊字符。

总结:
input和raw_input的主要区别是:使用raw_input让用户输入的表达式的时候不需要加引号了,使用户输入体验更方便。
长字符串是针对字符串中的引号:如果一个字符串很长,且要跨很多行,里面混合着许多的单引号和双引号,这时候可以使用三引号代替普通引号使用在字符串上。
原始字符串针对字符串中的转义字符,使反斜线不再当作特殊的转义符来使用,而是普通普通字符,即使三引号字符串也可以充当原始字符。

关于Python中的括号区分问题:
Python中的小括号():代表tuple元组数据类型,元组是一种不可变序列。
Python中的中括号  [ ]  :代表list列表数据类型,列表是一种可变的序列。
Python中的 大括号 { }  :代表dict字典类型数据类型,字典是由键值对组成的。冒号分开键和值,逗号隔开组。

本章小结
算法:算法是描述如何完成一项任务的方法。实际上在编写程序的时候,就要使用计算机能够理解的语言来准确的描述算法。这类对机器友好的描述就叫做程序,程序主要包含表达式和语句。
表达式:表达式是计算机程序的组成部分,它用于表示值。比如:2 + 2是表达式,表示值4。简单的表达式是通过使用运算符(如”+“和”%“)和函数(如pow)对字面值进行处理为构建起来的。表达式也可以包含变量。
变量:变量是一个别名,它表示某个值。给变量赋值,赋值是一类语句。
语句:语句是告诉计算机做某些事情的指令。它涉及改变变量(通过赋值)、向屏幕打印内容(print)、导入模块或者其他大量复杂的操作。
函数:Python中的函数就像数学中的函数,它们可以带有参数,并且返回值。
模块:模块是扩展,它可以导入到Python中,从而扩展Python的功能。比如math模块就提供了很多数学函数。
程序:为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列。
字符串:字符串就是一个由字符组成的序列。


本章的新函数
abs(number)                                   返回数字的绝对值
camth.sqrt(number)                        返回平方根,也可以用于负数
float(object)                                     将字符串和数字转换为浮点数
int(object)                                        将字符串和数字转换为整数
help()                                               提供交互式帮助
input(prompt)                                   获取用户输入
raw_input(prompt)                           获取用户输入,返回的类型为字符串
long(object)                                      将字符串和数字转换为长整型数
math.ceil(number)                            返回数的上入整数,返回值的类型为浮点数
math.float(number)                           返回数的下舍整数,返回值的类型为浮点数
math.sqrt(number)                            返回平方根,不适用于负数
pow(x, y[, z])                                     返回x的y次幂(所得结果对z取模)
其中x和y是必选参数,z是可选参数,如果使用了参数z,中括号必须去掉。
round(number[. ndigits])                    根据给定的精度对数字进行四舍五入
str(object)                                          将值转换为字符串
repr(object)                                        返回值的字符串表示形式



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多