python笔记

2021/10/2 20:42:02

本文主要是介绍python笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python笔记

1、linux的shebang符号(#!)

  • #!这个符号叫做shebang或者sha-bang

  • Shebang通常在Unix操作系统脚本的第一行开头,代表这个执行程序的解释器

  • 使用方式

    1、查询python3解释器所在路径

    which python3

    2、在pyhon文件第一行增加

    #!/usr/bin/python3

    3、修改文件权限,增加可执行权限

    chmod +x 文件名.py

    4、在需要执行时候,可以直接在命令行 ./文件名.py

    ​ 以后执行的时候可以省略python3,了解即可

2、python的多值参数

​ python中有两种多值参数

  • 参数名前加一个*可以接收元组
  • 参数名前加两个*可以接收字典

​ 在调用带有多值参数的函数时,如果希望:

  • 将一个 元组变量,直接传递给 args
  • 将一个 字典变量,直接传递给 kwargs

​ 就可以使用 拆包,简化参数的传递,拆包 的方式是:

  • 元组变量前,增加 一个 *
  • 字典变量前,增加 两个 *
def demo(num, *args, **kwargs):

    print(num)
    print(args)
    print(kwargs)


demo(1, 2, 3, 4, 5, name="小明", age=18, gender=True)
def demo(*args, **kwargs):

    print(args)
    print(kwargs)


# 需要将一个元组变量/字典变量传递给函数对应的参数
gl_nums = (1, 2, 3)
gl_xiaoming = {"name": "小明", "age": 18}

# 会把 num_tuple 和 xiaoming 作为元组传递个 args
# demo(gl_nums, gl_xiaoming)
demo(*gl_nums, **gl_xiaoming)

3、python的内置方法

  • 所有__方法名__格式的都是python的内置方法。通过dir() ,查看该对象的所有属性和方法

  • __del__ 相当于析构函数

  • __str__ 相当于java的tostring

  • __new__ 方法,是一个由object基类提供的内置的静态方法,主要作用有两个

    • 在内存中为对象分配空间

    • 返回对象的引用,即调用init方法

      重写该方法,一定要return super().__new__(cls)

  • __name__ 属性。如果是被其他文件导入,__name__ 就是模块名,如果在当前执行的程序里,__name__=__main__

4、is和==的区别

​ is判断是否是同一个引用,==判断变量的值是否相等

5、python没有严格意义的私有

​ 在定义属性或者方法时,在属性或者方法名前面加两个下划线,就代表私有,比如__age

​ 但是如果想外面访问,可以直接类名.__属性访问,比如.Women__age

6、MRO–方法搜索顺序

​ print(类.__mro__)查看该类的继承顺序,以及属性调用顺序

7、包

​ 要在外界使用包中的模块,创建包时会自动创建一个__init__.py在该文件中要指明对外提供的模块

# 从当前目录导入模块列表
from . import 模块1
from . import 模块2

python解释器在导入模块时,会:

  • 搜索当前目录指定模块名的文件,如果有就直接导入

  • 如果没有,再搜索系统目录

    python中每个模块都有一个内置属性__file__可以查看模块的完整路径

8、文件复制

  • 小文件复制
# 1. 打开文件
file_read = open("README")
file_write = open("README[复件]", "w")

# 2. 读取并写入文件
text = file_read.read()
file_write.write(text)

# 3. 关闭文件
file_read.close()
file_write.close()
  • 大文件复制
# 1. 打开文件
file_read = open("README")
file_write = open("README[复件]", "w")

# 2. 读取并写入文件
while True:
    # 每次读取一行
    text = file_read.readline()

    # 判断是否读取到内容
    if not text:
        break

    file_write.write(text)

# 3. 关闭文件
file_read.close()
file_write.close()

9、文本编码

  • Python2.x默认使用ASCII编码
  • Python3.x默认使用UTF-8编码(UTF-8支持中文)


这篇关于python笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程