《Python语言及其应用》学习笔记

第二章 ==========

对象的类型决定了可以对它进行的操作。对象的类型还决定了它装着的数据是允许被修改的变量(可变的),还是不可被修改的常量(不可变的)。

Python是强类型的,你永远无法修改一个已有对象的类型,即使它包含的值是可变的。

变量,就是在程序中为了方便地引用内存中的值而为它取的名字,在Python中,用 = 来给一个变量赋值。python中的变量有一个非常重要的性质:它仅仅是一个名字。赋值操作并不会实际复制值,它只是为数据对象取一个相关的名字,名字是对对象的引用而不是对象本身。

在Python中,如果想知道一个对象的类型,可以使用语句:type( thing )。

Python中以下划线开头的变量名有特殊的含义。

使用 int() 函数将其他数据类型转换为整形,它会保留传入数据的整数部分并舍去小数部分。int() 可以接受浮点数或者由数字组成的字符串,但无法接受包含小数点或指数的字符串。

布尔型,只有两个可选值:True 和 False 。当转换为整数时,分别为 1 和 0 。

浮点型,转换为整数时,所有的小数点后面的部分会被舍去。

可以将仅包含数字和正负号的字符串转换为整数。

如果混合使用多种不同的数字类型进行计算,Python 会自动地进行类型转换。与整数或浮点数混合使用市,布尔型的False会被当作 0 或者 0.0 ,True 会被当作 1 或者 1.0 。

Python3里,int 类型变为可以存储任意大小的整数,甚至超过 64 位。

在计算中的数字或结果需要的存储空间超过了计算机所提供的空间,就会造成整数溢出。

float() 函数可以将其他数字类型转换为浮点型。布尔型在计算中等价于 1.0 和 0.0 。也可以将包含有效浮点数(数字,正负号,小数点,指数及指数的前缀e)的字符串转换为真正的浮点型数字。

对 Unicode 的支持使得 Python 3 可以包含世界上任何书面语言以及许多特殊符号。

字符串型,是一种序列类型,它的本质是字符序列。Python 字符串是不可变的,无法对原字符串进行修改,但可以将字符串的一部分复制到新字符串,来打到相同的修改效果。

将一系列字符包裹在一对单引号或一对双引号中即可创建字符串。单引号和双引号包裹的字符,没有任何区别。可以在双引号包裹的字符串中使用单引号,或者在单引号包裹的字符串中使用双引号。

还可以使用连续三个单引号''',或者连续三个双引号""",创建字符串。三元引号多用于创建多行字符串。

print() 会把包裹字符串的引号去掉,仅输出其实际内容,易于阅读,还会自动地在各个输出部分之间添加空格,并在所有输出的最后添加换行符。

解释器可以打印字符串以及像 \n 的转义符。

Python 允许空串的存在,它不包含任何字符且完全合法。

str() 可以将其他Python 数据类型转换为字符串。当你调用print() 函数或者进行 字符串差值 时,Python 内部会自动使用 str() 将非字符串对象转换为字符串。

Python 允许你对某些字符进行转义操作,以此来实现一些难以单纯用字符描述的效果。

在Python 中,可以使用 + 将多个字符串或字符串变量拼接起来。也可以直接将一个字面字符串(非字符串变量)放到另一个的后面直接实现拼接。

在字符串名后面添加[ ],并在括号里指定偏移量可以提取该位置的单个字符。第一个字符的偏移量为 0 ,最后一个字符的偏移量也可以用 -1 表示,这样就不用从头到尾数。偏移量从右到左紧接着为 -2, -3, 以此类推。如果指定的偏移量超过了字符串的长度,会收到一个异常提醒。位置索引在其他序列类型(列表和元组)中的使用也是如此。

由于字符串是不可变的,因此无法直接插入字符或改变指定位置的字符。

分片操作:可以从一个字符串中抽取子字符串(字符串的一部分)。使用一对方括号,起始偏移量start,终止偏移量 end 以及可选的步长 step 来定义一个分片。其中一个可以省略。分片得到的子串,包含从 start 开始到 end 之前的全部字符。
[ : ] 提取从开头到结尾的整个字符串
[ start : ] 从 start 提取到结尾
[ : end ] 从开头提取到 end - 1
[ start : end ] 从 start 提取到 end -1
[ start : end : step ] 从 start 提取到 end - 1 ,每 step 个字符提取一个;

偏移量从左至右,从 0,1 开始,依次增加;从右至左,从 -1 ,-2开始,依次减小。如果省略 start ,分片会默认使用偏移量 0 (开头);如果省略 end ,分片会默认使用偏移量 -1 (结尾)。
Python 的提取操作不包含最后一个偏移量对应的字符。
分片中 end 的偏移量需要比实际提取的最后一个字符的偏移量多 1 。
在分片中,小于起始位置的偏移量会被当作 0 ,大于终止位置的偏移量会被当作 -1 。

函数是可以执行某些特定操作的有名字的代码。与广义函数 len() 不同,有些函数只适用于字符串类型,为了调用字符串函数,需要输入字符串的名称,一个点号,接着是需要调用的函数名,以及需要传入的参数:string.function(arguments)

列表 list 是由一系列值组成的序列,值与值之间由逗号隔开,整个列表被方括号所包裹。


第三章 Python容器:列表,元组,字典,集合=============================

元组和列表都不要求所含元素的种类相同,每个元素都可以是任何Python类型的对象。元组是不可变的,当你给元组赋值时,这些值便被固定在元组里了,再也无法修改。列表却是可变的,这意味着可以随意地插入或删除其中的元素。

使用[ ] 或 list() 创建列表。列表可以由零个或多个元素组成,元素之间用逗号分开,整个列表被方括号所包裹。

如果仅仅想要记录一些互不相同的值,而不在乎它们之间的顺序关系,集合 set 会是一个更好的选择。

使用 list() 将其他数据类型转换成列表。

使用 [offset] 获取元素:和字符串一样,通过偏移量可以从列表中提取对应位置的元素。指定的偏移量小于起始位置或者大于末尾位置时,会产生异常。

列表可以包含各种类型的元素,包括其他列表。

使用 [offset] 修改元素:就像可以通过偏移量访问某元素一样,你也可以通过赋值对它进行修改。列表的偏移量必须是合法的。
通过这种方式无法修改字符串中的指定字符,因为字符串是不可变的。列表是可变的,因此你可以改变列表中的元素个数,以及元素的值。

猜你喜欢

转载自www.cnblogs.com/Adobe_fans/p/10080231.html