Python
字符串
索引从0开始
s=‘helloword’
print( s[-1] ) ------> d
print( s[1:3] ) ------> ell
print( s[ :3] ) ------> hell
print( s[1:-2 ] ) ------> ellowor
s1=‘hello’ s2=‘word’
s1+s2—>helloword
s1*2 ---->hellohello
List(列表) ----[ ]
索引从0开始;
Tuple(元组)—()
只读,元素间用逗号隔开
Dictionary (字典)-----{ }
由索引和值组成 k-v; 无序结构
s={‘key1’:‘value1’,
‘key2’:‘value2’,
‘key3’:‘value3’}
控制语句
##################################################
if x>y:
print('x>y')
else:
print('x<y')
###################################################
x=10
while x>0:
print(x)
x-=1
###################################################
for用迭代的方式进行!
xlst=['a', 'b', 'c']
for x in xlst: for x in range(3):
print(x) print(x)
函数
def fun1(a,b,c)
print('a,b,c',a,b,c)
a2,b2,c2=a+b,a*2,a+c
return a2,b2,c2
x,y,z=fun1(1,2,3)
Partial函数
一个函数可以有多个参数,有些参数可以提前获知,
import functools
def add(a,b)
return a+b
plus3=functools.partial(add,3)
rst3=plus(4) --->rst3=7
lambda表达式
一般形式:lambda后面跟一个或多个参数,之后再紧跟一个冒号,接下来是一个表达式;
lambda是一个表达式,而不是语句,能够出现在python语法不允许def出现的地方
ladbda用来表写简单函数,而def用来处理更复杂的任务
fun1=lambda x,y : x+y
print('fun1(2,3)=',fun1(2,3) ) ------>5
类和实例
类创建一个新类型,而对象是这个类的实例
类使用class创建
类的变量: 由该类的所有对象(实例)共享,相当于全局变量
属于类级别的变量,在使用时一定要带上类型名称,如:MyClass.count
对象的变量: 由类的每个对象/实例拥有,
属于每个对象级别的变量,调用时要带上self表明属于当前对象,如self.name
class MyClass: #每个定义,和判断后面都不要缺冒号
name='defaultName'
count=0
def __init__(self,name): #一个类只能有1个的构造函数,用于初始化类及变量
self.name=name
print('类的变量是%s. 对象的变量 是%s' %(MyClass.name,self.name))
def set_count(self,count):
self.count=count
def get_count(self):
return self.count
if __name__=="__main__":
cls=MyClass('duixiang') #初始化的时候一定需要提供name
#cls.set_count(10) #如果不提供则为默认值
print(cls.get_count())
类的属性和方法
类的方法:在类的内部可以使用def关键字定义一个方法,与一般函数不同,类的方法必须包含参数self,且为第一个参数
类的似有方法:只能在类的内部使用,不能在类的外部调用,命名方法为__private_method;
使用:self.__private_method;
类的私有属性:在类的内部使用,不能在类的外部使用或直接访问,只能在类的内部方法使用