python的注释语法

"""注释是代码之母!!!"""
1什么是注释
注释就是对一段代码的解释 步参与与程序的运行 只起到提示作用
2如何使用注释
1 使用警号# 单行注释
2 使用三引号(单双) 多行注释
3pycharm注释快捷键
ctrl + ?
"""
1.警号与注释文本之间一定要有一个空格
2.如果单行注释跟在了一行代码的后面 需要先空两个再写
pycharm也提供自动化格式代码的功能
ctrl+alt+l
code
reformat code
"""

变量

1.什么是变量
	即变化的量 用于记录事物的某种状态(模仿人类事物记忆能力)
 2.如何使用变量
 	日常生活中:
      姓名:Jason 
      年龄:18
      爱好:学习
	程序中:
      username = 'jason'
      age = 18
      hobby = 'music'

"""

语法格式

image

username = 'jason'
变量名 赋值符号 变量值

底层原理(必会!!!)

遇到赋值符号先看符号右边的再看左边的
	age = 18
		1.在内存空间中申请一块内存空间存储18
		2.将18所在的内存空间地址绑定给变量名age
		3.之后如果要访问18就通过变量名age访问即可

"""
image

命名规范与风格

# 命名规范
	1.变量名只能由数字、字母、下划线任意组合
    	user@name(不对)、_(可以)、pwd_123_aaa(可以)
    2.变量名不能以数字开头,下划线建议不要开头因为有特殊含义
    3.变量名不能与关键字冲突
    4.变量名的命名一定要做到见名知意(重要)
    	'''变量名见名知意是核心 无论变量多长'''
# 命名风格
	1.驼峰体  
    	大驼峰  # 所有单词首字母大写
        	UserNameFromDb
        小驼峰  # 第一首字母小写其余首字母大写
        	userNameFromDB
        """JavaScript推荐使用驼峰体"""
    2.下划线  # 单词与单词之间下划线隔开
    	user_name_from_db 
        """python推荐使用下划线"""

常量

image

主要用于记录一些不变的状态

在python中没有真正意义上的常量 我们墨守成规的将全大写的变量看成是常量
	HOST = '127.0.0.1'  # 一般情况下在配置文件中使用较多
在其他编程语言中是存在真正意义上的常量 定义了就无法修改
	const pi = 3.14  # 定义常量
    pi = 4  # 不支持修改

变量三要素

1.变量的值 
2.变量的内存地址
3.变量的数据类型

name = 'jason'
print(name)  # 值
print(id(name))  # 一串数字 相当于是内存地址编号
print(type(name))  # 数据类型  <class 'str'="">

image

python底层优化

当值数据量很小的时候 如果有多个变量名需要使用 那么会指向同一块地址

一个变量名只能指向一个内存地址

一个内存地址可以有多个变量名指向

image
image

结论

当用python语法的时候变量指定的内存地址较少的时候,得到的id相同。反之当用python语法的时候变量指定的内存地址较多的时候,得到的id不相同

垃圾回收机制

垃圾数据的定义

在内存中没有任何变量名指向的数据

针对垃圾数据python开发了一套自动化回收方案

1.引用计数
	在引用计数中,每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资源。
2.标记清除
	当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
    并打上标记 之后一次性清除掉标记的数据
3.分代回收
	会将数据的监管分为三个层次 随着层级的下降监督的频率降低

image

posted on 2021-11-02 16:38  狼行千里吃肉  阅读(72)  评论(0)    收藏  举报

import time with open('a.txt', 'rb') as f: f.seek(0, 2) while True: line = f.readline() if len(line) == 0: # 没有内容 time.sleep(0.5) else: print(line.decode('utf-8'), end='')