zoukankan      html  css  js  c++  java
  • Python的方法和语法解释

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    sorted()

    sorted(iterable[, cmp[, key[, reverse]]])

    iterable -- 可迭代对象

    cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0

    key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序

    reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

     ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    type()函数

    type() 方法的语法:class type(name, bases, dict)

    name -- 类的名称

    bases -- 基类的元组

    dict -- 字典,类内定义的命名空间变量。 一个参数返回对象类型, 三个参数,返回新的类型对象

    PS:(isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance())

     ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    setdefault()

    dict.setdefault(key, default=None)

    key -- 查找的键值 default -- 键不存在时,设置的默认键值(如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值)

    dic[key][key].setdefault(key,default) 利用字典切片将键值增加进嵌套dic中

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    open()函数 和 write()函数

    我们以任何方式使用文件,哪怕是仅仅打印其内容,都得先打开文件,这时候我们就需要open函数

    filename = r'路径文件名称'   #这个称为绝对路径 ,由于反斜杠在python中视为转义标记,所以当读取路径是发生错误,可以在路径的’单引号’前加上r,r就是以原始字符串的方式指定路径

    with open(filename, ‘ ’) as file : #读取和写入文件的语法

    with() -- 关键字,意思就是在不再需要访问文件后将其关闭

    open() -- 打开函数

    filename -- 文件的名称或者一个带有文件路径的变量

    as -- 关键字

    file -- 就是将文件打开后放入这个变量中供输出和调用

    PS:也可以在filename的后面增加一个参数,如 ‘w’ 写入模式、‘r’ 读取模式、‘a’ 附加模式、‘r+’ 读取和写入模式

    PS: 写入模式会覆盖文件原有的内容,附加模式不会覆盖而是在原文本后面增加内容

    PS:读取和写入模式语法的最后有一个 ‘ :’,这个标点也是语法的关键字

    PS:python只在当前执行文件.py所在的目录中查找文件,如果需要打开的文件在当前目录的子目录中,可以在括号内指定文件夹名和文件名,称为即相对路径with open(‘text_filesfilename.txt’)as file

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    lambda()匿名函数

    在Python中,lambda的语法是唯一的

    语法:lambda argument_list: expression 其中,lambda是Python预留的关键字,argument_list和expression由用户自定义

              argument_list是参数列表。expression是一个关于参数的表达式。表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的

    lambda函数有如下特性:

    lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字

    lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值

    lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    format()

    这个函数同理占位符,也是用来格式化传入参数的作用,但是格式和原理不同

    几种方式

    msg='my name is {name} my age is {age}'.format(age=18,name='egon') #这个利用format()函数来传入

    msg='my name is {} my age is {}'.format(18,'egon')   #利用format传入,如果没有指定传入参数,那就按照位置传入,有点类似占位符%的原理

    msg='my name is {0} my age is {0}{1}{1}'.format(18,'egon')  #利用format传入,在想要传入值得位置写入数字,那就按照数字的排序对应format括号里值得位置排序传入

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    fromkeys()  将列表和元组迅速创建成字典

    Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值,可以将列表元组的值变成key并且对应一个None的值

    romkeys()方法语法:dict.fromkeys(seq[, value])  #这里value可以设为默认None,然后再将需要的值传入

    seq -- 字典键值列表。

    value -- 可选参数, 设置键序列(seq)的值

    PS:该方法返回一个新字典

    例:

    seq = ('Google', 'Runoob', 'Taobao')

    dict = dict.fromkeys(seq)

    print "新字典为 : %s" % str(dict)

    dict = dict.fromkeys(seq, 10)

    print "新字典为 : %s" % str(dict)

     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 

    关键字: global nonlocal
    如果想要在局部修改全局名字对应的值是不可变类型时.必须在局部用global关键字加以声明
    x=111
    def func():
     global x
     x=222
    PS:在global申明x后,则全局的x原有值111变成了222

    如果想要在局部修改全局名字对应的值是不可变类型时.必须在局部用global关键字加以声明

    x = 111

    def func():

      h = 222

      def boo():

        y = 444

        nonlocal h

        h=333

    PS:这里局部函数内声明要修改局部参数h的值,则会开始一层一层查找,直到找到匹配的,如果未找到则报错

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    模块调用的时候不运行模块内的调用命令,作为导入调用,而不是右键运行

    if __name__ == __main__:

      func()

      func()  #这样在导入模块的时候不会运行文件内执行代码

    PS:当xxx.py文件被当成脚本文件直接运行时(右键直接运行的文件就是脚本文件)__name__的值为__main__

    PS:当xxx.py文件被当成模块导入时__name__的值为模块名

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    struct模块(用于网络传输的字节转换模块)

    用处
    1、按照指定格式将Python数据转换为字符串,该字符串为字节流,如网络传输时,不能传输int,此时先将int转化为字节流,然后再发送
    2、按照指定格式将字节流转换为Python指定的数据类型
    3、处理二进制数据,如果用struct来处理文件的话,需要用’wb’,’rb’以二进制(字节流)写,读的方式来处理文件
    4、处理c语言中的结构体

    struct模块中的函数

    PS:包装的方法由fmt指定。被包装的参数必须严格符合fmt。最后返回一个包装后的字符串

    ps:包装后发送的数据是字节流形式,在接收端需要unpack解析后才能获取

    struct.pack(fmt,v1,v2,.....)

    将v1,v2等参数的值进行一层包装,包装的方法由fmt指定。被包装的参数必须严格符合fmt。最后返回一个包装后的字符串。

    struct.unpack(fmt,string)

    顾名思义,解包。比如pack打包,然后就可以用unpack解包了。返回一个由解包数据(string)得到的一个元组(tuple), 即使仅有一个数据也会被解包成元组。其中len(string) 必须等于 calcsize(fmt),这里面涉及到了一个calcsize函数。struct.calcsize(fmt):这个就是用来计算fmt格式所描述的结构的大小

    PS:打包是什么标准,相对解包也需要同样的标准 

    PS:解包出来的值是以元组的形式呈现

    格式字符串(format string)由一个或多个格式字符(format characters)组成,对于这些格式字符的描述参照Python manual如下

    根据fmt的格式,返回需要的字节大小

  • 相关阅读:
    Linux grep命令使用方法
    Linux crontab使用方法
    Linux find命令使用方法
    软件测试全流程
    Linux查看CPU、内存、IO占用高的进程
    使用py2exe转换python文件为可执行程序
    Shell脚本调试方法
    Shell编程常用函数
    Win10常用快捷键使用指南
    mac上一键配置和安装adb驱动或者环境
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/9828953.html
Copyright © 2011-2022 走看看