欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3分支、循环、条件和枚举(6)

程序员文章站 2022-03-24 16:07:02
...

6.1 什么是表达式

表达式(Expression)是由运算符和操作数所构成的序列。
运算符和操作数是有顺序的。

6.2 表达式的优先级

>>> a = 1
>>> b = 2
>>> c = 3
>>> a + b * c            //和数学上符号的优先级一样
7
>>> a or b and c        // 先做 and 运算再做 or 运算
1

逻辑运算符优先级:not > and > or 。
同级优先级时会从左向右解析(左结合),若出现赋值运算符其结合顺序将会改变(右结合)。

>>> a = 1
>>> b = 2
>>> c = a + b    
>>> print (c)                           //有赋值运算符,是右结合
3
>>> c = a or b                       //逻辑运算中有赋值运算符,也是右结合
>>> print (c)
1

括号是个万金油,可以用括号强制提升优先级,即括号的优先级是最高的。

>>> a = 1
>>> b = 2
>>> c = 3
>>> (a or b) and c
3

如果出现两个括号,也是先算括号里的

>>> (a or b) and ( c + 1)
4

6.3 表达式优先级练习

>>> a = 1
>>> b = 2
>>> c = 2
>>> not a or b + 2 == c   //没有赋值运算符,是左结合,运算顺序是(not a) or ((b + 2) == c )
False

在代码中加上辅助的代码,可以帮助阅读代码的人更快的读懂代码

6.4 在文本文件中编写Python代码

之前所有的内容,都是python中最基础的知识,即基本类型和基本概念
从本章开始进入真正的写代码阶段,之前的知识都是在IDLE中编写的,真正写代码的时候不太可能在IDLE中编写,IDLE只是一个命令行,这一节开始学习如何在文件中编写python代码。
在IDLE中 File→New File 或者点击快捷键 ctrl + N,在Untitled中写代码,写代码后回车不会执行代码,那么怎么执行呢?
即编写代码后,点击File→Save或按快捷键ctrl + S,将文件保存到我们磁盘中(D:\install\python3.7.1),要执行代码,需要在系统的命令行里运行,不同的系统有不同的命令行打开方式,在Linux系统中本身就是命令行,所以是不需要打开的;
在Windows中按win + R 输入 cmd,打开命令行工具

C:\Users\Administrator>D:                     //切换到D盘

D:\>cd install\python3.7.1                    //打开文件存储的目录     

D:\install\python3.7.1>dir                    //查看目录下有哪些东西

驱动器 D 中的卷没有标签。
卷的***是 0006-BDDD

D:\install\python3.7.1 的目录

2018/11/27  15:38    <DIR>          .
2018/11/27  15:38    <DIR>          ..
2018/10/31  17:30    <DIR>          DLLs
2018/10/31  17:30    <DIR>          Doc
2018/11/27  15:51                37 hello.py
2018/10/31  17:30    <DIR>          include
2018/10/31  17:30    <DIR>          Lib
2018/10/31  17:30    <DIR>          libs
2018/10/20  14:09            30,189 LICENSE.txt
2018/10/20  14:09           632,203 NEWS.txt
2018/10/20  14:07            97,432 python.exe
2018/10/20  14:06            59,032 python3.dll
2018/10/20  14:05         3,632,792 python37.dll
2018/10/20  14:07            95,896 pythonw.exe
2018/10/31  17:30    <DIR>          Scripts
2018/10/31  17:30    <DIR>          tcl
2018/10/31  17:30    <DIR>          Tools
2018/10/20  14:00            86,840 vcruntime140.dll
               8 个文件      4,634,421 字节
              10 个目录 316,449,710,080 可用字节
D:\install\python3.7.1>python hello.py    //用python命令 运行 hello.py文件
hello python                              //打印出hello python

python程序运行的原理:python+要运行的文件名
在哪里编写python代码都可以,最后文件的扩展名是.py格式的就可以,但是建议在Untitled中写代码,因为有辅助功能,可以提升编写代码的效率。
推荐带有辅助功能的集成开发环境IDE:pycharm vscode sublime
如何选择这三种环境:
开发比较复杂的项目:pycharm
开发小工具:vscode sublime
建议:如果是语言的初学者,不要使用pycharm这种功能比较强大的开发工具, 因为功能越强大,本来需要手动去做的事情,工具都帮助你做了,这样虽然可以节约我们的时间,但是作为初学者,需要手动的去做很多事情,这样才能加深了解语言的运行原理。

6.5 熟悉VSCode开发环境与Python插件安装

下载VSCode
VSCode下载网址:https://code.visualstudio.com/
下载后傻瓜式安装即可~
快捷键:
显示所有命令 Ctrl+Shift+P
转到文件 Ctrl+P
在文件中查找 Ctrl+Shift+F
开始调试 F5
运行终端 Ctrl+ ~

汉化:
1.在商店中搜索Chinese(Simplied) Lang,安装
2.使用快捷键组合【Ctrl+Shift+p】,在搜索框中输入“configure display language”,点击确定
3.修改locale.json文件下的属性“locale”为“zh-CN”
4.重启vscode工具
如果重启后仍然是英文显示,再把中文插件重新安装一遍,然后再重启工具。

VSCode强大的一点是有很多插件可供选择安装
VSCode本身只提供写代码的一个基本的工具,如果我们想丰富这个工具的功能,可以通过安装插件实现。
常用插件:
python:语法检测、智能感知、断点调试
Terminal:自动更新VSCode里面编写的代码到另一个IDE里面
vscode-icons:美化图标,安装后需要设置:文件=>首选项=>文件图标主题=>VSCode Icons
View In Browser、Vim

6.6 流程控制语句之条件控制

编码规范和风格:
1.末尾不强制加分号,加也可以,不建议加
2.不需要使用花括号把语句包裹起来,python中用缩进区分代码和代码块

条件控制可以解决选择性问题
条件控制 if else
循环控制 for while
分支

注释:# 单行注释 单行注释快捷键:ctrl+/
‘’‘多行注释’’’ 多行注释快捷键:alt+shift+A

mood = True
if mood :
    print('go to left')
    print('back away')
else :
    print('go to right')

6.7 流程控制语句之条件控制二

account = 'zhangsan'
psw = '123456'
    
print('please input account')
user_account = input()
    
print('please input password')
user_psw = input()

if user_account == account and user_psw == psw:
    print('success')
else :
    print('fail')

6.8 常量与Pylint规范

constant 常量 所有字母需要大写,否则会有警告
Python中的常量并不是真正意义上的常量
编程规范:
文件开头需要写模块说明,可以是中文,也可以是英文
代码最后要空出一行
比较/逻辑运算符左右两边各空一格
缩进是四个空格或一个tab键(但要确保一个tab键=四个空格)

'''
模块说明
'''
ACCOUNT = 'zhangsan'
PASSWORD = '123456'

print('please input account')
user_account = input()

print('please input password')
user_psw = input()

if user_account == ACCOUNT and user_psw == PASSWORD:
    print('success')
else:
    print('fail')

6.9 流程控制语句之条件控制三 snippet、嵌套分支、代码块的概念

snippet(片段)作用:快速构建代码片段
可以用tab切换到下一个编写区域,切换到上一个编写区域用shift + tab
pass 是空语句或占位语句,保持语句完整性。

if 可以单独使用,else 必须要和 if 一起使用。
if else 可以嵌套使用
pass 空语句/占位语句 代码未结束时使用占位
若代码块中有一行代码被执行的话,其他的代码也会被执行,因为代码块中的代码是同级别的

if condition:
    code1               //伪代码,伪代码不是真正的代码,主要用来表示一种思路
    code2               //伪代码
             code11    //另外的代码块,和code2不是同级
    code3
else:
    code4
    code5

过多层次嵌套会使代码易读性差。可以提取成函数,将具体逻辑封装到函数中。
缩进可以决定代码块,缩进相同的是一个代码块。

6.10 流程控制语句之条件控制四 elif的优点

elif不能单独使用,要和 if 一起使用,elif让代码更简洁
在python中没有switch语法

a = input()                  //a接收到的是str不是int
print('a is ' + a)
if a == '1':                //是字符串'1'不是数字1
    print('apple')
elif a == '2':
    print('orange')
elif a == '3':
    print('banana')
else:
    print('shopping')
    print('shopping')

6.11 改变思维定势

input()函数录入的是字符串str。
动态语言的变量没有一个确切的类型,要格外注意

6.10的代码可以转换成:

a = input()                     //a接收到的是str不是int
#print(type(a))                 //查看数据类型
print('a is ' + a)
a = int(a)                      //转换成int类型
if a == 1:                      //是数字1
    print('apple')
elif a == 2:
    print('orange')
elif a == 3:
    print('banana')
else:
    print('shopping')
    print('shopping')

如何写出优美的代码?

a = x     
b = y 

前提:a和b不可能同时为False
请从a、b中选取一个数值,返回为真的变量。
用 if else实现 代码量比较多
可以用a or b 进行比较
a or b 不仅仅是一个布尔类型,它还可以返回a、b两个变量具体的数值

相关标签: Python Python3