python是一门面向对象的脚本语言,有丰富的web库和网络处理能力,在开发nginx模块时也会用到。这里对学习到的基础知识点做一个小总结。
变量在定义的过程中不用指定类型,可以用type()函数查看变量或常量类型
i = 1
type(i)
type(“hello world”)
函数的定义
def func(arg):
command
return val
条件执行语句和循环
if condition:
command
elif condition:
command
else:
command
while condition:
command
4.字符串,列表,字典,序列
字符串””
如果字符串用相同的字符串赋值,或者将一个变量赋值给另一个变量,则二者的用id()函数输出的标识符是相同的。
不能通过下标val[index] = ‘c’方式修改变量。可以通过字符串片段和’+’来修改字符串,其实质是拷贝了一份副本。
序列()
序列是用小括号括起来,用逗号隔开,其中的元素是不能被修改的。
字符串和序列都不支持通过下标来修改元素,但是可以通过片段和+操作符来修改。
列表[]
相同常量的变量和字符串是相同,相同列表的变量是不同的
列表变量的直接赋值产生的副本是别名,a = b,都是列表变量,相当于引用。
如果要实现克隆,则应该要用代码片段。
字典{}
格式化字符串
格式化字符串,”arg: %d” % arg
格式化一长串字符串,”%d, %s, %f” %(valn, vals, valf)
类:
声明
class A:
pass
定义
a = A()
其中的域可以自己在用的过程中加
类的直接赋值会产生别名,如果要产生一份拷贝则应该要用copy模块的copy方法。
深度拷贝则用copy模块的deepcopy方法。
类中的方法:
class Time:
def func(self)
command
至少要设定一个参数self
python的构造函数_init_(self,..args..)
操作符的重定义
def _add_(self, other):
def _sub_(self, other):
def _mul_(self, other):
def _rmul_(self, x):
私有成员: __x,私有数据。__display,私有函数。 类里面调用私有函数:self.__display()