Python基础总结

1、print()打印函数,print("abc",end=" ")不换行

2、*n数字连接就是乘法运算,字符串那就是操作次数是n

3、input()接收用户输入,得到的是字符串类型

4、if-elif-else分支结构

5、dir(__builtins__)查看BIF,help(BIF)查看BIF的帮助

6、 转义符

7、str = r'c: ow'得到的是原始字符串,不需要转义也可以

8、三重引号的字符串str='''abc

            fjas

            ljfkla

            '''

  print(str)==》会按上面的格式输出

9、while循环

10、random模块==》import random  ==》randint(1,10)生成[1,10]的随机整数

11、科学计数法(e记法)

12、True == 1,False == 0

13、int() / float() / str()类型互相转换

14、type() 获取类型信息

15、isinstance()比较类型是否相同,例:isinstance('abc',str)返回值是True

16、操作运算符:+ - * / % ** //

17、逻辑操作符:not / and / or

18、比较操作符:<  <=  >  >=  ==  != 

19、优先级(16-18):幂运算-正负号(单目运算符)-算术操作符-比较操作符-逻辑操作符(not - and - or)

====================================================================================

1、分支、循环

2、三目操作符:small = x if x < y else y

3、断言:assert

4、for循环,语法:for 目标 in 表达式:

          循环体

5、range(1,10) ==》 [1,10),包头不包尾

6、break,continue

7、列表:[ ]

8、向列表添加元素:append / extend / insert

9、从列表中删除元素:remove / del(不是列表的函数) / pop(索引参数)

10、列表切片

11、列表常用操作符:and / + / in / not in

12、dir(list):count / index / reverse(倒序列表) / sort(升序排序) / sort(reverse=True)降序

13、= 和 [ : ]的区别

14、创建元组:tuple = () 、tuple = (1,) 空的和一个元素的

15、更新,删除元组:原理是让变量指向新的对象,旧的等回收机制回收

16、字符串方法

17、字符串格式化:format / %

18、序列:列表、元组、字符串

  都可以通过索引得到元素,索引从0开始

  切片可获得元素集合

  有很多共同操作符(重复* 、拼接+ 、成员关系in/not in)

19、序列常用BIF:list / tuple / str / len / max / min / sum / sorted / reversed / enumerate / zip

20、函数创建:def myFunction():

        函数体

21、函数的关键字参数:调用的时候给出参数名,如:myFunction(name = 'abc' , words = '234')

22、函数的默认参数:定义的时候设置参数的默认值,调用的时候没有值不会报错,直接使用默认值def myFunction(name = 'abc',words = '234')

23、函数的收集参数:在不知道多少个参数的时候这么用,def myFunction(*params):==>在参数名前加一个*就可以了,调用的时候可以随意传参,参考print()方法

24、函数变量的作用域:函数内部不能修改全局变量

25、global关键字:想要在函数内部修改全局变量,那么要先在函数内部声明global 变量名,然后再修改就是修改全局的

26、内嵌函数:一个函数内部的函数

27、闭包:def funX(x):

        def funY(y):

          return x * y

        return funY #这里函数后面没有括号

27、nonlocal:在一个内嵌函数中使用外部函数的局部变量,这个时候要声明nonlocal 变量名,否则如果不是闭包的格式,后面调用函数会报错

27、lambda(匿名函数):g  = lambda x,y : x+y  #返回的g是一个函数

              g(5,3)

28、Filter():list(filter(lambda x : x % 2 ,range(10)))

29、map():list(map(lambda x : x * 2 ,range(10)))

30、递归

====================================================================================

1、斐波那契数列:迭代,递归;汉诺塔:递归

2、字典:dict = {1:'one',2:'two',3:'three'} 大括号里如果没有映射关系,那么创建的就不是字典,是集合set

3、字典的创建:dict1 = {1:'one',2:'two',3:'three'}

         dict2 = dict((1,'one'),(2,'two'),(3,'three'))

         dict3 = dict(1='one',2='two',3='three')

4、fromkeys()用法

5、keys() / values() / items() / get(key)获取key的value / clear() 清空字典 / copy() / popitem() / setdefault() / update()

6、集合set的创建:num1 = {1,2,3,4,5}

         num2 = set([1,2,3,4,5]) #set里可以传序列

7、in / not in在集合中使用

8、add() / remove()

9、不可变集合:frozenset() ,用forzenset()来定义一个不可变集合

10、文件:open() 打开 f = open('aaa.txt')  f.close() f.read() f.readline()文件的读写操作

11、模块.py:导入模块 import os ==>os模块常用方法,import time ==> gmtime() localtime() ,import pickle ==> dump / load 写 / 读二进制文件

12、异常处理:try-except、try-except-finally

  try:

    检测异常

  except [(异常类型的元组)]:

    处理异常

  finally:

    最后一定执行的内容

13、raise 异常类型 ==> 相当于Java中人为抛出异常 throw new Exception

14、else 与 for ,while ,try-except的使用 ==> 当循环没有中断正常执行接收,try中没有出现异常的时候会执行else的内容

15、with在文件读写中的使用:with opent('aaa.txt') as f ==>不用管f的关闭问题,即不要执行f.close()

==============================================================================

1、类和对象

2、面向对象:封装、继承、多态

3、self:当前对象,相当于this

4、构造方法:__init__(self):

5、私有化成员变量

6、继承:class A(B)==>A继承B,B是父类

7、组合

8、绑定:Python要求类方法必须有实例才能被调用,方法要有self参数

9、__init__()  __new__()  __del__()

10、描述符类:__get__()

       __set__()

       __delete__()

=========================================================

1、__name__变量:如果在主程序中那么__name__ == '__main__',否则的话__name__ == 类名

2、搜索路径:import sys

        sys.path.append("路径")

3、包:step1、创建一个文件夹,用于存储相关模块,文件夹名就是包名

     step2、在文件夹中添加__init__.py文件,内容可以是空的

     step3、将相关的模块放入文件夹中

4、如何学习一个模块:

  方式一:1、导入一个模块:import timeit

      2、打印文档:print(timeit.__doc__)

         3、查看内置方法:dir(模块名)

       4、模块名.__all__过滤不必要的,显示可以被调用的

  方式二:help(模块名)

  方式三:阅读文档

======================================================

1、Python访问互联网:urllib包 ==》request 、error 、parse 、robotparser模块

2、模拟浏览器访问网页:

  step1、urllib.request.urlopen() 得到response

  step2、response.read() 得到二进制形式的HTML

       response.read().decode('utf-8')得到utf-8形式的

  step3、打印HTML

3、避免反爬虫:

  headers添加user-Agent、

  延长每次爬虫的时间、

  使用代理

 4、使用代理:

  参数是一个字典:urllib.request.ProxyHandler({})

  定制、创建一个opener

  安装opener:urllib.request.install_opener(opener)

5、import re #正则模块

   import urllib.error

   import tkinter #GUI

6、Scrapy爬虫框架安装

7、IP地址的正则表达式:r'(?:(?:[0,1]?d?d|2[0-4]d|25[0-5]).){3}(?:[0,1]?d?d|2[0-4]d|25[0-5])'

=============================================

1、拆包:func(2,*nums,**nums) ==>*nums是列表,**nums是字典

原文地址:https://www.cnblogs.com/suhfj-825/p/9012186.html