一.
1.字面常量
数字:整数(int),浮点数(float)
字符串:单引号,双引号(单双工作机制完全相同),三引号(指定多行字符串,之间自由使用单双)
***字符串是不可变的***
2.格式化方法
使用.format()方法中与之相应的参数替换字符串中特定格式。
即将每个参数值替换至格式所在的位置。
***print总是会以一个不可见的(\n)结尾***可通过end指定以空白结尾!
3.转义序列
\,\\指定反斜杠本身
使用双引号括起的字符串中对字符串内的双引号使用转义序列
在一个字符串中,一个放置在末尾的反斜杠表示字符串将在下一行继续,不会添加新的一行
4.原始字符串
在字符串前增加r或R指定一些未经过特殊处理的字符串,即原始字符串
***在处理正则表达式时应全程使用原始字符串。否则将会大量Backwhacking需要处理***
5.变量
能够存储任何信息并且也能通过命名访问
标识符:为某些东西提供的给定名称
标识符命名:第一个字符必须是大写或小写或_
其他部分可以由字符,_,数字
区分大小写
数据类型:变量可以将各种形式的值保存为不同的数据类型
通过类创建自己的类型
对象:Python将程序中的任何内容统称为对象。(所有一切皆对象:数字,字符串,函数)
6.逻辑行与物理行
逻辑行:Python所看到的单个语句。Python假定每一物理行对应一个逻辑行
一行物理行中指定多行逻辑行,必须使用分号;明确表明逻辑行或语句的结束(强烈不用!)
***显式行连接:如果你有一行非常长的代码,你可以通过使用反斜杠将其拆分成多个物理行。***
7.缩进
缩进:空白区在各行开头非常重要(四个空格缩进)
在逻辑行的开头留下空白区用以确定各逻辑行的缩进级别,而后者又可用于确定语句的分组
***块:放置在一起的语句必须拥有相同的缩进***
8.运算符与表达式
运算符:+ - * **(乘方) / //(整除) %(取模) ==(等于)
同样遵循数值运算与赋值的快捷方式 a*=3
变量 = 变量 运算 表达式 =》变量 运算 = 表达式
求值顺序:最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级,也能是程序更加可读
9.控制流(不存在switch)
(1)if 判断条件: (冒号表示接下来会有一块语句在后面)
代码块
elif 判断条件:
代码块
else:
(2)while(当条件为真的前提下重复执行某块语句)
(3)for...in能在任何队列中工作
for i in range(1,5):
print(i)
else:
***队列就是一系列项目的有序集合***
10.break语句.
中断一个for或while循环,任何相应循环中的else块都将不会被执行
11.continue语句
跳过当前循环块中的剩余语句,并继续该循环的下一次迭代
二.函数
1.函数
(1).函数:可重复使用的程序片段
调用函数:允许为某个代码块赋予名字,允许通过特殊的名字在程序任何地方来运行代码块,并可重复任何次数。
input()将以字符串的形式返回输入的内容
range(m,n)生成数字序列,从m开始,至n结束(不包含n)默认以1逐步递增,range(1,5,2)则以2为逐步递增的加数
(2).关键字:def 函数标识符名称(变量):
①函数参数:
形参:在定义函数时给定的名称
实参:在调用函数时所提供给函数的值
②局部变量:
在函数定义中声明变量时,不会以任何方式与身处函数之外但具有相同名称的变量产生关系
变量的作用域:只存在于函数这一局部,即被定义的块,从定义它们的名字的定义点开始
***即主代码块中定义的值,不受先前调用的函数中的局部变量的影响***
(3).global语句(全局变量)
给一个在程序顶层的变量赋值(不存在于任何作用域中,无论是函数还是类)
在不使用global语句的情况下,不可能为一个定义于函数之外的变量赋值
在同一句global语句中指定不止一个全局变量
(4).默认参数值(常数,不可变的)
使函数中一些参数可选并使用默认的值,以避免用户不想提供值得情况。
通过在函数定义时附加一个赋值运算符=来为参数指定默认参数值
***只有位于参数列表末尾的参数才能被赋予默认参数值(即在函数的参数列表中拥有默认值的参数不能位于没有默认参数值的参数之前)***
(5).关键字(命名)参数
调用函数时,通过命名来给对应参数赋值,而非位置
优点:不再考虑参数顺序,只对希望赋予的参数赋值,只要其他参数都具有默认参数值
(6).可变参数
通过星号*:实现定义的函数里面有任意数量的变量,即参数数量是可变的
*星号参数:从此处开始直到结束的所有位置参数都将被收集并汇集成一个元组(Tuple)
**双星号参数:从此处开始直至结束的所有关键字参数都将被收集并汇集成一个字典(DIctionary)<键值对>
(7).return语句
用于从函数中返回,也就是中断函数。可以选择在中断函数时从函数中返回一个值
(pass语句用于指示一个没有内容的语句块)
***return语句没有搭配任何一个值则,代表返回None(虚无,指示一个变量没有值)***
***每一个函数都在其末尾一句return None***
2.DocString(文档字符串)
适用模块,类
'''Prints the maximum of two number. 打印两个数值中的最大数。
The two values must be integers.这两个数都应该是整数'''
.
第二行为空行,后跟的第三行开始是任何详细的解释说明
使用函数的__doc__(双下划线)属性(属于函数的名称)来获取函数的文档字符串属性
三.标准库
1.模块(可重用程序)
Python编写的模块,解释器将从sys.path变量所提供的目录进行搜索
如果找到了对应模块,则该模块中的语句将在开始运行
(1)按字节码编译的.pyc文件
将Python转换成中间形式的文件,下一次从其它不同程序导入模块时更加快速
(2)from...import语句
一般来说,应尽量避免使用from...import,而去使用import语句
这是为了避免在程序中出现名称冲突,同时也为了使程序更加易读
(3)模块的__name__
模块中的语句可以找到所处模块名称,对于确定模块是独立运行还是被导入进来运行的这一特定目的大为有用
当模块第一次被导入时,所包含的代码将被执行,使模块以不同的方式运行,取决于是为自己所用还是导入而来
***每一个Python模块都定义了__name__属性,如果与__main__属性相同则代表一个模块是由用户独立运行的***
2.dir函数
内置的dir()函数能返回由对象所定义的名称列表,如果是模块,则该列表会包含函数内所定义的函数,类,变量
vars()函数也可以返回这些值的属性,但只是可能,它并不能针对所有类都能正常工作
3.包
方便分层组织模块的方式
组织程序的层次结构:包-》模块-》全局变量,函数-》变量
定义:包含一个模块与一个特殊的__init__.py文件的文件夹
四.数据结构
用来存储一系列相关数据的集合。只是一种结构,能够将一些数据聚合在一起
1.List列表(可改变)
一种用于保存一系列有序项目的集合
项目的列表应用方括号[' ',' ']括起来,可添加,移除,搜索列表中的项目
使用对象与类的实例
使用点号的方法访问对象
append:向列表末尾添加一个项目
field:字段,拥有属于该类的对象时,才能使用这些变量或名称
sort:排序列表本身(列表是可变的,字符串是不可变的)
2.Tuple元组(不可变)
将多个对象保存到一起,不能编辑或更改元组
通过特别指定项目定义,指定项目时加上括号,内部用逗号分隔( , , , ,)
通常用于保证某一语句或某一用户定义的函数可以安全采用一组数值
索引运算符:使用方括号形式
3.Sequence序列:(列表,元组,字符串)
主要功能是资格测试和索引操作,允许直接获取序列中的特定项目
Slicing切片运算符:
允许序列中的某段切片,也就是序列之中的一部分
list=['apple','mango','carrot','banana']
list[1:3:Step]:序列切片将包括起始位置,但不包括结束位置,第三个参数为切片的步长
4.字典
只能使用不可变的对象(字符串)作为键,且键必须唯一
可以使用可变或不可变的对象作为值
dict={key:value1,key2:value2}
字典中的成对键值配对不会以任何方式进行排序,只能在使用前自行排序
from key,value in dict.items():
print key,address
dict[key]=value
5.Set集合
简单对象的无序集合。当集合中的项目存在与否比起次序或其出现次数更加重要时,使用集合。
可以测试某些对象的资格或情况,检查是否是其他集合的子集,找到两个集合的交集
Collec=set(['india','china','russia'])
'india' in Collec
6.名称绑定
变量名只是指向计算机内存中存储相应对象的那一部分
创建对象并将其分配给某个变量时,变量只会查阅某个对象,并且它不代表对象本身
*即不同变量名指定相同对象,增删为同一对象列表
但通过生成一份完整的切片生成列表副本时,出现两份列表*
***如果创建一份诸如序列等复杂对象的副本,必须使用切片操作制作副本
如果仅仅将一个变量名赋予给另一个名称,那么它们都将查阅同一个对象***
1.字面常量
数字:整数(int),浮点数(float)
字符串:单引号,双引号(单双工作机制完全相同),三引号(指定多行字符串,之间自由使用单双)
***字符串是不可变的***
2.格式化方法
使用.format()方法中与之相应的参数替换字符串中特定格式。
即将每个参数值替换至格式所在的位置。
***print总是会以一个不可见的(\n)结尾***可通过end指定以空白结尾!
3.转义序列
\,\\指定反斜杠本身
使用双引号括起的字符串中对字符串内的双引号使用转义序列
在一个字符串中,一个放置在末尾的反斜杠表示字符串将在下一行继续,不会添加新的一行
4.原始字符串
在字符串前增加r或R指定一些未经过特殊处理的字符串,即原始字符串
***在处理正则表达式时应全程使用原始字符串。否则将会大量Backwhacking需要处理***
5.变量
能够存储任何信息并且也能通过命名访问
标识符:为某些东西提供的给定名称
标识符命名:第一个字符必须是大写或小写或_
其他部分可以由字符,_,数字
区分大小写
数据类型:变量可以将各种形式的值保存为不同的数据类型
通过类创建自己的类型
对象:Python将程序中的任何内容统称为对象。(所有一切皆对象:数字,字符串,函数)
6.逻辑行与物理行
逻辑行:Python所看到的单个语句。Python假定每一物理行对应一个逻辑行
一行物理行中指定多行逻辑行,必须使用分号;明确表明逻辑行或语句的结束(强烈不用!)
***显式行连接:如果你有一行非常长的代码,你可以通过使用反斜杠将其拆分成多个物理行。***
7.缩进
缩进:空白区在各行开头非常重要(四个空格缩进)
在逻辑行的开头留下空白区用以确定各逻辑行的缩进级别,而后者又可用于确定语句的分组
***块:放置在一起的语句必须拥有相同的缩进***
8.运算符与表达式
运算符:+ - * **(乘方) / //(整除) %(取模) ==(等于)
同样遵循数值运算与赋值的快捷方式 a*=3
变量 = 变量 运算 表达式 =》变量 运算 = 表达式
求值顺序:最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级,也能是程序更加可读
9.控制流(不存在switch)
(1)if 判断条件: (冒号表示接下来会有一块语句在后面)
代码块
elif 判断条件:
代码块
else:
(2)while(当条件为真的前提下重复执行某块语句)
(3)for...in能在任何队列中工作
for i in range(1,5):
print(i)
else:
***队列就是一系列项目的有序集合***
10.break语句.
中断一个for或while循环,任何相应循环中的else块都将不会被执行
11.continue语句
跳过当前循环块中的剩余语句,并继续该循环的下一次迭代
二.函数
1.函数
(1).函数:可重复使用的程序片段
调用函数:允许为某个代码块赋予名字,允许通过特殊的名字在程序任何地方来运行代码块,并可重复任何次数。
input()将以字符串的形式返回输入的内容
range(m,n)生成数字序列,从m开始,至n结束(不包含n)默认以1逐步递增,range(1,5,2)则以2为逐步递增的加数
(2).关键字:def 函数标识符名称(变量):
①函数参数:
形参:在定义函数时给定的名称
实参:在调用函数时所提供给函数的值
②局部变量:
在函数定义中声明变量时,不会以任何方式与身处函数之外但具有相同名称的变量产生关系
变量的作用域:只存在于函数这一局部,即被定义的块,从定义它们的名字的定义点开始
***即主代码块中定义的值,不受先前调用的函数中的局部变量的影响***
(3).global语句(全局变量)
给一个在程序顶层的变量赋值(不存在于任何作用域中,无论是函数还是类)
在不使用global语句的情况下,不可能为一个定义于函数之外的变量赋值
在同一句global语句中指定不止一个全局变量
(4).默认参数值(常数,不可变的)
使函数中一些参数可选并使用默认的值,以避免用户不想提供值得情况。
通过在函数定义时附加一个赋值运算符=来为参数指定默认参数值
***只有位于参数列表末尾的参数才能被赋予默认参数值(即在函数的参数列表中拥有默认值的参数不能位于没有默认参数值的参数之前)***
(5).关键字(命名)参数
调用函数时,通过命名来给对应参数赋值,而非位置
优点:不再考虑参数顺序,只对希望赋予的参数赋值,只要其他参数都具有默认参数值
(6).可变参数
通过星号*:实现定义的函数里面有任意数量的变量,即参数数量是可变的
*星号参数:从此处开始直到结束的所有位置参数都将被收集并汇集成一个元组(Tuple)
**双星号参数:从此处开始直至结束的所有关键字参数都将被收集并汇集成一个字典(DIctionary)<键值对>
(7).return语句
用于从函数中返回,也就是中断函数。可以选择在中断函数时从函数中返回一个值
(pass语句用于指示一个没有内容的语句块)
***return语句没有搭配任何一个值则,代表返回None(虚无,指示一个变量没有值)***
***每一个函数都在其末尾一句return None***
2.DocString(文档字符串)
适用模块,类
'''Prints the maximum of two number. 打印两个数值中的最大数。
The two values must be integers.这两个数都应该是整数'''
.
第二行为空行,后跟的第三行开始是任何详细的解释说明
使用函数的__doc__(双下划线)属性(属于函数的名称)来获取函数的文档字符串属性
三.标准库
1.模块(可重用程序)
Python编写的模块,解释器将从sys.path变量所提供的目录进行搜索
如果找到了对应模块,则该模块中的语句将在开始运行
(1)按字节码编译的.pyc文件
将Python转换成中间形式的文件,下一次从其它不同程序导入模块时更加快速
(2)from...import语句
一般来说,应尽量避免使用from...import,而去使用import语句
这是为了避免在程序中出现名称冲突,同时也为了使程序更加易读
(3)模块的__name__
模块中的语句可以找到所处模块名称,对于确定模块是独立运行还是被导入进来运行的这一特定目的大为有用
当模块第一次被导入时,所包含的代码将被执行,使模块以不同的方式运行,取决于是为自己所用还是导入而来
***每一个Python模块都定义了__name__属性,如果与__main__属性相同则代表一个模块是由用户独立运行的***
2.dir函数
内置的dir()函数能返回由对象所定义的名称列表,如果是模块,则该列表会包含函数内所定义的函数,类,变量
vars()函数也可以返回这些值的属性,但只是可能,它并不能针对所有类都能正常工作
3.包
方便分层组织模块的方式
组织程序的层次结构:包-》模块-》全局变量,函数-》变量
定义:包含一个模块与一个特殊的__init__.py文件的文件夹
四.数据结构
用来存储一系列相关数据的集合。只是一种结构,能够将一些数据聚合在一起
1.List列表(可改变)
一种用于保存一系列有序项目的集合
项目的列表应用方括号[' ',' ']括起来,可添加,移除,搜索列表中的项目
使用对象与类的实例
使用点号的方法访问对象
append:向列表末尾添加一个项目
field:字段,拥有属于该类的对象时,才能使用这些变量或名称
sort:排序列表本身(列表是可变的,字符串是不可变的)
2.Tuple元组(不可变)
将多个对象保存到一起,不能编辑或更改元组
通过特别指定项目定义,指定项目时加上括号,内部用逗号分隔( , , , ,)
通常用于保证某一语句或某一用户定义的函数可以安全采用一组数值
索引运算符:使用方括号形式
3.Sequence序列:(列表,元组,字符串)
主要功能是资格测试和索引操作,允许直接获取序列中的特定项目
Slicing切片运算符:
允许序列中的某段切片,也就是序列之中的一部分
list=['apple','mango','carrot','banana']
list[1:3:Step]:序列切片将包括起始位置,但不包括结束位置,第三个参数为切片的步长
4.字典
只能使用不可变的对象(字符串)作为键,且键必须唯一
可以使用可变或不可变的对象作为值
dict={key:value1,key2:value2}
字典中的成对键值配对不会以任何方式进行排序,只能在使用前自行排序
from key,value in dict.items():
print key,address
dict[key]=value
5.Set集合
简单对象的无序集合。当集合中的项目存在与否比起次序或其出现次数更加重要时,使用集合。
可以测试某些对象的资格或情况,检查是否是其他集合的子集,找到两个集合的交集
Collec=set(['india','china','russia'])
'india' in Collec
6.名称绑定
变量名只是指向计算机内存中存储相应对象的那一部分
创建对象并将其分配给某个变量时,变量只会查阅某个对象,并且它不代表对象本身
*即不同变量名指定相同对象,增删为同一对象列表
但通过生成一份完整的切片生成列表副本时,出现两份列表*
***如果创建一份诸如序列等复杂对象的副本,必须使用切片操作制作副本
如果仅仅将一个变量名赋予给另一个名称,那么它们都将查阅同一个对象***