day02主要内容回顾
1.语言的分类
-- 机器语言:直接编写0,1指令,直接能被硬件执行
-- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行
-- 高级语言:编写人能识别的字符,要通过编译器或解释器转换为汇编语言最终转换为机器语言的指令交给硬件执行
运行效率最高:机器语言
开发效率最高:高级语言
2.计算机组成:控制器 + 运算器 + 存储器 + 输入input设备 + 输出output设备
3.三大核心:cpu + 内存 + 硬盘
4.环境的搭建:环境变量:python解释器 | pip install 工具
5.两种执行方式: 交互式 | 脚本式
6.变量:
-- 声明: 变量名 = 变量值
-- 变量值:变量名 类型:type(变量名) 地址:id(变量名)
-- == | is: == 值比较 | is地址比较
7.pycharm安装于创建项目
今日内容介绍
1.变量(标识符)的命名规范 *****
2.常量
3.格式化输入输出
4.注释
5.基本的数据类型:int long float bool str list dict *****
6.运算符:算术运算符 | 关系运算符 | 逻辑运算符 | 成员运算 *****
1. 变量(标识符)的命名规范*****
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']
4. 以_开头的变量都有特殊含义
5. 以__开头和结尾的叫做魔法变量:内置变量
6. 建议使用_连接语法来声明长变量名:old_boy_edu
7. 支持小驼峰与大驼峰命名规范:owenName | OwenName
8. 多个单词的简写建议使用全大写: URL | HTTP | HTML
9. 用全大写来标识常量:PI = 3.1415926
2. 常量
常量:在程序运行过程中,值不能被改变的量
python中没有严格的常量语法。
python中所有的量在运行过程中其实都能发生改变,只有自我保证不去改变全大写定义的变量值
3. 格式化输入输出
3.1 输出自带换行
py2 py3
print(10) print(10)
print 10
3.2 输入:
3.2.1 py2
raw_input():采用所有的输入都以字符串进行存储
info = input('提示信息:')
细节:1.可以输入一个值,且一定要按照值的表示方式进行输入,10就是数字,'abc'就是字符串
2.如果输入的是abc,默认将abc作为变量来解读,如果abc未定义就报错
3.2.2 py3
info = input('提示信息:')
所有信息都是直接输入,都会被转换为字符串存储 == raw_input
4. 注释
注释:不会被python解释器解释执行,是提供给开发者阅读代码的提示
单行注释: #开头的语句
多行注释:出现在文件最上方,用''''''包裹的语句
pycharm快捷键:ctrl + /
5. 数据类型
5.1 整型
5.1.1 py2下:数据过长的用long类型存储 | 数据量小的整型的用int存储
5.1.2 py3 所有整型都用int存储:数据量过大,采用字符串存储处理,如果需要运算,则可以直接拿来运算
5.2 浮点型
float: 用来存放小数 salary = 88888.0123456789
%.6f % salary
1) %f对浮点型数据进行占位
2).后的数字表示小数精度
3).前的数据是输出的长度,小于等于要输出的数据长度不起作用,超出就采用规定的最大长度
【注】:%015.6f:右对齐,左侧不足用0填充,%-15.6f:左对齐输出
eg:print('%015.6f' % salary)
5.3 布尔类型
bool类型:就是两个值 True | False
result = False
print(result)
5.4 字符串类型
单行字符串: " " | ' '
多行字符串: """ """ | ''' '''
%s是万能占位符, %是用来连接有占位符的字符串与需要占位的变量,多个变量用()包裹
eg:输出以下内容
------------ info of wangyong ----------- Name : wangyong Age : 24 Sex : male Job : student ------------- end -----------------
运行结果后输入以下内容,结果如下
5.5 列表
1、定义:变量名 = [多个值,之间用,隔开]
ls = [3, 1, 2]
2、列表变量名ls访问的是列表整体
print(ls) # [3, 1, 2]
3、通过索引(index)来访问具体的值,index从0开始编号: ls[index]
print(ls[0]) # 3
4、ls的嵌套及值的访问
ls = [[1, 2, 3], [4, 5, 6], [7, 8, [9]]]
访问数字9
print(ls[2][2][0])
重点:list存放值的方式: eg:[3, 1, 2] => 列表的0号位存放的不是数字3,而是堆区3空间的地址
5.6 字典
列表能存放多个值,但多个值只能通过index区分,但是index没有语义
需要即可以存放多个值,且每个值有一个语义描述 => dict类型
定义:{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的
访问:通过 dic[key]来访问key描述的值
eg1: info={'name':'egon','age':18,'sex':'male'}
1.整体访问字典
2.取出key为sex对应的value
eg2 拿到40 | 拿到 'sleep'
info = {
'name': 'egon',
'hobbies': ['play', 'sleep'],
'company_info': {
'name': 'Oldboy',
'type': 'education',
'emp_num': 40,
}
}
6 运算符
6.1 算术运算符
+ - * / // ** %
1.字符串和列表可以做 + 和 *
2./非整除,// 为整除
3.**求幂:5 ** 2 => 25
4.任意数 % n => [0, n-1]
5.有负数参与的取余:符号跟着 % 后面那个数
6.2 比较运算符
> < == != >= <=
1.运算结果为bool类型
print(3 > 5)
2.可以连比
num = 10
print(1 < num < 20)
6.3 赋值运算符
+= -=*= /= %= **= //= =
num = 10
num += 1 # num = num + 1 => 11
6.3.1. 链式赋值
a = b = num
6.3.2. 交叉赋值
x = 10
y = 20
x, y = y, x
6.3.3. 解压赋值
ls = [3, 1, 2]
a, b, c = ls
_是合法的变量名,会接受值,但我们认为_代表该解压位不用接收,用_来接收表示
_, _, g = ls # g才存放2,其他标示不接受
6.4 逻辑运算符
and or not
1.and: 左右都成立才成立,有不成立的就不成立
2.or: 左右都不成立才不成立,有成立的就成立
3.ont: 成立则不成立,不成立则成立
res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
print(res) # 0
res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
print(res) # 10