今日内容:
1、变量及常量的命名规范
2、与用户的交互
3、字符串的格式化输出
4、基本的数据类型
5、运算符
6、注释
今日重点:
1、变量及常量的命名规范
(1)强制规范【如果违反会报错】
1> 变量的命名只能使用字母、数字、下划线,且首字母不能为数字。
2> 变量的命名不能与关键字重名,与有些关键字重名不会报错,但是与以下常用的关键字重名会报错:
['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']
(2)约定规范【如果违反也不会报错】
1> 一般python中 支持 使用 _ 的方式连接两个单词的方式进行变量的命名,例如:age_andy = 18
2> 也可以使用大驼峰(AgeAndy)与小驼峰命名法(ageAndy)
3> 以__开头及结尾的变量名被称为魔法变量【内置函数】
4> 以_开头的元素有特殊含义
5> 常量使用全大写进行命名,但是并没有严格意义上的常量,在python运行过程中所有的数值都可以被改变,但是约定全大写的量不去改变。
6> 对于常见的英文单词缩写,经常使用全大写。
2、基本的数据类型
(1)整型 int
1> 在 python2 中有 long与int 类型,但是在python3中只有 int 类型
2> 两种类型的存储机制差别:
在 python2 中,数据首先是以int类型进行存储的,但是如果数据过长就会重新开辟一个long类型的内存空间。
在python3 中,任意长度的字符串都是以int类型进行存储的,如果数据过长,超出部分就会以字符串的类型进行存储,但是内部机制会使这种类型的数据能够进行计算。
(2)浮点型 float
1> 浮点型用来存储小数
(3)字符串类型 str
1> 字符串类型有两种表示方法:单行字符串 与 多行字符串
2> 单行字符串使用 '' | "" 进行表示,字符串只能写在一行
3> 多行字符串使用 ''' ''' | """ """ 进行表示 ,字符串可以写在多行,只要在引号之内就行。
(4)布尔类型 bool
1> 布尔类型只有True 与 False
2> 数据都自带布尔值,但是只有在进行判断时才会显示这种特性,在逻辑运算符中,会依据数据的布尔值特性进行判断,但是,最后返回的是数据本身。
3> None 、 0 、空 的布尔值为False,空 包括空字典、空字符串、空列表等。
(5)列表 list
ls = [1,2,3,4]
1> 列表的取值
列表通过索引进行取值,列表的索引从0开始
2> 列表的嵌套
列表中的某一个值也可以是列表类型,取值时只要逐层通过索引取值就行了。
3> 列表的内存表示
在内存中,列表中每个值是单独进行存储的,列表中存储的是每个值的内存地址,列表的内存地址在栈区进行存储。
(6)字典 dict
1> 字典也是存多个值的,但是为了对存的值有一个描述,所以使用 dict 来表示多个数据,通常,有多个同种数据形式 的值用列表,有多种数据类型的用字典
2> 字典的取值:字典是通过 key 来进行取值的
3> 字典的嵌套,字典的嵌套与列表的嵌套相同,通过 key 进入逐层取值就行。
3、运算符
(1)算数运算符
算数运算符主要有以下几种:
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
** | 幂 |
// | 取整 |
% | 取模/取余 |
(2)比较运算符:
> | 大于 |
< | 小于 |
== | 等于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
【注】:可以进行连比 5 < num < 10
(3)赋值运算符
1> 交叉复制:
a = 10
b = 20
a,b = b,a
2> 链式赋值
a = b = c = 10
3> 解压赋值
ls = [1,2,3,4]
a,b,c,d = ls
【注】:解压赋值等号左右必须相同,否则会报错,但是如果使用 *_ 可以代替任意数量的变量,可以使用此方法取前面或后面的值 a,*_ = ls ,此时 a = 1,其余的数值储存在下划线中。
(4)逻辑运算符
1> 逻辑运算符有 and | or | not
2> 在进行逻辑运算时,比较的是布尔类型,但是最后返回的是 数值本身 或者 已经比较好的布尔值
3> 逻辑运算符的优先级为: and < or < not,但是不用记优先级,因为如果进行联合运算时,可以增加括号,但是括号不能乱用。
其它内容
1、与用户的交互
(1)输入:
在 python3 中:
使用input进行输入,输入的结果全部以字符串的形式进行存储。
在 python2 中:
raw_input 与 python3 中的 input 相同
input 输入用户必须明确自己输入数据类型,输入的是什么类型就以什么类型存储。
(2)输出:
输出使用 print() 进行,在 python2 也可以省略括号。
【注】:print() 自带换行符
2、字符串的格式化输出
在进行字符串的输出时,有时字符串的某些内容不固定,为统一输出格式,会使用占位符对不定的内容进行占位,常用的占位符有两种:
1> %d | %s | %f
%d :对整型进行占位
%f:对浮点型进行占位 ,例如:" %010.6f " ==> 小数点后六位,全部数据长度为10位(包含小数点,小数点占一位),右测对其,左侧不足位数补0
%s:万能占位符,可以对所有的数据类型进行占位
【注】:如果有两位以上的占位符,使用 "包含占位符的字符串" %(第一个,第二个.......) 表示。
2> format
使用方法:"字符串{name}字符串".format(name="andy")
3、注释
注释有单行注释 # 与多行注释 """ """
多行注释需要在文档的开始,如果在文档的*会被表示成字符串。
今日思考:
1、列表在内存中的存储机制
列表的每个值在内存中是单独存储的,列表只存储值得内存地址,然后列表的内存地址存储在栈区中
2、字典等类型在内存中的存储机制
其余能够存储多个值得数据类型也与列表的存储机制类似。
3、比较运算符可以比较两个值,返回的值为一个数字,而不是布尔值
在比较运算符中,如果是两个值进行运算,或者是一个数字一个布尔值,进行比较时是根据数值自带的布尔值属性进行比较的,但是返回时返回的是数值本身。