Python知识点

1、注释的作用:在程序中对某些代码进行标注说明,增强秩序可读性

2、注释的快捷键   ctrl + /

3、变量:在内存中开辟一块空间,起一个别名,用来访问和存储空间中的数据

4、变量名是区分大小写的

5、变量名 = 值

6、变量的数据类型:整型(int)、浮点型(float)、布尔型(bool)

         非数字型:字符串(str)、列表(list)、元组(tuple)、字典(dict)

7、用type(变量)    测试变量的数据类型

8、整型:+-*/     % 取余

   浮点型:+-*/     通常不用他取余

   布尔型:Ture(1)   False(0)   两个数比较返回值都是布尔型

9、非数字类型的计算:字符串变量之间使用 + 拼接字符串    例如:name = “鹿晗”  edu   = “学历本科”   info = name + edu

10、字符串变量和整数使用*     重复拼接重复的内容     “你好”*4   重复4次字符串

11、字符串和整型之间不能用+拼接

12、格式化输出   %d     十进制的整数   %06d  表示输出的整数显示六位,不足的补0

                                      %f            浮点型   %.3f   小数的位数显示3位

                                      %s     字符串

                                      %%          输出%

13、类型的转换   int(变量) 将XXX转换为int整数

                                      float(变量) 将XXX转换为浮点型

                                      str(XX)将XX转换为字符串

14、变量的交换    b,a = a,b

15、运算符   算数运算符:+ - * / //取整除  %取余数  **幂      

                             比较运算符     > >= < <= !=不等于 ==      返回的结果只有Ture   False          是布尔型bool

                             逻辑运算符   and   or   not

                             赋值运算    =      == 判断

                             复合赋值运算符    +=   -=    *=   /=    //=   %=

16、if语句的格式:

                   if 要判断的条件:

                            条件成立执行该代码

         如果条件不满足,代码一条都不会执行

         代码段缩进为一个tab键    就是四个空格

17、输出语句:   input(要输出的内容)          用户输入的内容是字符串

18、if.....else   编程条件判断(双分支)

    格式:if 判断条件:

                            满足条件执行改代码段1

                     else:

                            不满足条件执行该代码段2

19、if....elif....else   

         格式:if 判断条件1:

                            如果判断条件1满足,执行代码段1

                     elif 判断条件2:

                            如果判断条件2满足,执行代码段2

                     elif 判断条件3:

                            如果判断条件3满足,执行代码段3

                     else:

                            上面的条件都不满足执行该语句

20、if嵌套

         格式:if 判断条件1:

                            满足条件执行改代码段1

                                     if 判断条件2:

                                               条件2满足执行该代码

                     else:

                            不满足条件1执行该代码

21、能够用randint获取一个随机数

         import random   # 模块导入

         random.randint(0,10)   # 0-10之间的随机数

22、while循环

         格式:变量的初始化

                     while 条件:

                            条件满足的时候:执行该代码

                            条件满足的时候:执行该代码

                            变量的更新

23、while 条件1:

                   条件1满足时,执行该代码

                   while 条件2:

                            条件2满足时,执行该代码

24、外部的while循环一次,里面的while循环多次

25、for 循环的基本格式:    遍历

         for 变量 in 数据

                   代码

26、输出连续的数:

         range(start,stop)计数从start开始,默认从0开始,不包括stop     range(5)   等价于range(0,5)0,1,2,3,4

27、必须和for循环一起使用

         for i in range(1,100)

                   print(i)

28、end=“ ”

29、break和continue作用

         break退出的是相关的所有的循环

         continue退出的是当前的循环,进入下一次循环

30、列表   list = [元素1,元素2,元素3...]      列表的索引(下标)从0开始的

31、获取列表中的某个元素

         a = list[0]    列表中的第一个元素

32、取值的时候,如果超出索引的范围,程序会报错

33、列表常见的操作:

         增加         列表.append(数据)                       在末尾追加数据,并且每次只能添加一个

                            列表.extend([4,5,6,7,8,])     可迭代     列表一次增加多个数据

                            列表.insert(索引,数据)           在指定位置插入数据(位置前有空元素会补位)

         删除         del 列表[索引]                                        删除指定索引的数据

                            列表.remove(数据)                               删除第一个出现的指定数据

                            列表.pop()                                      删除列表中的最后一个元素   有返回值,删  除的元素

                            列表.pop(索引)                             删除指定索引数据

                            列表.clear()                                             清空列表

         修改         列表[索引] = 数据)   修改指定索引的数据,如果数据不存在,就会报错

         查询         列表[索引]                                            根据索引取值,如果索引不存在,就会报错

                            len(列表)                                                  列表的长度

                            if 数据 in 列表                                           检查列表中是否包含某元素

         排序         列表.sort()                                      升序排列

34、使用for的循环遍历列表

                   遍历就是从头到尾依次取出每一个元素,并且执行相同的操作

35、列表的嵌套

                   一个列表中的元素又是一个列表,那么这就是列表的嵌套

36、元组   tuple = (元素,元素,元素...) 

37、元组的索引从0开始    

38、元组只包含一个元素时,需要在元素后面添加逗号   tuple = (50,)

39、元组不能修改里面的数据

40、查看数据类型的时候     print(type(数据))

41、元组的操作

         元组.count(数据)      数据在元素中出现的次数

         len(列表)             元组长度

         if 数据 in 元组                         检查元组中是否包含某元素

42、格式化字符串后面()本质商就是一个元组

43、字典可以存储多个数据,存储相关的信息

44、字典的定义格式

         格式:dict = {key:value,key:value}     键名 key是键索引        键值value是数据

45、字典使用键值对存储数据

46、键名和键值之间的使用:值可以是任何类型,键名只能是字符串,数字,元组

47、字典和列表的区别:

                   字典:是无序的集合,通过键名来访问数据

                   列表:是有序的集合,下标是从0开始的正整数

48、拆包

                   tuple =(1,2,3,4)

                   a,b,c,d = tuple  #可以把元组中的数据进行自动拆包

                   print(a)

                   print(b)

                   print(c)

                   print(d)

49、字典的操作,增加 删除,修改

                   增加         字典[键] = 数据      键不存在,会添加键值对;键存在,会修改键值对的值

                   删除         字典.pop(键)      删除指定键值对,返回被删除的值

                                     字典.clear                 清空字典

                   修改         字典[键] = 数据      键不存在,会添加键值对;键存在,会修改键值对的值

                   查询         字典[键]                              根据键的取值,键值对不存在会报错

                                     字典.keys()                  可以进行遍历,获取所有的键名

                                     字典.values()               可以进行遍历,获取索引的键值

                                     字典.items()                可以进行遍历,获取所有的(键,值)键值对

                                               默认获取的是键名

50、列表 元组 字符串 都是有序的,索引计数是从0开始的

51、字符串的常见操作:

                   string.isdecimal()        判断字符串是否都是数字

                   string.isalpha()                    判断字符串是否都是字母

52、字符串查找

                            string.find(要查找的字符串)    找到返回对应的下标号,没有找到返回的是-1

                            string.rfind(要查找的字符串)            从右向左查找

                            string.index(要查找的字符串)          找到返回对应的下标号,没有找到则报错

                            string.rindex(要查找的字符串)               从右开始查找

53、字符串字符的替换

                            string.replace(old,new,次数)                返回一个新字符串,把string中的      old替换成new,如果num指定,则替换不超过num次

54、str.split(“分割”)字符串  变成一个列表                           

                   str =”星期一-星期二-星期三”

                   list  =str.split(“-”)                                                # [“星期一”,”星期二”,”星期三”]

55、去掉空白字符串

         str.lstrip                     去掉左边(开始)的空白字符,返回一个新的字符

         str.rstrip                     去掉右边(末尾)的空白字符,返回一个新的字符

         str.strip                      去掉开始和末尾的空白字符,返回一个新的字符

56、字符串的切片                  

         切片,可以截取字符串中一部分字符

         切片的语法:

                   字符串[开始的索引:结束的索引]  指定的区间属于前闭后开[开始索引,结束索引

57、用切片完成字符串的逆序

                   如果步长值是负数,就是倒序     例如:str[::-1]   这是整个字符串的倒序

58、定义一个函数:

                   def 函数名()

                            函数体(函数封装的代码)

59、函数在函数调用的时候才会执行

60、带有参数的函数定义的格式

         def 函数名(形参1,形参2)

                   函数的代码

         形参可以理解为是变量,不用提前定义,接收实参传递过来的数据

61、函数名(实参,实参)

         形参的作用:接收实参传递的数据,把数据传递给函数的内部

         实参:调用函数使用的数据是实参,直接值

         形参:实参的占位,中转站,接收实参专递过来的数据

62、形参的作用域:

                   在函数内部使用,在函数的外部不能使用该形参

  1. 没有实参,使用的是默认的值,给了实参,就使用实参的值
  2. *形参:元组 

**形参:字典

  1. 拆包要注意:元组中有多少个值,就用多少个变量接收
  2.  

关键字参数:给实参指定对应的形参

                                     关键字参数是给实参

                                     默认的参数是给形参

                                     给参数2指定了关键字,没有给参数1指定关键字,就会报错

                                     设置一个关键字参数,给所有的实参都设置关键字参数

  1. 函数的可变(不定长参数)的使用             

                   *表示元组类型     def fun(*args)

                   可变参数可以接收任意数量的实参数据,并且自动组包成一个元组

  1. 字典型的可变参数                  

                   **表示字典类型              def fun(**args)

                   添加一个数据,输出的结果是字典

  1. 需要函数的返回值:将运算的结果返回给函数调用的位置

                            在项目中,返回一个结果,进行其他的运算,提供返回结果主要为了后续代码要用,跟语法无关,如果没有返回值,值为none

         返回值如果有多个,组包一个元组,返回到函数的调用的位置    

  1. 拆包要注意:元组中有多少个值,就用多少个变量接收                                    
  2. 四种函数类型:无参数无返回值 无参数有返回值 有参数无返回值 有参数有返回值
  3. range(1, 6)    1-6连续的数,不包含6
  4. 重复输出某个符号   print("*"*20)
  5. 全局变量:在函数外部定义的变量,作用范围为整个文件

         局部变量:在函数内部定义的变量,只能在函数的内部使用

         如果在函数的内部需要修改全局变量,需要使用global进行声明                   Global 变量名

  1. 匿名函数:以表达式的形式来定义的函数,只能做一些简单的处理

         lambda 形参数1,形参数2,形参数3....:返回值

                   lambda函数能够接收任意数量的参数,并且返回一个表达式的值

                   f =(lambda num1,num2:num1+num2)(1,2)

                   print(f)

  1. 导入模块使用import             
  2. 一个函数在内部调用其本身,这个函数就是递归函数             
  3. step(n) = n * step(n - 1)   step()函数实现了阶乘  
  4. 列表推导式:list = [表达式 for 变量 in 数据]  列表中存放的是for遍历出来的表达式的数据
  5. 列表推导式支持if判断:list = [表达式 for 循环 if 判断条件]       
  6. 列表list,字典dict是可变的                

         数据类型 int,bool,float 字符串str 元组是不可变类型      

  1. 访问模式:

                   r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

                   w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

                   a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

                   rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式

                   wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件

                   ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

                   r+:打开一个文件用于读写。文件指针将会放在文件的开头

                   w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 

                   a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写

                   rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头

                   wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

                   ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

  1. 打开文件                  

         语法:变量 = open(文件名, 访问模式)

         关闭文件

         格式:close()

  1. read(num):可以从文件中读取数据,num表示要从文件中读取的数据的埠度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

         读数据(readline):每次读取一行

         读数据(readlines):按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素    

  1. 在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取                 
  2. 如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()

         seek(offset, from)有两个参数

                   offset:偏移量,from是从0开始才能使用

                   seek(2, 0)文件的开头

                   from:方向     0:表示文件开头

                                               1:表示当前位置

                                               2:表示文件末尾

  1. a +    在光标的位置写入内容
  2. os模块中的rename()可以完成对文件的重命名

                            重命名:rename(需要修改的文件名, 新的文件名)

                            删除文件:remove()

                            创建文件夹:mkdir("文件夹名")

                            获取当前的操作路径:getcwd()

                            获取目录列表:listdir()

                            改变操作的路径:chdir()

                            删除一个文件夹:rmdir()   只能删除非空文件

  1. 判断文件是否存在

         os.path.exist("文件")   存在Ture   不存在False

  1. eval():将字符串对象转换为有效的表达式参与求值运算返回计算结果           
  2. 类就是创建对象的模板

                   先有类才有对象

         定义类格式:class 类名:   命名规则(大驼峰)

  1. 创建对象的格式:

                   引用对象的变量名 = 类名()

  1. 调用对象的方法

                   对象的变量名.方法名()

101、定义/使用属性

                   定义、设置属性格式:引用对象的变量名.属性名 = 数据

102、self的意义:

                   关键字:主要用于对象方法中,表示调用该方法的对象

                   方法中:可以获取到调用当前方法的对象,进而获取到该对象的属性和方法

103、对象.属性 = 属性值

104、魔法方法:

                   __init__(self)的使用(重点)

                            对象的初始化方法,在创建一个对象后默认会被调用,不需要手动调用

                            定义属性并设置初始值

                            A、默认参数的使用

                                     1)对象的初始化方法

                                     2)实例的初始化

                                     3)对象的属性初始化

                                      # 通常__init__当创建对象的的时候自动调用该方法

                                      # __init__ 完成对象的属性初始化工作

                            B、自定义参数的使用

                   __str__(self)

                            直接用print打印对象,会看到创建出来的对象在内存中的地址

                            该方法通常有一个return 语句,返回一个值

                   __del__(self)

                            当对象在销毁前,自动调用该方法,(析构方法)

                            析构方法的作用:做一些额外的工作,比如垃圾回收(释放变量)、关闭文件  或文件夹

        

         def __init___(self)  创建对象的时候自动调用

         def __str___(self)   输出一个对象print(对象)

         def__del__(self)   对象被销毁 自动调用该方法      

105、封装

                   将属性和方法放到一起作为一个整体,然后通过实例化一个对象来处理

                   隐藏内部的细节,向外界提供操作的功能即可 print()

                   将功能代码 进行打个包包,把代码都放到里面 ,给外界提供操作的功能,隐藏内         部的细节 ,你不要管我里面怎么实现的,你拿过来用就可以 了 

106、魔法方法__init__,都会被子类继承   

107、查看类的继承链

                            格式:类名.__mro__

108、多层继承

                   class 爷爷类(object):   基类

                   class 爸爸类(爷爷类):

                   class 儿子类(爸爸类):

109、当父类和子类的方法名相同的情况下,默认使用的是子类中的方法           

110、多继承

         子类(父类,父类)

         class child(Father, Mother):

111、多态 类的多态主要是指方法重写             

112、静态方法的使用

          @staticmethod

                   def 方法名()

113、私有属性    属性前面加了两个下划线是私有属性,否则是共有属性               

114、__new__() 属于一个静态的方法    重写创建一个对象,必须用return返回对象的引用地址                

115、使用try...except...捕获异常                 

116、常见的错误类型

          NameError 命名错误

          IndentationError 缩进错误

          FileNotFoundError 错误的类型:文件没有找到

          io.UnsupportedOperation

          Exception 常规错误基类    

117、Finally在异常中的作用:

         try:

         尝试执行的代码

         ...

         finally

                   无论是否发生异常都执行finally

                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值