执行python程序的两种方式
交互式(如:jupyter)
优点:运行一句执行一句
缺点:关闭即消失
命令行式(如:pycharm)
优点:一直保存
缺点:全部写完才能调试bug
虽然txt文件可以运行,但尽量用py文件
以后尽量使用pycharm或jupyter
码农(只会语法,没有思想(传授经验/自己总结),项目经验(总结bug))
每遇到一个bug,记录下来(是不是看一看)
什么是变量:描述变化的世间万物的状态
身高:160,体重:140
"""
height = 160
print(height) # 160(变量值)
"""
weight = 140
print(weight) # 140(变量值)
weight = weight + 1
print(weight) # 141
变量的组成
变量名(接收变量值) =(赋值符号) 变量值(数值) # 定义变量
变量名的命名规范
身高 = 180 #不建议这么做,但是可以这么做
print(身高)
weight = 160
name = 'nick'
1.变量名必须由数字/字母/下划线_组成
height_of_nick = 180 # 下划线只在连接的时候用
2. 变量名都具有可读性(意义) 存不是目的,取才是目的
3.不要使用关键字做变量名(具有某种特殊意义的字符)
'''
['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']
'''
变量名的两种定义方式
height_of_nick = 180 # 下划线式(约定俗成)
print(height_of_nick)
Heightofnick = 180 # 驼峰体(很low,如(C/JAVA))
print(heightofnick)
常量:不变的量,常量的本质也是变量,只不过变量名全大写约定俗成了常量,不要去改变常量
age = 18 # 变量
age = age + 1
print(age)
AGE = 18 # 所以字母全部大写就是常量
AGE = AGE + 1
print(AGE)
变量内存管理(面试的经常问)
:描述世间万物的状态
height = 180 # 定义变量
print(180) # print会自动帮你创建一个变量180,打印完以后,马上会释放180的内存空间
引用计数定义
定义一个变量,内存就开辟一个内存空间存储这个变量
引用计数(针对变量值)
引用计数为0时,触
发垃圾回收机制,释放内存占用
小整数池定义
由于【-5,256】用的比较多,【-5,256】在python解释器启动的时候就自动开辟了,所以它们不会受垃圾回收机制影响,适用于jupyter
注:pycharm中做了优化,间隔时间短的,无论多大,id都一样
GIL全局解释器锁
定义变量值的三个特性
height = 180 # 变量名(描述性质)
获取变量值的内存地址,针对变量值
print(id(height))
数据类型,针对变量值
print(type(height)) # int类型(integer 整型)
name = 'nick'
print(type(name)) # str类型(string 字符串)
花式赋值
height_of_nick = 180
height_of_handsome = 160
heigh_of_yongjiu = 170
print(height_of_nick)
print(height_of_handsome)
print(heigh_of_yongjiu)
交叉赋值(解压缩)
height_of_nick,height_of_handsome,heigh_of_yongjiu=180,160,170
print(height_of_nick)
print(height_of_handsome)
print(heigh_of_yongjiu)
如何保证地址不变的情况下修改x和y
x = 2000
print('x:',id(x))
y = 1000
print('y:',id(y))
中间变量的思想
z = x
x = y
y = z
交叉赋值
x,y = y,x
print('y:',id(y)) # 内存地址相同,值一定相同
print('x',id(x))
x = 1000
y = 2000
print('y',id(y)) # 值相同,内存地址不一定相同
print('x',id(x))
链式赋值(值相同才能使用)
# a = 10
b = 10
c = 10
print(a,b,c)
a=b=c=10
print(a,b,c)
注释
单行注释
解释 ; 让代码在python解释器运行的时候不被解释,即让他无意义
a = 10
print(a)
picasso_height = 160 # 毕加索的身高,解释代码的意思
代码块的解释放到代码上面
打印0-9
for i in range(10):
print(i)
ctrl+/(注释快捷键)
多行注释
'''
a = 10
print(a)
'''