zoukankan      html  css  js  c++  java
  • Python进阶

    模块

    • import module1,module2...,导入模块(.py文件)的所有内容

    • from module import xx,只从模块导入指定部分

    • from module import *,导入一个模块的所有内容,那些由单一下划线(_)开头的名字不在此例。引入的其它来源的命名,很可能覆盖了已有的定义。不建议使用

    • from Package import specific_submodule ,从包中导入模块

    __name__属性

    一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用name属性来使该程序块仅在该模块自身运行时执行。

    #!/usr/bin/python3
    # Filename: using_name.py

    if __name__ == '__main__':
      print('程序自身在运行')
    else:
      print('我来自另一模块')

    dir() 函数

    内置的函数 dir() 可以找到模块内定义的所有名称(函数和变量)。以一个字符串列表的形式返回

    函数

    定义函数

    def sum(p1,p2):
       return p1*p2

    调用函数时可使用的正式参数类型

    • 必需参数

      • 必需参数须以正确的顺序和数量传入函数。

    • 关键字参数

      • 函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致

      • def user(name,age):
           print(f'姓名:{name},年龄:{age}')
        user(age=18,name='tom')
    • 默认参数

      • 调用函数时,如果没有传递参数,则会使用默认参数

      • def user(name,age,gender='male'):
           print(f'姓名:{name},年龄:{age},性别:{gender}')
        user('tom',15)
    • 不定长参数

      • 加了一个星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数

      • 加了两个星号 ** 的参数会以字典的形式导入

      • 星号 * 作为参数单独出现时,星号 * 后的参数必须用关键字传入

    匿名函数lambda

    # lambda [arg1 [,arg2,.....argn]]:expression
    sum=lambda p1,p2:p1+p2
    print(sum(1,2))

    文件读写

    • open(filename,mode),打开文件后需要关闭 f.close()

      • filename:文件名

      • mode:r 读,w 写,r+/w+ 读写,a/a+ 读写的追加模式

    • with open(filename,mode) as f,自动关闭文件

    面向对象

    • 构造方法 __init__()

    def __init__(self):
       self.data = []
    • self,表示类的实例,类似于Java的this,类的方法必须有一个额外的第一个参数名称是 self

    • 继承

    class DerivedClassName(BaseClassName):
    • 调用父类方法:super().methodName() 或者 BaseClass().methodName()

    • 私有属性方法:属性、方法名用两个下划线开头__private_attrs、__private_method

    • 变量作用域

      • 在内部作用域修改外部作用域的变量时,用global

      num = 1
      def fun1():
         global num  # 需要使用 global 关键字声明
         print(num)
         num = 123
         print(num)
      fun1()
      print(num)
      • 修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量,用nonlocal

      def outer():
         num = 10
         def inner():
             nonlocal num   # nonlocal关键字声明
             num = 100
             print(num)
         inner()
         print(num)
      outer()

    标准库

    • 操作系统接口 os

    • 执行脚本的命令行参数 sys.argv

    • 字符串正则 re

    • 数学 math

    • 随机数 random

    • 日期时间 datetime,time

    json

    dict中的key-value为单引号,json中的节点-值为双引号

    json.dumps() 编码

    json.loads() 解码

  • 相关阅读:
    FTP(文件传输协议)工作原理
    Web测试和App测试有什么区别
    JMeter中文版用户手册
    shell常用命令
    RAID技术介绍和总结
    SQL Insert语句数据以以unicode码存储 解决存储数据出现乱码的问题
    IIS 允许无后缀文件访问的配置
    cocos2dx 背景用小尺寸图片滚动填充的方法
    (转)Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程) .
    大数据应用期末总评
  • 原文地址:https://www.cnblogs.com/yjh1995/p/14753218.html
Copyright © 2011-2022 走看看