一、第一个python程序,包含的内容
1、声明函数:以关键字 def 开头,紧跟着函数的名称,然后是用括号括起来的参数。多个参数以逗号分割。
【注意】函数不定义一个返回数据类型;事实上,每个 Python 函数都返回一个值,如果这个函数曾经执行
了return语句,它将返回那个值,否则它将返回 Python 里面的空值 None。
Python 里面,变量从来不会显式的指定类型。 Python 会在内部算出一个变量的类型并进行跟踪。
2、可选的和命名的参数:如果不是命名的参数,则按照参数顺序进行;如果采用的是命名的参数,则可以按照任意参数顺序指定参数。
【注意】从左到右的读取参数列表,一旦你有一个命名的参数,剩下的【右边的所有参数】参数也必须是命名的。
3、文档字符串(docstring):作用给python添加文档注释。
【注意】docstring以三重引用(```)开始和结束表示一个文档字符串的注释
而且:此方式的注释,当输入函数名时,可以以类似help命令的方式,把文本显示出来。
4、一切都是对象:python里面所有东西都是对象,所有东西都可以有属性和方法。
5、代码缩进:python函数没有明显的开始和结束,也没有用花括号标记函数从哪开始和从哪停止,唯一的界定符就是:一个冒号(:)和代码自身的缩进。
6、捕获异常:python用try...except块来捕获异常,用raise来抛出异常【raise后紧跟异常的名称】;Java和c++用try...catch来捕获异常,用throw来抛出异常。
7、所有东西都区分大小写:
二、内置数据类型
【注意】在python中,每一个值都是一种数据类型,但并不需要声明变量的数据类型,python是根据每个变量的初始值来分析其类型,并在内部对其进行跟踪的。
【简要概括】
Booleans【布尔型】:true、false
Numbers【数值类型】:Intergers整数、Floats浮点数、Fractions分数、Complex number复数
Strings【字符串型】:Unicode
Bytes【字节】和Byte Arrays【字节数组】:例如一副jpg图像文件
Lists【列表】:值的有序序列
Tuples【元组】:有序而且不可变的值的序列
Set【集合】:无序值的集合
Dictionaries【字典】:键值对的无序集合。
1、布尔类型:布尔值可以直接当做数值对待,true==1;false==0;【0.0为false】
2、数值类型:
a:整数和浮点数:可以通过小数点来区分。
b:可以用type()来判断某个值或者变量的类型。如:type(1)---》输出:<class 'int'>
c:isInstance()判断某个值或者变量是否属于给定的某个类型。如:IsInstance(1,int)----》输出:true
d:int()将整数进行取整,不是四舍五入。
e:float精确到小数点后15位
f:整数可以无限大。
g:/:浮点数除法;//:整数除法【前提:分子和分母都是整数】;**:幂次方;
3、列表:python的主力数据
a:可以容纳任何对象【一个列表中的类型无需完全一样】,并可在添加新元素时进行动态扩展。
b:创建列表:以中括号包裹一些以逗号分隔的值即可。如:a_list=['a','b','example']
c:切片:通过制定两个索引值,可以获取称为切片的某个部分。返回值为一个列表;可以理解为前闭后开的取值;如:a_list[0:2]=['a','b']
d:如果两个切片索引都留空,那么将包括列表所有的元素,但该返回值与最初的列表名是不一样的,他是一个新的链表,所以a_list[:]可以用来对列表进行复制。
e:向列表中新添项:方法有+、append()、extend()【仅接受列表参数】、insert(索引,元素)【将单个元素插入到列表中】。如:
a_list =a_list + [2,'e']; a_list.append(True); a_list.extend(['four', ' Ω']); a_list.insert(0, ' Ω')
f:从列表中删除元素:①del、②当不知道索引时,还可以通过值进行删除、
③pop(参数可有可无)【不带参数,删除最后一个元素,并返回;
带参数,删除指定索引元素,并返回元素】;
如:del a_list[1];a_list.remove('new')
g:布尔上下文环境中的列表:空表===false;其他表为true
4、元组:元素是不可变的列表,一旦创建,任何方法不可修改元素。
a:元组用圆括号( );列表用中括号[ ]包围元素
b:负的索引从元组的尾部开始计数,这和列表也是一样的。
c:元组和列表一样,也可以进行切片操作,得到新的元组。
d:元组和列表的主要区别:元组是不能修改的。
e:元组的好处:①元组的速度比列表快,对于一些常量可以用元组定义;
②对于不需要修改的数据进行“写保护”;
③可以当做字典键
f:元组和列表间可以相互转换。
g:创建单元组时,需要在第一个元素后加一个逗号;否则创建的不是元组。
如:a_tuple=(False,)
5、集合
【注意】不含重复的值
a:集合用花括号{ }
b:可以以列表为基础,创建集合。----使用set()函数
a_list = ['a', 'b', 'mpilgrim', True, False, 42];
a_set =set(a_list);//以列表为基础创建集合
c:要创建空集合,可以不带参数调用set();如:a_set = set();
d:空集合表示:set();空字典表示{ };主要区分
e:修改集合:向集合中添加元素:add()和update()
add():接收单个可以是任何数据类型的参数。
update():仅接收一个集合作为参数;
f:集合是装唯一值的袋子,当向集合中添加已有的值时,集合不做任何操作。
g:删除集合元素:三种方法:①discard()、
②remove()---【二者均接收一个单值参数,作为传入;
不同点:当discard删除不存在的元素时不报错,空操作;remove会报错】、
③pop()----删除时随机的,无法控制删除哪个元素、
④clear()---删除所有元素
如:a_set.discard(10)、a_set.remove(10)
6、字典
a:字典是键值对的无序集合。向字典添加一个键的同时,必须为此键添加一个值,此值后边可以修改。
b:字典用大括号{ };里面是键值对。
如:a_dict = {'server': 'db.diveintopython3.org', 'database': 'mysql'}
c:字典中不允许有重复的键,可以用新值代替旧的键值。
d:修改字典的键值:a_dict['User'] = 'mark' 如果字典中有User这个键,那此操作就是用mark代替旧值;
如果没有这个键值对,就加入到字典中
e:字典的键区分大小写。
f:len(字典名)---返回字典中键的个数。
7、None
a:python中的特殊常量,他是一个空值。他不是false也不是空字符串