表达式
有优先级
*,/大于+,-
常识级问题
and优先于or
强制修改运算优先级可加()
赋值运算符先算赋值号后的算式给出赋值
至今学习的为基本类型与基本概念
开发环境 IDE
暂时先用pycharm
或者使用vscode
流程控制语句
条件控制 ,循环控制,分支
if,else ,for,while switch
#单行注释 快捷键为ctrl+/
‘’‘
多行
注释 快捷键为alt+shift+a
’‘’
mood=True
if mood:
print(‘go to left’)
else :
print(‘go to right’)
mood=True
if mood:
print(‘go to left’)
else :
print(‘go to right’)
ACCOUNT=‘xt’
#账户名
PASSWORD=‘880213’
#密码
print(‘请输入用户名’)
USER_ACCOUNT=input()
#用户输入账户名
print(‘请输入密码’)
USER_PASSWORD=input()
#用户输入密码
if ACCOUNT == USER_ACCOUNT and PASSWORD == USER_PASSWORD:
print(‘对啦’)
else :
print(‘错误’)
constant 常量
代码块
同级代码块一行被执行后,其他同级代码也会被执行
嵌套使用,建议使用函数。模块化
print(‘请输入字符’)
a = int(input())
if a == 1:
print(‘first’)
else:
if a == 2:
print(‘double’)
else:
if a == 3:
print(‘banana’)
else:
print(‘end’)
如何简化
print(‘请输入字符’)
a = int(input())
if a == 1:
print(‘first’)
elif a == 2:
print(‘double’)
elif a == 3:
print(‘banana’)
else:
print(‘end’)
一般在其他语言里可以使用switch 解决
但是python里可以用字典更好的解决
循环
循环语句
while for
print(‘请输入字符’)
a = int(input())
if a == 1:
print(‘first’)
elif a == 2:
print(‘double’)
elif a == 3:
print(‘banana’)
else:
print(‘end’)
递归语句常用while
其他建议用for
for主要用于遍历/循环,序列,集合或者字典
a = [[‘1’,‘2’,‘3’,‘4’],(‘Q’,‘W’,‘E’,‘R’)]
for x in a:
for y in x:
print (y)
else:
print(‘end’)
遍历完后输出else
如想要输出与同一行可以
print(y,end=‘’)
a = [[‘1’,‘2’,‘3’,‘4’],(‘Q’,‘W’,‘E’,‘R’)]
for x in a:
for y in x:
if y == ‘2’:
break 停止,打断后不会继续执行else,除非还有外部循环
elif y == 'E':
continue 跳过,继续
print (y)
else:
print(‘end’)
range 函数 排列
打印1-10
for x in range(1,11):
print(x)
for x in range(10,0,-2):
print(x) 正常为竖向排列
for x in range(10,0,-1):
print(x,end=’~’) 加end 改为横向排列‘’中加符号可以看做分隔
间隔取数
a = [1,2,3,4,5,6,7,8,9,10]
for x in range(0,len(a),2):
print(a[x],end=’|’)
或者
a=[1,2,3,4,5,6,7]
b=a[0:len(a):2]
print(b)
会写代码,很容易
写出性能,封装性(可复用),抽象的代码才是好的代码
python项目的组织结构
包,模块,类,函数、变量
class 类
init.py 导入包时会自动执行其中代码
导入模块
import module_name
import 导入,必须在输出之前
import t.c1
print(t.c1.a)
当模块层级比较多的情况下可以简化
import t.c1 as x
print(x.a) 把文件赋值为x
或者
from t.c1 import a
print(a) 把a指定为文件
from ts import *
*指把次包内所有模块导入
__all__定义 模块的内置属性
python标准每行代码80个字符
如果打不下需要换行可以使用
反斜杠键进行换行
或者在外部加入()
调用模块的几种方式
init.py 在包下会自动调用其中的模块
import t11 调用t11包下模块,如果包下有init文件就会自动调用其中模块
from ts import *
如init 模块内有用__all__ =[‘p1’]指定只调用某一模块的话其他模块是无法被调用的
系统内置库可随意调用,比如sys,datetime,io,等
a=(‘这是t11的init’)
print(a)
一般我们在init中可以存放需要导入的库,就不用在其他文件中每次都导入相同的库以方便调用
import sys
import datetime
import io
像这样,我们导入库时只需要
import t11
print(t11.sys.path) 类似的操作就可以导出需要的模块了
包和模块是不能重复的被导入的
一定要避免循环导入
导入模块时他就会去执行模块内的代码