1. 变量
• 变量通常是可变的,需要通过变量名来访问。
• 变量名只能是 字母、数字或下划线的任意组合,且不能以数字开头。
• 变量名不能是 Python 中的关键字。
• 变量名要具有可描述性。(下划线 :age_of_myfather、number_of_friends)
2. 常量
• 常量是指不变化的量,或在程序运行过程中不会改变的量。
• Python 中常量没有定义专门的语法,约定俗成用全大写的变量名来表示。(AGE_OF_MYFATHER)
3. 注释
• 单行注释:# 被注释内容
• 多行注释:''' 被注释内容 ''',或者 """ 被注释内容 """ (三个单引号或三个双引号)
4. 程序交互
• input:等待输入。(可将结果赋值给变量)
• input 返回的数据类型全部是 str,可用 type() 测试。
5. 基础数据类型
• 整型: int 在32位机器上,整数的取值范围为 -2**31~2**31-1,即 -2147483648~2147483647。
• 字符型:str 在 Python 中,加了单引号、双引号的字符都是字符串,而多引号可以表示多行字符串。(字符串拼接:+、*)
• 布尔型:bool 布尔类型就两个值 ,一个 True(真),一个 False(假),主要用于逻辑判断。
6. 运算符
• 算数运算: +、-、*、/、%、**、//
• 比较运算: ==、!=、<>、>、<、>=、<=
• 赋值运算: =、+=、-=、*=、/=、%=、**=、//=
• 逻辑运算: and、or、not
• 优先级: 在没有()的情况下,not优先级高于and,and优先级高于or。(即( )>not>and>or)
7. 流程控制
• if:单分支 if、双分支 if...else、多分支 if...elif...else
• 缩进:区分代码块就是强制缩进,顶级代码必须顶行写,即非条件控制的代码不能进行任何缩进。
• while:基本循环 while、while...else - 正常执行完while循环,会继续执行else的内容。
• 终止循环:break - 完全结束整个循环,continue - 终止本次循环,接着执行后面的循环。
8. 格式化输出
• %s 字符串占位符,%d (digit)数字占位符, 可以通过 %()将占位符与变量关联起来。
• 如果想单纯输出%字符,则需要%%,在前面额外增加一个%作为对第二个%的转译。
9. UTF-8编码
• 最开始使用ASCII码的7位字符集作为编码方式,因为128个字符已经可以表示所有的英文字符。
• 后来为了扩展预留了1位,所以原本的ASCII码最左边的那一位全都是0。
• Unicode 万国码,两个字节表示1个字符,四个字节表示1个中文,开销大。
• UTF-8 通用转换格式,是一种针对Unicode的可变长度字符编码,三个字节表示1个中文,最好的编码方式。
• GBK 仅国内使用,两个字节表示1个中文,慢慢会被淘汰。
注意
• 字符串转化成数字:int(str) - str 必须由数字组成
• 习惯上双引号一般用来引用字面上用户交流或能看见的字符串,单引号用来引用语言内部处理的字符串。
• 单引号 和 双引号 技术上没什么区别,但当字符串本身又包含单引号或双引号的时候,交叉着用看着清楚一点。
• 为什么要转换为 UTF-8 呢,因为三个字节表示1个中文开销小,而且已经包含世界上所有的字符。
练习
# 1. while输出1到10中除数字7的其他数
count = 0
while count < 10:
count += 1
if count == 7:
continue # 使用continue
print(count)
# 2. 求1-2+3-4+5 ... 99的所有数的和
count = 1
sum = 0
while count < 100:
if count%2 == 1: # 奇数
sum += count
else:
sum -= count
count += 1
print(sum)
# 3. 用户登陆(三次机会)
MAX_TIMES = 3
i = 0
while i < MAX_TIMES:
username = input("请输入用户名:")
password = input("请输入密码:") # input返回的类型为字符串
if username == 'python' and password == '123':
print("登陆成功")
break
else:
if i == 2:
print("登陆失败累计3次,为了你的帐号安全,请稍后再试")
else:
print("用户名或密码不正确,请重试")
i += 1
print("------out of while loop----------")