Python学习总结

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  #修改的键需存在

相关文章
相关标签/搜索