Python经常使用的数据类型php
'兔子' 字符串类型;api
666 整型;闭包
3.14 浮点型;app
False,True 布尔型;函数
Python的经常使用操做符orm
逻辑运算符:and or not;对象
比较操做符:< <= > >= == !=;递归
算数操做符:+ - * / //(地板除,即只保留整数位);three
正负号:+x -x;rem
幂运算:**(-3 **3 == -(3 ** 3 )为-27,3的三次方再取负值);
以上操做符优先级由上至下愈来愈高
Python的分支和循环
分支:
if 条件语句1:
条件语句1成立时执行的语句
elif 条件语句2:
条件语句2成立时执行的语句
else :
不成立时执行的语句
循环:
while 条件语句:
条件语句成立时执行的语句
continue(跳出当前循环,继续下一循环)/break(跳出全部的循环)
print("continue执行后不会执行此条语句")
for 变量名 in 列表/元组/字符串等对象集合:(for循环的目的是将对象集合中的每个元素循环赋值给变量,即此变量遍历对象集合中的全部元素)
print 变量名
列表和元组:
Python列表中可放入各类类型的数据,好比list1 = ['兔子',666,3.14,Fasle],list1[2]为3.14
增长列表元素:list1.append('么么'),将在list1最后加入此元素;
list1.extend(['肥兔子',88.67]),将在list1最后加入此列表,并合并为一个列表
list1.insert(3,'yyy'),将元素插入到列表的第三个位置(从0开始,即3.14以后)
删除列表(元素):list1.remove(3.14),将3.14从list1中删除
del list1[1],将list1中的第二个元素删除
i = list1.pop(3),将list1中的第四个元素删除,并有返回值,返回值即为删除的元素
列表切片:list2 = list1[0:1] 将list1前两个元素分离开组成一个新的列表,list1[:]全复制
Python元组与列表相似,但不可轻易修改
temp = (1,4,"888",False);temp = 1,4,"888",False;temp = (1,) ;temp = () 均可以表示一个元组
修改元组的方法:temp = temp[:2]+(2,3,4)+temp[2:] 即先将元组切片再组合
Python字符串经常使用方法
str.capitalize() 将字符串首字符改成大写,等等方法
格式化方法format:
'{0} love {1} and {2}'.format('I','dahai','you') 即将{0}{1}{2}占位符替换为参数中的字符串:I love dahai and you
或'{a} love {b} and {c}'.format(a='I',b='dahai',c='you') 也可混合使用,但数字占位符必定要在字母占位符以前
其余格式化方法:
格式为 '方法' % (元组,元素数与方法数一致)
%c格式化字符及其ASCⅡ码:'%c %c' % (99,100) 打印出来是'c d',
%s格式化字符串:'%s %s %s' % ('I','LOVE','YOU')打印出为'I LOVE YOU'
字符串格式化符号含义、格式化操做符辅助指令、字符串转义字符含义
函数:
①定义一个函数:def Function1():
print("这是一个没有参数的函数")
使用:Function()
无需在括号内传入参数便可执行此函数体内的方法
②定义一个函数:def Function2(num1,num2):
return num1+num2
使用1:Function2(1,2)
num1,num2为形式参数,1,2为实际参数,这个函数的返回值是num1+num2
使用2:Function2(num2=2,num1=1)
能够讲形参和实参结合,以便于观察,防止出现顺序错误
③定义一个函数:def Function3(*param,exp):
print("参数的长度:",len(param))
print("第一个参数是:",param[0],exp) #注意print方法中链接每一个参数用 ‘ , ',不是‘’+‘’
使用:Function3(1,"dahai",666,99.8,True,exp = 33)
此函数为收集函数,即形参的个数没法肯定,可把全部实参当作一个元祖来看待,当收集函数的参数和其余参数同时存在时(好比exp),则须要在传递实参时定义exp的值
局部变量、全局变量:
局部变量是指在函数内部的变量,函数以外没法调用此变量
全局变量是指在整个程序中均可调用的变量
def Fun1(x,y):
z = x + y
#globle z1
z1 = 20
return z
z1 = 10
z2 = Fun1(10,5)
print(z1,z2)
这里x,y,z和第一个z1为局部变量,第二个z1,z2为全局变量,且结果为10,,15,由于Fun1中的z1只在方法中生效,方法外又会指向原z1
除非在第一个z1以前加,globle z1 做用是使z1变为一个全局变量,globle(全局的),便可在函数内部修改z1的值
内嵌函数和闭包:
def fun1(x):
def fun2(y):
return x+y
return fun2()
上面这种形式为闭包,即内嵌函数中有调用其外部变量,使用方法:
i = fun1(10) #此时type(i)为方法类型function,即为fun2
i(5) #此时传入的变量5即为fun2中的y值
或 fun1(10)(5)
不可直接使用fun2
def fun1():
x = 10
def fun2(y):
nonlocal x
x ^= x
return fun2()
上面这个函数fun1没法直接使用,由于在调用fun1时首先调用的是其内嵌函数fun2,但fun2的x为fun1的局部变量,没法在fun2中使用,
此时须要加入相似globle的关键字nonlocal x ,做用是使x变为一个非局部变量,nonlocal(非局部的)便可使fun2访问到fun1中的x
匿名函数(lambda)
def fun1(x):
return x * 5 +8
可写成
g = lambda x : x * 5 + 8
使用时
g(5) #便可将5传入匿名函数g,而后经过方法计算出结果33,并返回
若是传入多个参数,则能够写为 g = lambda x,y : x + y,用英文逗号将参数分开
映射函数map():map(function,iterable) 有两个参数,第一个参数为函数,第二个参数为须要迭代的数据
目的是经过将第二个参数迭代传入第一个函数中进行计算,将得出的全部值传入一个新的列表中,好比
list(map(lambda x : x * 2 , range(10))) 将0-9之间的全部数据传入前面的匿名函数中计算,计算结果为[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
过滤器函数filter:filter(function or None,iterable) 有两个参数,第一个参数为None或函数,第二个参数为须要迭代的数据,
目的是经过将第二个参数迭代传入第一个函数中进行计算,将得出的真值传入一个新的列表中,好比
当第一个参数为函数时:
list(filter(lambda x : x % 2,range(10))) 此行代码的目的是将0-9之间的奇数传入列表中,打印结果为[1,3,5,7,9]
当第一个参数为None时:
list(filter(None,[0,1,True,False])) 输出为[1,True]
这两个函数的区别为map()是将全部参数进行函数运算后生成新的列表,filter()是将全部参数进行函数运算后取其为真的值(1,True)生成新的列表
递归:1.有调用函数自身的行为,2.正确的返回值,且有中止的条件
好比阶乘函数:
def jiecheng(x):
result = x
for i in range(1,x):
result *= i
return result #此方法即x为须要阶乘的最后一位数,如x=5,须要计算1*2*3*4*5的结果
或def jiecheng(x):
if x == 1:
return 1
else:
return x * jiecheng(x-1)
好比菲波那切数列:
def fun1(n):
if n == 1 or n == 2:
return 1
else:
return fun1(n-1)+fun1(n-2) #即从第三个数字开始每一个数字等于前两个数字之和
字典:
dict1 = {'大海':'29','丽丽':'25','猴子':'29'} #用‘:‘’隔开须要匹配的key(键)和value(值),用‘,‘’隔开每对映射,并用大括号括起
name = input("请输入要查询年龄的人的名字:")
print('%s的年龄是%s' % (name,dict1[name]))
建立一个字典:
①list1 = [(1,'one'),(2,'two'),(3,'three'),(4,'four')] #列表
temp = (1,'one'),(2,'two'),(3,'three'),(4,'four') #元组
dict(((1,'one'),(2,'two'),(3,'three'),(4,'four'))) #字典
#注意括号个数,使用方法为dict(mapping),mapping为元组或列表,但元组或列表的元素需成对出现,因此也可写成dict(list1)或dict(temp)
②dict4 = dict(dahai=29,lili='25')
#注意只有此种方法键不能用字符串、整型、浮点型等,不然会报错,只能够用不加引号的字符串,加到字典里以后会自动变为字符串
添加项:
dict4['小海'] = '0' #'小海'为键,且插入的位置不固定
修改项:
dict4[‘dahai’] = 31 #修改的键需存在