美文网首页Py进阶
Python基础知识点总结

Python基础知识点总结

作者: knyouoo | 来源:发表于2019-03-13 20:17 被阅读3次

    临时使用:
    可以在使用pip的时候在后面加上-i参数,指定pip源 (注:scrapy为要安装的包)

    pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple


    数据类型

    • 整型(int)
    • 浮点型(float)
    • 字符串(str)
    • 列表(list)
    • 元组(tuple)
    • 字典(dist)
    • 集合(Set)

    1.列表(list):


    一种数据结构,其中可以包含任何数据类型,甚至可以包含另外一个列表,列表中的成员可以通过序号来访问,每个成员以英文逗号“,”分隔。Python中的列表相当于其他语言的动态数组,即C++中的Vector,Java中的ArrayList


    #定义一个空列表
    students = []
    
    #向列表添加元素
    students.append('zhangsan')
    
    #打印列表中的元素
    print(students)
    
    #定义一个newStudents列表,其中包含三个元素
    newStudents = ['new1', 'new2',5]
    
    #向students列表中追加一个新列表,使两个列表合二为一
    students.extend(newStudents)
    
    print(students)
    
    #通过下标查找元素
    print(students[0])
    
    # list游标可是以负数,比如-1表示取最后一个值
    print(students[-1])
    
    #切片:前包后不包
    students[0:2]
    
    
    
    
    列表常用操作符
    列表操作 描述
    list.append(obj) 向列表尾部追加成员
    list.count(x) 计算列表中参数x的出现次数
    list.extend(L) 向列表尾部中追加另一个列表L
    list.index(x) 获得参数x在列表中的位置
    list.inset(index, obj) 列表指定位置插入元素
    list.pop() 删除列表中最后的一个值,并返回被 删除的值
    list.remove(x) 在列表中查找括号内的元素,并删除
    list.reverse() 将列表中的成员顺序颠倒
    list.sort() 将列表中的成员排序(注意成员的数据类型必须是一致的)
    list.clear() 清空列表,使列表变成一个空的

    2.元组(tuple):


    以圆括号"()"包围起来的数据集合。与列表最大的不同是,元组中的数据一旦确定了就不能被改变。元组可以使用在不希望数据被改变的场合。定义元组时,与列表相似。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。


    • 定义一个元组
    tuple1 = ('zhangsan',123,'lisi', 3.5)
    
    #注意:如果定义只有一个元素的元组,不能直接定义为
    
    tuple1 = (1)
    
    # 而是应该定义为:
    
    typle1 = (1,)
    

    3.字典(dict):


    (亦称映射)是一种储存键值对的数据类型,与列表不同的是,它存放的是键值映射,并且字典是无序的。它不完全是其他语言所谓的关联数组,而是相当于Java中的HashMap,底层是Hash表实现的快速查找


    # 定义一个字典
    
    students = {'shcool':'高中', 'grade':'一年级'}
    
    # 向字典添加数据
     students['sex'] = '男'
     
    # 修改字典中某个键值对的值
    students['grade'] = '二年级'
    
    # 使用get函数查询
    grade = students.get('grade')
    
    # 直接查询
    
    grade = students['grade']
    
    # 删除方法一
    del students['grade']
    
    # 删除方法二
    students.pop('grade')
     
    

    BIF (内建函数)

    Python内置的函数,全局可见,无需导包即可用

    BIF 功能
    list() 把一个可迭代对象变成列表
    tuple() 把一个可迭代对象变成元组
    str() 把对象转化为字符串
    len() 得到对象的长度
    max() 返回参数中的最大值,参数类型必须一致
    min() 返回参数中的最小值,参数类型必须一致
    sum() 对可迭代对象求和
    sorted() 对可迭代对象进行排序并生成新的对象(注意原对象不变)
    reversed() 对可迭代对象进行翻转并生成新的对象(注意原对象不变)
    enumerate() 将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环中
    zip(a,b) 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存,可以使用 list() 转换来输出列表

    enumerate()用法:

    seq = ['one', 'two', 'three']
    for i, element in enumerate(seq):
        print i, element
        
    # 输出结果:
    0 one
    1 two
    2 three
    

    zip()用法:

    a = [1,2,3]
    
    b = [4,5,6]
    
    zipped = zip(a,b)     # 返回一个对象
    
    list(zipped)  # list() 转换为列表
    
    

    三目运算:

    # 比较两个数的大小,并把最大的数赋值给max
    
    max = 6
    a = 10
    
    # 传统写法
    if a > max:
       max = a
       
    # 三目运算表达式写法
    
    max if a > max else a
    
    

    函数传参

    1 def sub(x,y,z): #声明一个求三个数和的求和函数 
    2     return x + y + z 
    3 
    4 
    5 # 按顺序传参 
    6 result = sub(4,7,11) 
    7 
    8 # 按参数名传参 
    9 result = sub(z=11,y=7,x=4) 
    10 
    11 # 混合传参 
    12 result = sub(4,z=11,y=7) 
    
    

    Python支持多变量赋值

    a, b, c = 2, 3, 5 
    
    # 交换两个变量在Python中的写法
    
    a = 2 
    b = 3 
    
    a,b = b,a 
    
    

    Python 函数的多值返回

    def getAddress(): 
        ip, port = "192.0.0.12", "8080" 
        return ip, port 
        
    # 接收函数的多返回值时,不需要的值使用“_”操作符丢弃 
    ip, _ = getAddress() 
    print(ip) 
    
    

    模块

    • Python模块实际上是指包含函数或者是一些类的Python脚本。模块的一个好处是可重用。简单讲,一个.py格式的文件就是一个模块,包则是一个目录,其中包含一组模块和一个init.py文件

    模块导入

    # 最简单的模块导入 
    import math 
    # 调用math模块中的一个函数
     math.sqrt(4) 
    # 导入math模块,并起一个别名 
    import math as mt 
    mt.sqrt(4) 
    # 导入math 模块中的sqrt函数,则在当前脚本内,可以直接 调用该函数 
    from math import sqrt 
    sqrt(4) 
    # 导入math 模块中的所有函数,则可直接调用这些函数,不推荐!易造成命名空间冲突 
    from math import * 
    
    

    面向对象

    • 定义类
    class Book: 
        #实现构造方法 
        def __init__(self,n,p): 
            self.name = n
            self.price = p 
        def print_info(self):
            print(self.name +" - "+str(self.price))
    
    b = Book("python",25.5)
    b.print_info()
    
    
    • 继承类
    class Magazine(Book): 
        #定义杂志类继承自书类 
        def __init__(self,name,price,ad): 
            super().__init__(name,price)     #手动调用父类的构造方法
            self.advertisement = ad 
    
    • 同时继承两个父类
    class Student(Human,Study):
        pass 
    
    

    操作文件

    • 简单快速的文件遍历
    def dir_list():
        for root, dirs, files in os.walk(path):
            for fn in files:
            print(os.path.join(root,fn))
    
    • 文本写入-使用上下文管理器
    # 文本文件
    with open('sample.txt', 'w') as fp:
        fp.write('文本文件的写入方法')
        
    # 文本拷贝
    with open('test.txt', 'r') as src, open('test_new.txt', 'w') as dst:
        st.write(src.read())
    

    界面框架

    1. TKinter库
    2. PyQt

    Python命名规范

    类型 公有/外部成员 私有/内部成员
    模块(module) my_naming_convention _my_naming_convention
    包(package) my_naming_convention
    类(class) MyNamingConvention _MyNamingConvention
    异常(Exception) MyNamingConvention
    函数(function) my_naming_convention() _my_naming_convention()
    全局/类常量(constant) MY_NAMING_CONVENTION _MY_NAMING_CONVENTION
    全局/类变量(variable) my_naming_convention _my_naming_convention

    相关文章

      网友评论

        本文标题:Python基础知识点总结

        本文链接:https://www.haomeiwen.com/subject/hoqxmqtx.html