python的基础知识

学习书籍

  • Python Tutorial

  • Python Cookbook

  • Python 基础编程

  • 流畅的Python

帮助函数

dir help

python特殊语法

  • 关键字所在行的最后加冒号:

  • eval函数,评估函数,将python中字符串转换为语句并执行;去掉引号,并执行余下的语句

  • 列表,元组,字符串都是序列

  • 遍历循环用for in,无限循环用while

  • python的内置函数,不需要导入

  • 标准库,py解释器自带的库,不需要安装

内建函数,标准库函数,第三方库函数
直接使用,需要导入,需要安装后导入

  • with语句:实现上下文管理

  • sys是标准库自带模块,argv是一个命令行参数的列表,保存了程序运行时传给它的所有参数,包括程序自身的名字(sys.argv[0]),所以我们给程序的外部参数,都是从1开始计

  • in 运算符的包含和迭代 if in ,for in

  • 复合语句以冒号结束,表示缩进代码的开始

  • 三个布尔运算符:not and or

  • is 表示地址相等,==值相等

  • open函数
    打开函数返回一个文件对象,文件对象可迭代
    read readline readlines
    write writelines

  • for循环和range()函数

  • sys.exit()提前结束程序

  • 在 Python 中有一个值称为 None,它表示没有值。None 是 NoneType 数据类型 的唯一值(其他编程语言可能称这个值为 null、nil 或 undefined)。就像布尔值 True 和 False 一样,None 必须大写首字母 N。 如果你希望变量中存储的东西不会与一个真正的值混淆,这个没有值的值就可 能有用。有一个使用 None 的地方就是 print()的返回值。print()函数在屏幕上显示文 本,但它不需要返回任何值,这和 len()或 input()不同。但既然所有函数调用都需要 求值为一个返回值,那么 print()就返回 None。
    在幕后,对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return None。这类似于 while 或 for 循环隐式地以 continue 语句结尾。而且,如果使用不 带值的 return 语句(也就是只有 return 关键字本身), 那么就返回 None。

    	 spam = print('Hello!') #Hello!
    	 None == spam #True 
    
  • 多重赋值技巧 多重赋值技巧是一种快捷方式,让你在一行代码中,用列表中的值为多个变量 赋值。变量的数目和列表的长度必须严格相等,否则 Python 将给出 ValueError:

     cat = ['fat', 'black', 'loud'] 
     size, color, disposition = cat
    
  • in 和 not in 操作符可以检查值是否存在于列表中

  • all()和any(): 小函数,大作用

常用模块

  • 标准安装包含一组称为标准库的模块

  • sys 模块访问与解释器相关的变量和函数
    sys.argv
    sys.path:解释器会按照sys.path列表的顺序来查找被引入的包或模块名字,可以操作 sys.path,使得其它路径的文件加入到Path中,使之能被解释器发现。sys.path.append("/data")

  • os.path

  • import random

  • import time
    datetime, date, time

  • from threading import Thread, Semaphore, currentThread, Lock, Event,Timer

  • from multiprocessing import Process, Lock

  • from typing import Any, TypeVar, Generic, Optional

  • from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor

  • import os, time, random

  • queue.LifoQueue(maxsize=0) #堆栈:last in fisrt out

  • queue.Queue(maxsize=0) #队列:先进先出

  • queue.PriorityQueue(maxsize=0) #优先级队列:存储数据时可设置优先级的队列

基本数据结构

  • 序列
    字符串
    列表
    元组
  • 散列
    集合
    字典
  • collections模块
    在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
    方法或函数解释
    amedtuple生成可以使用名字来访问元素内容的tuple
    eque双端队列,可以快速的从另外一侧追加和推出对象
    ounter计数器,主要用来计数
    rderedDict有序字典
    efaultdict带有默认值的字典

字典

  • keys()、values()和 items()方法:
    分别对应于字典的键、值和键-值对,这些方法返回的值不是真正的列表,它们不能被修改,没有 append()方法。但这些数据类型(分别是 dict_keys、dict_values 和dict_items)可以用于 for 循环。
        name_value = {1: 2, 2: 3}
        print(type(name_value.keys()))  # <class 'dict_keys'>
        print(type(name_value.values()))  # <class 'dict_values'>
        print(type(name_value.items()))  # <class 'dict_items'>
    
  • get()方法
    在访问一个键的值之前,检查该键是否存在于字典中,这很麻烦。好在,、get()方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回的备用值
  • setdefault()方法
    content = "Hello Python; Hello Word."
    char_count = {}
    for ch in content:
        char_count.setdefault(ch, 0)
        #setdefault() 方法调用确保了键存在于 count 字典中(默认值是 0),
        #这样在执行 count[character] = count[character] + 1时,就不会抛出 KeyError 错误
        char_count[ch] = char_count[ch] + 1
    
    print(char_count)
    

推导表达式

  • 列表推导
  • 集合推导
  • 字典推导

流程控制

  • 选择结构
    条件判断
    三目运算
  • 逻辑运算
  • 循环结构
    条件循环
    迭代循环

默认值

  • 第一种方式
    groups = {}
    for (key, value) in data:
    groups.setdefault(key, []).append(value)
  • 第二种方式
    from collections import defaultdict
    groups = defaultdict(list)
    for (key, value) in data:
    groups[key].append(value)

三方库

  • jieba 中文分词库
  • turtle 海龟绘图库
  • pyInstaller py转化为可执行文件
  • wordcloud词️
  • numpy
  • pandas

字符串

  • 单引号
  • 双引号,双引号里面的单引号,无需转义
  • 三引号,字符串可以换行,sql语句
  • r字符串,文件路径无需转移
  • f字符串,格式化字符串,输出带有变量的字符串
  • 模板字符串,槽,format方法
print('"biaoer"')  # "biaoer"
print("""123 456""")  # 123 456
print(os.path.exists(r'C:\test'))  # False
name = '彪'
print(f'name is {name}')  # name is 彪
print("name is %s" % name)  # name is 彪
print("name is {0}".format(name))  # name is 彪

函数的分类

  • 内建函数 包含在utils模块中的函数

  • 标准库函数 先导入模块在使用

  • 第三方库函数 先安装,再导入使用

  • 自定义函数

包与模块

  • 模块
    一个模块(module)就是一个py文件,模块的名字就是该文件的名字(不包含.py后缀)


  • 一个 包(package)就是一个文件夹,(Python2规定该文件夹必须包含一个 init.py ,Python3没有要求),包名就是文件夹名。

  • 按 import 进来的对象不同分为4种场景:

  1. import # 导入一个包
  2. import # 导入一个模块
  3. from import # 从一个包中导入模块/子包/对象
  4. from import # 从模块中导入对象
  • 模块的 __file__属性
    导入模块时,可以通过模块的 __file__属性查看模块所在磁盘的路径位置

  • 不要使用 from import * ,命名空间是个好东西

解包

序列自动解包,解包在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来

除了列表对象可以解包之外,任何可迭代对象都支持解包,可迭代对象包括元组、字典、集合、字符串、生成器等实现了__next__方法的一切对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值