python入门学习
来自egon的学习套路
在每次遇到一个新事物的时候,要学三步:
xxx是什么?
为什么要有xxx?
大前提:python中所有出现的语法都是为了让计算机能够具有人的某一个功能
如何用xxx?
1变量
学习的时候灵魂三问什么事,为什么要有,如何用
1.1什么是变量?
变量就是记录可以变化的量,比如人的年龄,性别
1.2为什么要有变量?
为了让计算机可以想人一样去记忆事物,该事物的状态是会发生变化的
程序的执行就是一系列状态的变化
1.3如何用变量?
原则:先定义,后引用
变量有三大组成部分:变量名,赋值符号,变量值
1.变量名:是指向等号右侧值的内存地址的,用来访问等号右侧的值
变量名的命名规则:
原则:变量名的命名应该见名知意
命名规范 :
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 关键字不能声明为变量名
命名风格:
驼峰体:AgeOfHuang = 18
纯小写下划线(推荐):age_of_huang = 18
2.赋值符号:讲变量值的内存地址帮顶给变量名
3.变量值:代表记录事物的状态
变量值的三个重要特征:
- id:反映的是变量值的内存地址,内存地址不同id则不同
- type:不同类型的值用来记录不同状态
- value:值本身
变量的比较:身份运算符is与值比较符==
is:比较左右两个变量的id是否相等
==:比较左右两个变量的值是否相等
了解:小整数池【-5,256】是python解释器对内存的优化(在pycharm内的整数池范围更大)
在这之间相同的值的变量指向的是同一内存地址,如果超出了这个范围会重新开辟一个内存地址
name = 'hz' #定义name这个变量的值为hz
print(name) #引用name变量打印它
print(id(name))
print(type(name))
这里引入一个概念,内存管理:垃圾回收机制
垃圾:当一个变量值被绑定的变量名个数为0时,该变量值无法被访问到,称之为垃圾
被绑定的变量名个数称之为引用计数,下面有一段代码演示垃圾的产生
x = 10 #10的引用计数为1
y = x #将x的内存地址指向y,此时10的引用计数为2
z = x #10的引用计数为3
del x #解除变量x和值10的绑定关系,10的引用计数为2
del y #解除变量x和值10的绑定关系,10的引用计数为1
z = 12345 #此时z的内存地址发生了改变,10的引用计数为0,值10在这一刻变成了无法访问的垃圾
ps:常量:不变的量
python语法中没有常量的概念,但是在程序开发过程中会涉及到所以大家约定俗成了一种常量的命名规范
AGE_OF_HZ=18 #变量名全为大写默认为常量
2.基本数据类型
2.1数字类型
2.1.1整形int
作用:用于记录整数的数据,如年龄,身份证号,个数等
age = 18
2.1.2浮点型float
作用:记录有小数点的数据,例如身高,体重等
height = 1.81
2.1.3数字类型的运算
数学运算
a = 1
b = 2
a+b
>>>3
比较大小
a = 1
b = 2
a>b
>>>false
2.2字符串类型str
作用:记录描述性质的状态,名字,一段话
info = '李肖彤大美女'
字符串可以相加或者和数字相乘
a = '李肖彤'
b = '是'
c = '大美女'
a+b+c
>>>'李肖彤是大美女'
a = 10
b = '*'
a*b
>>>**********
#字符串嵌套
print("ny name is 'huangzhao'")
#注意:外层用双引号时,内层用单引号,反之亦然
2.3列表list
作用:当需要多个数据的记录和读取时,会比数字和字符串来记录更加方便
stu_name = ['a','b','c']
stu_name[0] # 索引取值从0开始
>>>'a'
#列表的嵌套
stu_info = [['a',1],['b',2],['c',3]]
stu_info[1][0]
>>>'b'
2.4字典dict
作用:列表的取值可以通过索引取值,但是当数据量多时,索引取值会很麻烦,这里就引入了字典的概念,就像我们查英语单词一样,如果记住每个单词的意思页数,就很麻烦。但是如果我们可以通过他的key索引会方便很多。
#字典类型是通过key来对应值,key通常是对值的描述,一般是字符串
stu_info={
'name':'hz',
'age':'20',
'height':'181'
}
stu_info['name']
>>>hz
#字典的嵌套
stu=[{'name':'hz','age':18},
{'name':'xt','age':18},
{'name':'xq','age':18}
]
stu[0]['name']
>>>hz
2.5布尔值
作用:用于记录真假的两种状态
is_ok = True
is_ok = False
#通常当做判断的条件