• Python基础知识汇集


    1.列表

    1.1 简介

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

    列表的数据项不需要具有相同的类型

    创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

    名称 函数说明
    list.append(obj) 在列表末尾添加新的对象
    list.count(obj) 统计某个元素在列表出现的次数
    list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
    list.insert(index,obj) 将对象插入列表
    list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj) 移除列表中某个值的第一个匹配项

    注:以下程序按顺序属于同一个py文件

    1.2 切片索引

    # 列表
    all_in_list=[0.3,'hello','True']
    # 正向索引从开始
    res=all_in_list[0]  # res=0.3
    # 反向所有从-1开始
    res=all_in_list[-2]  # res=hello
    # 列表的切片,左闭右开
    res=all_in_list[0:2]  # res=[0.3, 'hello']
    

    1.3 增删改元素

    # 列表
    all_in_list=[0.3,'hello','True']
    
    # 末尾新增元素
    all_in_list.append('hello world')  # all_in_list=[0.3, 'hello', 'True', 'hello world']
    # 指定位置前插入元素,成为指定位置上的元素
    all_in_list.insert(0,'pre-hello')  # all_in_list=['pre-hello', 0.3, 'hello', 'True', 'hello world']
    
    # 删除元素
    all_in_list.remove('hello world')  # all_in_list=['pre-hello', 0.3, 'hello', 'True']
    # 删除前两个元素
    del all_in_list[:2]  # all_in_list=['hello', 'True']
    
    # 修改元素值
    all_in_list[0]=100 #all_in_list=[100, 'True']
    

    2.操作符

    2.1 简介

    Python语言常用以下类型的运算符:算术运算符、比较关系操作符、赋值操作符、逻辑操作符

    操作符 描述 实例
    / 除法-返回右操作数除左操作数的结果 3/2返回1但3.0/2返回1.5
    % 模-返回右操作数对左操作数取模的结果 5%3返回2
    ** 指数-执行对操作指数的计算 3**2返回9
    and 逻辑与-当且仅当两个操作数为真则返回真,否则返回假 True and False返回False
    or 逻辑或-当且仅当两个操作数至少一个为真则返回真,否则返回假 True or False返回True
    not 逻辑非-用于反转操作数的逻辑状态 not True返回False

    2.2 字符串的包含in

    res='M' in 'magic'
    print(res) # 输出结果:False
    

    2.3 条件判断

    if 1<0:
        print('如果1<0正确,则输出:', end='')
        print('3.hello')
    elif 2<1:
        print('如果1<0不正确,但2<1正确,则输出:', end='')
        print('3.world')
    else:
        print('如果1<0不正确,且2<1也不正确,则输出:', end='')
        print('3.hehe')
    

    3.字典

    3.1 简介

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2 }

    注:以下程序按顺序属于同一个py文件

    3.2 索引

    dic={'h':'hello',0.5:[0.2,0.3],'w':'world'}
    #根据键索引值
    res=dic['h']
    print(res) # 输出结果:hello
    

    3.3 字典的增删改

    dic={'h':'hello',0.5:[0.2,0.3],'w':'world'}
    
    # 根据键修改一个元素
    dic['h']=100
    print(dic) # 输出结果:{'h': 100, 0.5: [0.2, 0.3], 'w': 'world'}
    
    # 添加一个元素
    dic['hw']='hello world'
    print(dic) #输出结果:{'h': 100, 0.5: [0.2, 0.3], 'w': 'world', 'hw': 'hello world'}
    # 同时添加多个元素
    dic.update({1:2,3:4})
    print(dic) #输出结果:{'h': 100, 0.5: [0.2, 0.3], 'w': 'world', 'hw': 'hello world', 1: 2, 3: 4}
    
    # 根据键删除某个元素
    del dic['h']
    print(dic) # 输出结果:{0.5: [0.2, 0.3], 'w': 'world', 'hw': 'hello world', 1: 2, 3: 4}
    

    4.字符串

    4.1 简介

    字符串是 Python 中最常用的数据类型。我们可以使用引号 ( '" ) 来创建字符串。

    创建字符串很简单,只要为变量分配一个值即可。

    函数 作用
    split(sep="",num=string.count(str)) num=string.count(str)以sep为分隔符截取字符串,如果num有指
    定值,则只截取num个子字符串。
    S.strip([chars]) 返回字符串的一个副本,删除前导和尾随字符。chars参数是一个字符
    串,指定要移除的字符集。如果省略或为None,则chars参数默认为
    删除空白字符。
    S.lower() 将字符串所有大写字符变成小写。
    S.isalnum() 如果字符串至少有一个字符,并且所有字符都是数字或者字母,则返回True。
    S.count(sub[,strat[,end]]) 返回在[strat,end]范围内的子串sub非重叠出现的次数。可选参数start和
    end都以切片表示法解释。
    replace(old,new[,max]) 将字符串中的old替换成new,如果max指定,则替换不超过max次。

    4.2 字符串的定义

    # 字符串,双引号字符串和单引号无区别
    string="My name"
    print('生成的字符串为:'+string)
    # 三引号可以进行换行
    string='''My
    name
    '''
    print('生成的有换行的字符串为:'+string)
    

    4.3 字符串的索引

    string='My name'
    # 索引字符串第一个元素
    print('字符串第一个元素为:'+string[0]) #输出结果:M
    # 索引字符串前两个元素
    print('字符串前两个元素为:'+string[:2])  #输出结果:My
    

    4.4 字符串的拼接与分割

    string='My name'
    # 拼接字符串
    print(string+' is xxx') # 输出结果:My name is xxx
    
    # 分割字符串,根据逗号进行分割, 返回结果为列表
    res=string.split(sep=',')
    print(1,string) # 输出结果:1 My name
    

    5.文件

    5.1 简介

    文件访问方式

    二进制 普通
    访问模式 说明 访问模式 说明
    rb 二进制只读 r 只读
    wb 二进制只写 w 只写
    rb+ 二进制读写 a 只追加
    wb+ 二进制读写都可,文件已存在则覆盖,不存在则新建 r+ 读写都可
    w+ 读写都可,文件已存在则覆盖,不存在则新建
    a+ 读写都可,文件存在则末尾追加

    文件操作方式

    模式 说明
    f.close() 关闭文件,记住用open()打开文件后需得关闭
    f.flush() 刷新输出缓存
    f.read([count]) 读出文件全部,若有count值,则读取count个字符
    f.readline() 读出一行信息
    f.readlines() 读出所有行,也是读出整个文件
    f.write(string) 把string字符串写入文件
    f.writelines(list) 把list中的字符串一行一行地写入文件,是连续写入,无换行操作

    5.2 文件的读取

    f=open("Walden.txt","r")
    # 读取文件内容
    txt=f.read()
    print(txt)
    # 读取文件内容的前100行
    txt=f.read(100)
    print(txt)
    f.close()
    # 逐行读取文件内容,并返回列表
    f=open("Walden.txt","r")
    txt_lines=f.readlines()
    print(txt_lines)
    f.close()
    

    5.3 例子:词频统计

    #练习3:读取小说中的单词频次
    import re
    f=open("Walden.txt","r")
    # 读取进来的数据类型是字符串
    txt=f.read()
    f.close()
    # 将字符串中字符变为小写
    txt=txt.lower()
    # 去除小说中的标点符号
    txt=re.sub('[,.?:“\’!-]','',txt)
    # 单词分割
    words=txt.split()
    word_sq={}
    for i in words:
        if i not in word_sq.keys():
            word_sq[i]=1
        else:
            word_sq[i]+=1
    # 排序
    res=sorted(word_sq.items(),key=lambda x:x[1],reverse=True)
    print(res)
    

    6.函数

    6.1 简介

    你可以定义一个由自己想要功能的函数,以下是简单的规则:

    • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
    • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
    • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
    • 函数内容以冒号起始,并且缩进。
    • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

    5.2 自定义函数的构造

    #函数自定义
    #第一种方式
    def Sum(x,y):
        return x+y
    
    # 第二种方式,函数的简单自定义
    # 返回x的平方
    y=lambda x:x**2
    # 返回x的第一个元素
    y1=lambda x:x[1]
    
    res=Sum(1,2)
    print(res) # 输出结果:3
    res=y(10)
    print(res) # 输出结果:100
    res=y1(['hello',0])
    print(res) # 输出结果:0
    

    7.面向对象

    5.1 简介

    面向对象的一些基本特征:

    • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
    • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
    • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
    • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
    • 局部变量:定义在方法中的变量,只作用于当前实例的类。
    • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
    • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
    • 实例化:创建一个类的实例,类的具体对象。
    • 方法:类中定义的函数。
    • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

    5.2 构造类

    # 面向对象
    class Human:
        def __init__(self,ag=None,se=None):
            # 类的属性
            self.age=ag
            self.sex=se
        # 类的方法
        def square(self,x):
            return x**2
    
    zhangfei=Human(ag=23,se='男')
    res=zhangfei.square(10)
    print(res)  # 输出结果:100
    res=zhangfei.age
    print(res) # 输出结果:23
    res=zhangfei.sex
    print(res) # 输出结果:男
    

    8.参考文章

    菜鸟教程-Python

    【创作不易,望点赞收藏,若有疑问,请留言,谢谢】

  • 相关阅读:
    Java后端面试题大汇总,冲刺金三银四
    面试官:小伙子,Mybatis的本质和原理说一下
    面试官问:大量的 TIME_WAIT 状态 TCP 连接,对业务有什么影响?怎么处理?
    便捷搭建 Zookeeper 服务器的方法,好用,收藏~
    10 个冷门但又非常实用的 Docker 使用技巧
    mitmproxy 抓包工具(1)
    基于alpine创建Scrapy镜像
    强大的输入框-应用快速启动uTools
    Interceptor、Filter、Servlet的区别
    利用三层判断sql数据库中编码是否已经存在(个人拙作,不喜勿喷)
  • 原文地址:https://www.cnblogs.com/dongxuelove/p/16421286.html
Copyright © 2020-2023  润新知