到今天位置,Python3的基础内容学完了,我也开始自己写代码了,然后发现了一个好东西biopython,接下来就会陆续把自己写的代码放上来,希望对大家有用,先做一名合格的程序媛,嘿嘿,第一步走好啦,接下来就是进阶啦!上次写完了数据结构,接下来把我整理的东西写出来,之前有人说我在这里写有意思,因为我还有很多不懂得,除了学语言还有学统计学,希望接下里我能继续坚持。
2.1 流程控制
if 语句 缩进4个空格,未缩进报错IndentationError 尽量使用逻辑运算符代替嵌套
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
for 循环 常用来达到遍历的效果,常与range()函数连用,range(i,j,[ ,步进值]) ,需要用list(range(1,10))才输出数列表
for var in sequence:
statement_block_1
else:
statement_block_2
while 循环 常与语句连用,主要是break语句,continue语句和pass语句
while expression:
statement
break语句可以跳出for和while的循环体,如果从for或while循环体中终止,任何对应的循环else块将不执行
continue语句使python跳出当前循环块中的剩余语句,然后继续进行下一轮循环
pass语句做占位符使用
2.2 函数
定义函数 def 函数名 (参数列表): 这个参数叫形参 任何传入参数和自变量必须放入圆括号定义参数
调用函数 -函数名 (参数表) 这个参数叫实参
变量作用域 tip:Python中只有模块,类以及函数才会引入新的作用域,其他代码块例如循环语句,捕获错误等都不会引入新的作用域,也就是说这些语句内定义的变量,在外部也可以使用访问。
变量作用域决定了在那一部分程序可以访问那个特定的变量名称
变量作用域 包括四个作用域:局部作用域(L),闭合函数外的函数中(E),全局变量(G),内建作用域(B)
查找规则:L->E->G->B
局部作用域(L) def inner():
i_counter=2
闭合函数外的函数中(E) def outer():
o_conter=1
全局变量(G): g_count=0
内建作用域(B): x= int(2.9)
冗余参数处理 传递给元组用* ,传递给字典用**.
匿名函数 lambad表达式 ,所以只能封装有限的逻辑
def f(x,y): -->> g=lambda x,y:x*y
return x*y 构造的是一个函数对象
reduce() 函数在python3里面已经归在functools模块中,用于退出函数,逐次操作list中的每一项,递归调用,会对参数序列元素累积。
isinstance() 和type()函数都用来判断两个类型是否相同,但type()不考虑继承关系
callable() 函数用来判断函数是否能被调用
filter() 函数过滤序列 接收两个参数第一个为函数,第二个为序列,序列的每一个元素作为参数传递给函数进行判断,返回T/F,并且把返回T的元素放在一个新的列表。
map() 函数 会根据提供的函数对指定的序列做映射。 注意这两个函数在python3中返回一个迭代器
zip() 函数 打包成元组,并返回由元组组成的列表。
2.3 模块和包
模块为一个包含所有定义的函数和变量的文件,就是一个python脚本文件
包为一堆按目录组织的模块和子包,目录下的__init__.py存放了包的信息。
from Package import specific_submodule
常用的模块 sys模块,os模块,csv模块,exceptions模块,operator模块,pickle模块 后面单独列出来。
2.4 面向对象 很重要这一节我花了很久的时间去理解这个概念
类 class: class ClassName:
statements_1
用来描述具有相同的属性和方法的对象的集合,定义该集合每个对象所共有的属性和方法。
类的对象:属性应用 obj.name 实例 self 所以对象为类的实例,
类的方法:在类的内部用def 定义方法,且self 必须作为第一个参数
class MyClass ():
def fun (self):
print ("I am function")
类的继承:一个派生类继承基类的字段和方法,继承也允许吧一个派生类的对象作为一个基类对象对待。
类的私有属性:__private__attrs不能再类外面使用或直接访问;类的内部用self.__private__attrs使用。
类的私有方法:__private__method不能再类外面使用或直接访问;类的内部用self.__private__method使用
类的专有方法:http://5ydycm.blog.51cto.com/115934/157548这里对类的专有方法总结的不错。
超类:


雷达卡







京公网安备 11010802022788号







