Python基础
目录
1.什么是注释?
注释就是对一段代码的解释,不参与程序的运行 只起到提示作用
2.怎么用注释?
注释只加在关键代码,用作注解说明或注释掉暂时不想用的代码
注释方法一 :#+空格+注释的信息 (单行代码的注释)
#号与注释文本之间一定要有一个空格。 如果单行注释跟在了一行代码的后面 需要先空两个空格再写。

这是一行注释,不参与程序的运行,
此时如果把#去掉 ,程序崩溃

(Ctrl+Alt+L 美化代码快捷键)即自动格式化代码
注释方法二 :对整个python文件做一个整体的描述,三引号(单双皆可)一般放在开头 (多行代码的注释 )

Ctrl+?注释快捷键(可以用来批量加注释)
变量三要素:1.变量的值、2.变量的内存地址、3.变量的数据类型。
①.什么是变量?
即变化的量 用于记录事物的某种状态(模仿人类事物记忆能力)
变量是一种存取内存的机制
②.如何引用变量?
原则 : 先定义 , 后引用
⑴ . 定义变量:

此时,赋值符号左边为变量名,右边为变量值
⑵ . 底层原理
遇到赋值符号先看赋值符号右边的,再看左边的
age = 18
1.在内存空间中申请一块内存空间存储18
2.将18所在的内存 空间地址绑定给变量名age
3.之后如果要访问18,则要通过输入变量名age

补充:
x = 1
x = 1+1
print(x)
结果为2

print(x)
x = 1

此时 逻辑出错,运行不了。(即变量赋值在下边.)
我们来看一下下面这几行代码
print(3333 缺少)

语法出错可以避免(属于低级错误)

逻辑错误:运行到asdf后报错,我们只能尽量去避免~
asdf类似这种纯英文的是变量名
"asdf"类似这种加了引号的是变量值
2.2 变量的命名规范与风格
定义变量是把一个值存下来,以便后面使用。同时变量要取名。
⑴变量名的命名应该要见名知意,应该遵循以下规范;
①.变量名是由字母数字下列线组成
②.不能以数字开头
③.不能使用python语言的关键字
错误示范:
print=11111
print("zzzzzz")

*变量名见名知意是核心 无论变量值多长*
[python语言的关键字:('and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield')]
⑵命名风格
1.驼峰体
大驼峰 : 所有单词的首字母大写
UserNameFromDb
小驼峰 : 第一首字母小写其余首字母大写
userNameFromDB
缺点:无空格,看起来不太清晰
"""JavaScript推荐使用驼峰体"""
2.纯小写+下划线 :单词与单词之间下划线隔开
user_name_from_db
"""python推荐使用下划线"""
变量名可以使用中文,但是尽量不要使用
2.2常量。
Python没有真正意义上的常量。
其他语言中有常量,
我们墨守成规的认为,常量一般是纯大写
eg:
AGE_OF_OLDBOY = 73
AGE_OF_OLDBOY = 74
一般情况下在配置文件中使用较多,如果改了常量,软件直接报错崩溃!
补充Python的底层优化: 一个变量名只能指向一个内存地址,一个内存地址可以有多个变量名指向

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

我们每定义一个变量,都会申请一个内存空间 ,把值放进去。这涉及到一个io操作,io操作越少越好!

3.垃圾回收机制
垃圾数据的定义
在内存中没有任何变量名指向的数据
针对垃圾数据python开发了一套自动化回收方案
1.引用计数:
检测内存中变量值上有几个变量名绑定引用计数就是几。只要不为0就不是垃圾
2.引用计数机制的漏洞:循环引用->内存泄露:标记-清除
当内存即将占满的时候,python会自动暂停程序的执行,从头到尾将内存中的数据进行扫描,并打上标记,之后一次性清除掉标记的数据
# 3.引用计数机制的效率问题:分代回收
会将数据的监管分为3个层次,随着层级的下降监督的频率降低,以节省资源。
如下图
假如A层10秒检测一次,检测5次之后,检测到数据d被引用计数为0时,
数据d被清理,
同时为了减少资源损耗,
数据a,b,c会被递进到B层监管,
B层假设10分钟检测一次,
检测5次之后,
检测到数据c被引用计数为0时,
数据c被清理。
数据a,b最后将被移交给C层监管,
C层可能会设置成30分钟检测一次。
分代回收主要的目的是为了节省资源的损耗。

数据类型
什么是数据类型?
在现实生活中存储数据的方式和表现方式有很多
文本文件 表格文件 视频文件 音频文件 图片文件...
在IT世界里数据的存储方式和表现形式也是千变万化的
数据的种类,不同种类的数据的存取机制不一样,用途也不一样
eg:整型int
浮点型float
字符串类型str
列表类型list
字典类型dict
布尔类型bool
4.2 如何用数据类型?
理解 : 整数int
作用 : 记录人的年龄 班级人数 ...
定义 :
age = 18
直接写整数就是整型
浮点型float
理解 : 小数float
作用 : 记录人的体重 薪资 身高
定义 :
salary = 3.1
直接写小数就是浮点型
。。。
后面再介绍其他数据类型
。。。
篇幅太长,下一随笔见




浙公网安备 33010602011771号