一、函数
函数是完成某个功能的代码段,可被其他代码调用,调用的代码可以将数据传递给函数,函数可将对数据的处理结果返回给调用代码。
def mysubt( a, b = 0 ): # 定义一个自己的减法函数,第二个参数为默认值为0的默认参数 c = a - b return c c = mysubt( 2, 1 ) # 按函数定义的参数顺序传入数据 c >>> 1 d = mysubt(b = 1, a = 2) # 用赋值符号指定每个参数的值来传入数据 d >>> 1 e = mysubt( 2 ) # 默认参数采用默认值,不输入新值 e >>> 2 def changeInt ( k ): k += 1 print( "函数内部的值:%d " % ( k )) return k = 1106 changeInt( k ) print( "函数外部的值:%d " % ( k )) >>> 函数内部的值:1107 函数外部的值:1106 def changeList ( mylist ): mylist[0] = 0 return newlist = [ 1, 2, 3 ] changeList( newlist ) newlist >>> [0, 2, 3] mynewsubt = lambda a, b: a - b mynewsubt( 2, 1 ) >>> 1
内置函数
数学运算类内置函数有求绝对值函数abs、求幂函数pow、求四舍五入函数round、对集合求和函数sum、取商和余数函数divmod、创建复数函数complex、产生一个序列函数range、转换成浮点数函数float、转换成整数函数int、转换为8进制函数oct、转换为16进制函数hex、转换为2进制函数bin、转换为布尔类型函数bool等。
集合操作类内置函数有创建字典函数dict、创建集合函数set、创建元组函数tuple、转换为列表函数list、生成一个迭代器函数iter、排序函数sorted、返回集合中的最大值函数max、返回集中的最小值函数min、返回集合长度函数len、遍历元素执行操作函数map/转换为字符串函数str、格式化输出字符串函数format等
IO操作类内置函数除了print和input外,还有创建文件的file函数和打开文件的open函数等。
其他常用内置函数还有对类和对象进行操作的函数以及返回变量类型函数type等
二、类和对象
对象
对象有属性和行为,属性可以表征对象的特征和状态,行为代表对象的功能。具有相同类型属性和行为的对象,用一个“类(class)”来抽象。在Python里,把类的行为的实现称为方法,方法的定义和应用类似于函数。
一个类是某一类对象的抽象,因此,该类对象的创建要依据该类来创建,称为实例化。因为str类是内置的,Python提供了更加方便和直观的对象创建方法,用赋值方式来创建字符串对象。
a = str( "aaaa" ) # 从类的实例化来创建对象 b = "aaaa" # 作为内置类型,可以用赋值运算符的方式创建对象 a == b >>> True a.__eq__(b) >>> True
Python中的对象由对象标识符(identity)、类型(type)和值(value)组成。
Python的机器学习扩展库将机器学习的算法已经封装为各种类,只需要将类实例化,并按使用要求使用即可。
字符串类str的常用方法有:在字符串中查找指定子串方法find、字符串格式化方法format、检查是否只包含十进制数字方法isdecimal、检查是否只包含数字方法isdigit、检查是否只包含空格方法isspace、合并字符串方法join、子串替换方法replace、去掉头尾空格方法strip、分隔字符串方法split等等。
mystring = " mystring " # 头尾有空格 mystring.strip() # 用strip方法去掉头尾的空格 >>> 'mystring' >>> '__class__', >>> '__contains__', >>> '__delattr__',
数据类型的整数类int、浮点数类float、复数类complex和布尔类bool的方法主要是支持各类运算符的专有方法,如加法__add__、减法__sub__等。
列表类型的list类的常用方法有:向列表的末尾添加元素方法append、清除列表方法clear、拷贝列表方法copy、返回子元素出现的次数方法count、返回子元素的索引方法index、在指定索引处插入元素方法insert、删除列表中一个元素方法pop、从列表中删除指定元素方法remove、反转列表方法reverse、列表元素排序方法sort等。
mylist = [ 1, 2, 3, 4, 5 ] mylist.reverse() mylist >>> [5, 4, 3, 2, 1]
因为元组是不可变的序列,所以元组类型的tuple类没有可对元素进行修改的方法,其他方法与list类相似。
集合类型的set类的常用方法有:添加元素方法add、移除所有元素方法clear、拷贝集合方法copy、删除集合中指定元素方法discard、返回集合交集方法intersection、随机移除元素方法pop、移除指定元素方法remove、返回两个集合的并集方法union等。
字典类型的dict类的常用方法有:删除字典内所有元素方法clear、返回指定键的值方法get、判断键是否在字典中的方法key_in_dict、删除指定键对应的元素方法pop等。
类的创建
类的创建和使用主要涉及类定义、构造方法、继承和方法重写。
class circlar_area: # 定义一个计算圆面积的类 pi = 3.14 # 圆周率是类的属性 def __init__(self, r): # 类的构造方法 self.r = r # 通过构造方法设置圆的半径 def compute(self): # 该方法计算圆的面积 return self.pi * self.r**2 circle = circlar_area(1) # 实例化类得到对象,通过构造方法设置了圆的半径 circle.compute() # 调用对象的compute方法得到圆的面积 >>> 3.14 class round_area(circlar_area): # 继承circlar_area类,得到计算圆环面积的新类 def __init__(self, r, R): circlar_area.__init__(self, r) # 构造方法里要调用父类的构造方法 self.R = R # 构造方法里设置圆环的另一个半径 def compute(self): # 重写compute方法,实现计算圆环的面积 return abs((self.pi * self.R**2) - (self.pi * self.r**2)) round_ = round_area(1, 2) # 实例化 round_.compute() >>> 9.42
三、流程控制
下面是if-else分支结构
if condition: statements1 if condition: statements1 else: statements2 if condition1: statements1 elif condition2: statements2 else: statements3
下面是while循环结构
while condition: statements while condition: statements1 else: statements2 for var in sequence: statements for var in sequence: statements1 else: statements2
创作不易 觉得有帮助请点赞关注收藏~~~