一.变量
1.什么是变量
#变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。
2.为什么要有变量
#程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。
#比如:
英雄的等级为1,打怪升级(变)为10
僵尸的存活状态True,被植物打死了,于是变为False
人的名字为egon,也可以修改为Egon
3.如何定义变量
#变量名(相当于门牌号,指向值所在的空间),等号,变量值
4.变量定义的规范
#1. 变量名只能是 字母、数字或下划线的任意组合
#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']
5.定义方式
#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#下划线(推荐使用)
age_of_oldboy = 56
number_of_students = 80
6.定义变量名不好的方式
#1. 变量名为中文、拼音
#2. 变量名过长
#3. 变量名词不达意
7.变量的修改与内存管理
#1 等号比较的是value
#2 is比较的是id
#强调:
#1. id相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同
二.用户与程序交互
#在python3中
input:用户输入任何值,都存成字符串类型 #在python2中
input:用户输入什么类型,就存成什么类型
raw_input:等于python3的input 注释
代码注释分单行和多行注释, 单行注释用#
,多行注释可以用三对双引号""" """
代码注释的原则:
#1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
#2. 注释可以用中文或英文,但不要用拼音
文件头
#!/usr/bin/env python
# -*- coding: utf-8 -*-
三.基本数据类型
1.数字
int整型
float浮点型
log长整型
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
2.字符串
#在python中,加了引号的字符就是字符串类型,python并没有字符类型。
定义:name='egon' #name=str('egon')
用于标识:描述性的内容,如姓名,性别,国籍,种族
3.列表
#在[]内用逗号分隔,可以存放n个任意类型的值
定义:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',])
用于标识:存储多个值的情况,比如一个人有多个爱好
4.字典
#为何还要用字典?
存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
>>> info=['egon','male',18]
定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个人的年龄,可以用
>>> info[2]
但这是基于我们已经知道在第3个位置存放的是年龄的前提下,我们才知道索引2对应的是年龄
即:
#name, sex, age
info=['egon','male',18]
而这完全只是一种假设,并没有真正意义上规定第三个位置存放的是年龄,于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典
5.布尔、
#布尔值,一个True一个False
#计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成立就是True, 即真
True
接下来就可以根据条件结果来干不同的事情了:
if a > b
print(a is bigger than b )
else
print(a is smaller than b )
上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。
四.格式化输出
%s:可以接收任意数据类型
%d:只能接受数字
五.基本运算符
1.算数运算
2.比较运算
3.赋值运算
4.逻辑运算
5.身份运算
#is比较的是id
#而==比较的是值
六.流程控制之if...else
语法:
if 条件1:
code1
code2
。。。
elif 条件2:
code1
code2
。。。
else:
code1
code2
。。。
if判断嵌套:
if 条件1:
if 条件2:
pass
七.流程控制之while
语法:
while 条件:
code1
code2
。。。
while+break:结束本层循环,执行循环外的代码
while+continue:结束本次循环,直接进入下一次循环
ps:contine,不要放在循环体的最后一行
八.流程控制之for循环