• Python基础入门笔记



    file.read(1) 读取一个字符
    file.seek(0) 将file的指针只想位置0,即文件开始位置
    file.tell() 显示文件指针当前位置

    file5 = open("name.txt")
    fior line in file5.readlines():
        print(line)
    表示逐行读取文件

    file.readline()  表示读取一行文件

    file.open("name.txt","w')表示可以写入该文件,默认为r,只读
    file.open("name.txt","a')表示可以写入该文件,并且在该文件末尾添加新的内容,如果是w就会覆盖原来的内容

    try:
        检测异常
    except Exception[,reson]:
    except ValueError:
    except [ValueError,KeyError]:  //多个类型的异常捕获
        异常处理
    finally:
        无论异常是否发生,都要执行

    try:
        print(1/0)
    except ZeroDivisionError as c:
        print("0不能作为除数 %s" %c)


    捕获所有的异常
    try:
        print(1/0)
    except  Exception as c:
        print("0不能作为除数 %s" %c)


    try:
        raiseNameError("helloworld)
    except  NameError:
        print("my custom error")


    file5 = open("name.txt",encoding="GB18038")支持中文的一个编码


    字典的格式
    dict{"哈希值":"对象","length":180,"width":80}

    dict1={'x':1."y":2}
    dict1["z"]=3  //给字典增加一个新的值


    //读取字典中的所有值
    for  each_key in dict1.keys():
        print(“%s 的值式 %s”%(each_key,dict1[each_key]))  //输出key和value


    列表推导式
    blist=[i*i for i in range(1,11) if(i%2==0)]

    字典推导式
    z_num={}
    fir i in zodiac_name:
        z_num[i]=0
    推导之后  z_num ={i:0 for i in zodiac_name}


    22.函数
    line.strip("\n) 删除换行符
    data.split("|")  把字符串用符号“|”分开得到一个列表


    with open("sanguo.txt",encoding="GB18038")as f://with会把open得到的值赋值给f
        data =f.read().replace("\n","")//读取f中的内容,并且将换行符替换为空
        num=re.find(String,data)  //需要import re,这个表示String在data中出现的次数,如果出现三次,那么返回值num就会得到一个list=[String,String,String],如果要的得到数字,可以用len(num)

    23.函数的可变长参数
    def func(a,b,c)
        print("a= %s" %a)
        print("b= %s" %b)
        print("c= %s" %c)
    func(1,2,3)得到1,2,3
    func(1,c=3,b=2) a,b,c仍然得到的结果是1,2,3,  这个和java不同,可以改变参数位置 


    def howlong(first,*other)://参数至少要一个,后面随意多少个
        print(1+len(other))
    howlong(1)  //得到1
    howlong(1,5543,543)//得到3


    24.函数的作用域
    var=123
    def func():
        global  var  //加了这句,会影响外部的var的值
        var=456    
        print(var)
    func()//得到456, 
    print(var)//得到123 ,因为这个变量只在函数内部变成456,若是在func中 的 var 前面加一个关键字 global,那么得到的结果就是456,因为加了global就可以看成是全局变量的赋值了

    25.函数的迭代器和生成器

    list=[1,2,3]
    it =iter(list)
    print(next(it))  //一次输出一个值,超过三次就会报错,因为list的长度是3

    def  frange(start,stop,step):
        x=start
        while x<stop:
            yield x   //使用yield可以让函数一次返回一个值,如果没有这句,下方调用就会报错
            x+=step
    for i in frange(10,20,0.5):
        print(i)


    26 Lambda 表达式
    lambda x: x<=(month,day) 和下面的函数相等
    def function(x)
        return x<=(month,day)
    lambda x,y:x+y  和下面函数相等
    def add(x,y)
        return x+y
    add(3,5)

    lambda item:item1  和下面的函数相等

    def  func2(item):
        return item[1]
    adict={'a':'aa','b':'bb'}
    for i in adict.items():
        print(func2(i))


    31.装饰器的使用

    def tips(func):
        def nei(a,b):
            print("start")
            func(a,b)
            print("end")
        return nei

    @tips
    def add(a,b):
        print(a+b)
    add(4,5)   //输出结果为 start end
    print(add(4,5))  //输出届比上面多了一个None

    def new_tips(argv):
        def tips(func):
            def nei(a,b):
                print("start %s %s" %(argv,func.__name__)) //可以接受外部的参数argv,获取调用函数的名字
                func(a,b)
                print("end")
            return nei
        return tips

    @new_tips("add1")  //括号中的参数,和方法不是同一个东西
    def add(a,b):
        print(a+b)
    @new_tips("sub")
    def sub(a,b):
        print(a-b)

    add(4,5)
    sub(4,5)

    结果如下所示:
    start add1 add
    9
    end
    start sub sub
    -1
    end


    32.自定义上下文管理器
    fd=open("name.txt")
    try:
        for line in fd:
            print(line)
    finally:
        fd.close()
    下面的代码和上面代码功能相同,当使用with打开文件时,若开出现异常那么with会自动掉用close函数来关闭文件
    with open ("name.txt") as f:
        for line in f:
            print(line)

    33.模块的定义
    import os  //库函数
    import time  as t//库函数  t.time()
    import matplotlib as m   //库函数,可以把函数的名称简化然后使用 
    from time import  sleep  //这样写就可以直接使用sleep(),不需time作为前缀,但是不建议这样写,因为在其他的库函数里面可能也会有sleep这个方法,防止代码混淆
    sleep()

    import mymode  //mymode自己写的模块,在另一个文件中调用这个模块的print方法,这个print是自定义的,不是系统的print
    mymode.print()  


    34.语法规范
    PEP8 编码规范  https://www.python.org/dev/peps/pep-0008/

    在  DOS 下输入  pip3 install autopep8  
    在pycharm里面右键鼠标使用pep8,就可以对代码作自动的格式整理

  • 相关阅读:
    lazarus:数据集快速导出为excel、csv、sql及其他多种格式
    毕业设计-图像绘制系统设计( Matlab机器人工具箱综合应用)
    centos配置本地yum源方法+开机自动挂载源
    Flutter系列文章-Flutter在实际业务中的应用
    云原生定义整理
    React源码解读之React Fiber
    python mitmproxy +雷电模拟器 安装
    【亲测】阿里云ECS搭建《幻兽帕鲁》联机服务器
    【元宇宙欧米说】探索元宇宙的“数字美学”
    JAVA之Mysql应用|记一次通过mysql表中的三个字段对应一个前端组合状态字段查询场景的解决方案
  • 原文地址:https://blog.csdn.net/qq_30273575/article/details/125406388