python基础知识点大全

Python基础知识点大全(cover:B站求知讲堂)

python介绍

  • python是面向对象的解释性计算机程序设计语言,胶水语言
  • 需要解释器(翻译)成机器语言
  • 1991年公开发行第一版,1989年由guido van rossum开发,作为ABC语言的继承
  • guido是monty python喜剧团体的爱好者,所以将这个语言命名python
  • 2000年发布2.0,2008发布3.0,2020年开始不再更新2.0

python特点

1、运行速度较慢(编译型语言-解释性语言),差别在毫秒级

2、代码不能加密,已源码发布

3、强制缩进

4、GIL全局解释器锁:在任意时刻,只有一个运行在解释器中运行,对python虚拟机的访问由全局解释器锁GIL来控制,这个锁保证同一时刻只有一个线程在运行。python多线程不是真正多线程。但因为CPU效率较高,人感受不到区别。

python可以做什么

1、WEB:Flask、django、tornado

2、爬虫开发:scrapy、urllib、requests、beautifulsoup、selenium

3、数据分析BI:pandas、numpy、matplotlib、pyplot、scipy、seaborn

4、机器学习:scikit-learn、tensorflow、keras、opencv

5、运维开发:

6、人工智能

  • python开发IDE

    1、notepad++ 、sublime、pycharm

python变量和常量

  • 取名规则,大小驼峰法、见名知意

  • import keyword

  • keyword.keywordlist # 查看系统的关键字不能作为变量名

数据类型、数据结构

基本数据类型:int、float、bool

高级数据类型,数据结构:字符串、列表、元组、字典、集合

  • 序列是一组按顺序排列的数据集合
  • python内置序列类型:字符串、列表、元组
  • 序列支持索引和切片操作
  • abs()函数,求绝对值;ord()函数,返回ASCII码值;chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象),ASCII码转字符;id()函数,查看内存地址;join()函数,字符串函数,用字符连接字符串的每个元素;swapcase()字符串函数,转换所有字母的大小写;
  • 公用方法:in + * not in 通用方法len()、shuffle()、del()、sorted
  • a.isdigt() 判断a是否是整数

list列表:

  • 是有序的数据集合,支持增删改查,数据可变,内存地址不变。数据项可以是任何类型的数据,比如:列表、元组、字典、字符、数字、字符串等。

  • 常用方法:append、count、extend、index、insert、pop、remove、reverse、sort、keys、values

  • 列表推导式

    # 列表推导式
    lst = [x**2 for x in range(1,5) if x%2==0] 
    # [4,9]
    lst = [x**2 if x%2==0 else 0 for x in range(1,5)]  # 有else,if放的位置不一样
    # [0, 4, 0, 16]
    

tuple元组

  • 是不可变的序列,不能做任何修改,只有一个元素要加逗号,不能对元组元素进行赋值操作,可以对元组中的列表元素进行修改。创建元组可以不加括号 a = 10,20,30。
  • zip()函数合并多个列表,元祖,返回一个zip对象,zip对象可以转换成字典、列表。
  • 列表推导式同样适用于元组,生成一个生成器,可以转换成元组、列表。
  • 生成器只能访问一次。

dict字典

  • 键值对,通过键访问效率高(类似索引),支持增删改查,没有下标概念(不是序列类型),键不可变不重复,值可以重复可以是任意类型。
  • dict.keys() dict.items() dict.values() dict.update()修改添加键值对 dict.add()。可以嵌套
  • dict.sort_values()按值排序 dict.sort_keys() 按键排序
  • sorted(dcit.items() , key=‘a’) 按键a排序。
  • sorted()函数也可以对元祖进行排序,排序后返回的是列表
  • a = dict.fromkeys([‘name’,‘age’,‘gender’]),通过fromkeys创建一个空字典
  • popitem() 随机移除一个键值对

set集合

  • set集合是无序不重复元素序列
  • set.add() 添加元素
  • set.clear()清空集合
  • set1.defference(set2)求差集 同 set1-set2
  • set1.intersection(set2)求交集 ,取相同元素,同set1&set2
  • set1.union(set2)求并集 ,同set1 | set2
  • set1.pop()删除元素 ,返回删除的元素
  • set1.discard(3) 指定移除3
  • set1.update(4) 插入4,set1.update(set2)
  • 集合不支持索引和切片,类似字典,只有key没有value

格式化输出

  • 格式化输出,%占位符,后面跟变量类型,%s %d %f %i %c:

    print(‘我的名字是%s’ % ( name ))

  • format方式:

    print(‘我的名字是{1}年龄是{0}’.format(age, name )) 前面可以设定变量值提取的顺序

  • 格式化字符串

    u:表示unicode,以unicode编码chucun,能够储存中文。python3中默认以unicode编码储存字符串

    b:以Ascll码形式储存字符串,无法储存中文

    r:表示raw string,不识别转义

    f:表示format,用来格式化字符串

流程控制

1、顺序流程:默认从上到下执行代码

2、选择流程 判断语句:if … elif … else

3、循环流程、循环语句:for、while、continue、break,一定要有结束条件,不然会陷入死循环

4、流程控制:pass、函数中return的使用

运算符

  • :+ - * / // ** % = : -= += /= **= *= & | or and not ~ == != > < <= >= >> <<

  • 三目运算符

    #三目运算
    #格式是  :  表达式?真:假
    '''
    不存在这种
    result = (8>10) ? '正确' : '错误'
    print(result)
    '''
    
    #  真的结果  if  表达式  else  假的结果
    a=5
    b=6
    print = (a+b) if a>b else (a-b) # 结果为后面那个,假的结果-1
    
  • 运算符重载: + 实际上是类方法 __add__() 可以在类里面重新定义__add__()

函数基础

1、函数的定义,命名规则

2、函数的参数:传参、调用、缺省参数(参数默认值)、*args 、kwargs、函数中所有的参数,不管是字典型还是字符串型等可变与不可变型的数据结构,都是属于*args;但是如果是这种key=value键值对的形式传入的参数,那么这种参数就属于kwargs。

3、参数arg、*args可变参数(元组、列表)、**kwargs(课表关键字参数字典)三个参数的位置必须是一定的

4、*kwargs在调用的时候,参数前面要加 *

def stuinfo(**kwargs):
    print(kwargs)  # 打印字典
    print(*kwargs) # 打印key
    for i,v in kwargs.items():  # 遍历键值
        print(i,v)

dictA= {
   'name':'marvin','age':30}
if __name__ == '__main__':
    stuinfo(**dictA)  # 传参

5、列表推导式

list1 = [1,2,3,4,5,6,7,8,9]

list2 = [ list1[i] for i in range(len(list1)) if i%2==0]  # 返回list1偶数位的元素

list2 = list1[0::2]

6、函数返回值return,执行了return函数体就执行完毕退出

7、变量作用域:全局变量、局部变量、global

8、python中万物皆对象

匿名函数lambda

1、(lambda x,y : x if x>y else y)(12 ,2 ) # 后面跟参数可以直接调用

2、g = lambda x,y : x*y # 一般定义方式

​ g(12,2) # 调用方式

生成器

# 生成器
def func():
    n = 0
    while True:
        n += 1
        yield n  # return n  并  暂停
g = func()
print(next(g))  # print(g.__next__())  #1
print(next(g))  # print(g.__next__())  #2
print(next(g))  # print(g.__next__())  #3
# 练习,打印斐波拉契数列
def fib(length):
    n = 0
    a, b = 0, 1
    print(0)
    while n < length - 1:  # 第一个元素0已经打印
        print(b)
        a, b = b, a + b
        n += 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值