python学习笔记(二)--语法和类基本定义

来源:互联网 发布:重庆网络教育报名 编辑:程序博客网 时间:2024/05/17 02:13

前言

此文仅为记录学习要点使用

基本语法

语句结束是回车或者;,隔行编写在行末增加\。
语句块是按TAB或者空格进行分割,但是同一个语句块只能按一种分割,也即是如果第一行是用了tab或者是空格,后面的也是要用相同的。
变量可以指代一切,包括方法,类。

引入

1、模块引入


方式:import module (as name)

会引入会引入模块所有方法变量。(as name)可以给引入模块起别名

2、方法引入


方式:import module from function

会仅仅引入模块中的某个function。


3、赋值

3.1 多变量复制

方式:x,y,z=value1,value2,value3

3.2 交换

方式:x,y=y,x

3.3 链式赋值

方式:x=y=value (《==》y=value;x=y)

链式是从右往左执行的

3.4 增量赋值

方式:x+=value
四则运算都可以,但要注意除0


4、比较

4.1 “==” 与 is

==是内容比较,is是对象比较


5、异常


5.1 不带判断的try/catch

方式:try:
code
   except (Exception) (as e):
code
   finally:
code

(Exception)为捕捉的错误类型,不写为全捕捉。as e为起别名

5.2 带判断的try/catch

方式:try:
code
   except (Exception) (as e):
code
   else
code
   finally:
code
当没有错误时,会执行else里面的语句,如果except内部code没有特殊处理的话,else可有可无,因为不出错的话本身就会顺序执行



6、其他

6.1 pass

表示空代码段,类似{}

6.2 exec和eval

exec将字符串当代码执行,无返回值
eval同exec,但会计算表达式并返回值




函数定义

方式:def function(params,*params):
....
return value1,value2,...

参数可以设定默认值,如果调用时不输入相应参数,则采用默认值。
*params表剩余位置的参数,即当输入参数多于params的定义时,多余的参数会变成元组放在*params

函数体内,如果要使用全局变量,需要先使用global variable进行声明,然后再对variable进行操作,不能声明与操作同时进行
如:
global aa
aa=100
是正确
global aa=100
是错误

返回值可以有多个

类定义

方式:class classname:

var=value

def function(self,param):

....

return value1,value2,...


大概结构是这样,然后以_开头表示变量/函数为私有,以__(‘_’2个)开头,__(‘_’2个)结尾的为系统基本操作函数

变量分为显式定义和隐式定义(个人认为是静态和动态定义会比较合适)

隐式定义为当类已经实例化后,再通过object.var=value的方式进行动态加入

显式定义即为在定义类时,把变量写在类定义内,必须要有默认值/初始值。

在python里面变量是类属性,当实例没有对该变量进行初始化/修改时,该变量会一直指向类结构的对应变量。

即:

类A中,有test=100

有实例B,C

执行代码

B.test=1001

A.test=1

后,C.test为1,B.test为1001,随后创建的类A实例中,test均为1

由此可知,python支持动态修改类结构,也就是说可以通过对类结构本身的修改,可以为所有该类实例增加额外的变量或者方法

1、构造函数

方式:def __init__(self,param,*param)

与普通函数相比,增加了隐藏参数self,这个是指代类实例本身,在外部调用时,该参数并不需要输入。

2、析构函数

方式:def __del__(self,param,*param)

与普通函数相比,增加了隐藏参数self,这个是指代类实例本身,在外部调用时,该参数并不需要输入。



原创粉丝点击