程序设计开发基本要素:
目录
1. 数据类型 :基本数据类型
组合数据类型
2. 变量:
普通变量
对象引用
3.操作符:
赋值运算符
逻辑操作符
算术操作符
关系运算符
4.输入/输出:
5.程序结构:
顺序结构
选择结构
循环结构
6.函数的创建/使用
基本数据类型
基本数据类型就是 python 内置的可以直接使用的数据类型。包含了如下几种:
整型 Integer(不可变类型)
整数类型,一般情况下都是使用整数数字来表示类型的数据
浮点类型 Float(不可变类型)
浮点类型(小数类型),可以通过添加小数点的方式来表示小数、也可以保存复数等等。
pi = 3.141592653;
r = 5;
print (pi * r * r); #用于计算半径为 5 的圆的面积
布尔类型 Boolean(不可变类型)
布尔类型,一种特殊的数据类型,在 python 中可以取值为 True 或者 False(首字符大 写),用于表示只有两种结果的情况,如灯是否开着为例,True 表示开着,False 表示关着。
res = True; #表示灯被打开了
print(res); res = False; #表示灯关了 print(res);
字符串(不可变类型)
python 中,字符串是包含在一对单引号或者双引号中的一串字符。
name = "初次见面,请多关照";
print(name); res = '这个是真的';
print(res);
组合数据类型
在基本数据类型之后,我们下面来看组合数据类型。python 中为了方便一部分相似数据 的处理,提供了各种组合类型,常见的如列表、元组、字典等组合数据类型。 python 中的列表是可变序列,元组是不可变序列。
列表 List
列表的语法结构:通过一堆方括号包含起来的数据序列,可以存放重复数据。
>>> users = ["刘德华","张学友","郭富城","黎明"]
>>> users
>>> ['刘德华', '张学友', '郭富城', '黎明']
因为列表本身也是对象,所以可以进行嵌套处理。
users = [["刘德华","50"],["张学友","48"],["郭富城","51"],["黎明",'47']] |
变量
变量就是用来临时存放数据的一个容器。
变量的使用
python 中的变量,不需要声明即可使用 python 中的变量命名:驼峰命名法,见名知意,只能是字母、数字和下划线组成,变量 第一个字符只能是字母或者下划线。
>>> userName = "李华" #用户名称,使用驼峰法定义,清晰明了
>>> price = 23.6 #定义了一个价格
>>> my_age = 16 #定义了一个年龄
>>> userName
>>> '刘帅哥'
>>> price
>>> 23.6
>>> my_age
16
>>> $test = "测试" #变量格式错误,不能以$开头,并且变量名称中不能存在$。
变量的回收
变量一旦定义,在程序中也是使用内存空间来存储数据的,所以当变量一旦不在需要使 用,需要删除变量释放它占用的内存空间,python 中通过 del 关键字来删除变量。
>>> del my_age
>>> print(my_age ); #报错,因为已经删除掉了该变量
这里一定要注意,在 Python 中,认为一切都是对象,所以变量进行赋值时,其实就是 python 在内存中创建了这个对象,然后将对象在内存中的地址存储在变量中了。
我们可以通过内置的 id 方法来测试。
id(price); 4989192 # # 表示 price 中存放的内存地址 price = 5000; ##重新赋值 id(price); 4959984 ##内存地址发生了变化
注意:
- ➢ python 将所有的数据都存储为内存对象,变量其实就是指向对象的一个引用,只要需 要,就可以让变量随时引用一个不同的对象
- python 内置了函数 type(),用于检测给定数据的数据类型
- 使用赋值符=等号,用来将一个变量和内存中的对象绑定起来,如果对象在内存中存在 就直接绑定,否则赋值运算符后面的对象会被即时创建之后进行绑定。
那就存在问题了,创建的 100 和 200 这两个数据,内存中进行了什么样的处理的呢? python 将这样没有引用变量指向的对象,回收到了对象缓冲池(PS:对象缓冲池也是内 存中的一个区域),方便下次使用的时候直接获取,所以在使用 python 的时候,一定要注意 内存泄漏的问题。关于 python 内存管理这一部分,后续会单独进行讲解。
变量的命名规则
1. 只能包含字母、数字、下划线,且不能以数字开头
2. 变量名称区分大小写,name 和 Name 就是两个不同的变量
3. 禁止使用 python2 和 python3 的关键字和保留字
4. 变量命名尽量有意义,一看就能明白该变量指的是什么
特殊变量
1. 以一个下划线开头的变量名称,不会被 import 语句导入,如_username
2. 前后各有下划线的变量名,是系统定义的变量名,有特殊含义,如_user_
3. 交互模式下,单个下划线中保存了最后的输出表达式的结果,后面再说
操作符
操作符,就是用于进行数据运算的符号,常见的操作符一般有赋值运算符、算数运算符、 逻辑运算符、关系运算符等等。
赋值运算符
运算符 | 描述 | 使用方式 |
= | 直接赋值 | a = 2 给 a 赋值数据 2 |
+= | 加法赋值运算 | a += 2, a 原来的数据加 2 再赋值给 a |
-= | 减法赋值运算 | a-= 2, a 原来的数据减去 2 再赋值给 a |
*= | 乘法赋值运算 | a*=2,a 原来的数据乘以 2 再赋值给 a |
/= | 除法赋值运算 | a/=2,a 原来的数据除以 2 再赋值给 a |
%= | 加法赋值运算 | a%=2,a 原来的数据除以 2,将余数赋值给 a |
**= | 加法赋值运算 | a**=2,将 a 原来的数据取 2 次方运算再赋值给 a |
//= | 加法赋值运算 | a//=3 将 a 原来的数据整除以 3 将结果赋值给 a |
算术运算符
运算符 | 描述 | 使用方法 |
+ | 加法运算 | 1+2 结果为3 |
- | 减法运算 | 5-3 结果为2 |
* | 乘法运算 | 3*4 结果为12 |
/ | 除法运算 | 10/5 结果为2 |
% | 取余运算 | 10%3 结果为1 |
** | 次方运算 | 10**2 结果为100 |
// | 地板除法运算 | 10//3 结果为3 |
注意:
- 在 Python2 中,除法运算和地板除法运算是一个结果,除非是加上一句 -- from __future__ import division,向后兼容,此时 python2 的结果和 3 就一致了,这个其 实是为了向 3 过渡。
在 python3 中,除法运算和地板除法运算结果不一样
逻辑运算符
运算符 | 描述 | 使用方法 |
and | 与运算 | True and False 结果 False |
or | 或运算 | True or False 结果 True |
not | 非运算 | True or False 结果 True |
注意:
- 这里的逻辑运算符,python 中只有 and|or|not,在其他语言中,也有类似&&、||、!的 符号来表示 and、or、not 的三种关系的
- and/&&:并且运算,当运算符两边的数据都为 True 才返回 True,否则返回 False
- or/||:或者运算,当运算符两边的数据都是 False 才返回 False,否则返回 True
- not/!:非运算,对结果进行取反,如果为 True 结果为 False,如果为 False 则结果 为 True
成员运算符
成员运算符,主要用于判断某个成员是否出现在某个对象中
>>> users = ['小明','小刘','小张','小赵'];
>>> me = '小赵'
>>> me in users
True #表示黎明在 users 中
标识运算符
标识运算符,主要用于两个不同的变量数据类型的检测。
a = 5;
b = 5;
a is b
结果:True #a与b的数据类型相同
a is not b
结果:False #a与b的数据类型不同