二、标识符和简单if嵌套

一、标识符
1.1 命名规则
只能由数字、字母、下划线组成,不能有其他符号;
不能以数字开头;
严格区分大小写;
不能使用关键字。
关键字:
‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’

1.2 命名规范
尽量不使用大小写区分不同变量;
尽量见名知意;
多个单词可用下划线分开;
遵循驼峰命名法。
例如:stuScore(小驼峰) StuScore(大驼峰)

1.3 其他标识符命名规则
常量:常量名所有字母大写,由下划线连接各个单词。
如:MAX_OVERFLOW,TOTAL

函数&方法: 函数名应该为小写,可以用下划线风格单词以增加可读性。
如:my_function,my_example_function

文件名: 全小写,可使用下划线。
包: 应该是简短的、小写的名字。如果下划线可以改善可读性可以加入.
模块: 与包相同。
类: 总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。
二、Python数据类型
2.1 数据类型分类
类别 说明
Number 数字类型,包含:int,folat,complex
str 字符串
bool 布尔值,只有两个值:True、False
None 空值类型,只有一个None值
list 列表,用来存相同类型的数值
tuple 元组,不可改变的列表,用来存相同类型的数值
dict 字典,存不同类型的数值
set 集合,不打印相同的值
bytes 字节
2.2 数字类型转换
int(x):将x值转换为整型;
str(x):将x值转换为字符串;
float(x):将x值转换为浮点数。

三、运算符
3.1 算术运算符
算术运算符有:+ - *【乘法】 /【除法】 %【求余,取模】 **【求幂,次方】 //【取整】

乘法运算符*:若是字符串 * 数字,则结果为该字符串重复打印n次。
//取整运算符:取整运算时,向下取接近商的整数。

print(“y” * 3) => yyy
print(3 // 2) => 1,print(-3 // 2) => -2
1
2
3.2 关系运算符
作用:比较大小,得到结果为布尔值【如果表达式成立,则返回True,如果不成立,则返回False】
使用场景:if语句,循环
1.只有相同类型数据比较;
2.字符串比较,实际是对应ASCII码值的比较。

常用ASCII码:
字符 十进制 字符 十进制 字符 十进制
A 65 a 97 0 48
B 66 b 98 1 49
C 65 c 99 2 50
D 65 d 100 3 51
E 65 e 101 4 52
… … … … 5 53
W 87 w 119 6 54
X 88 x 120 7 55
Y 89 y 121 8 56
Z 90 z 122 9 57
代码演示:

print(A > a) => False
print(3 < 4) => True
print(“abc” > “adc”) => False

对应位进行比较,从左向右遇到第一对不相同值时比较大小即可!

3.3 逻辑运算符
and:有False是都为False。

print(True and True) => True
print(True and False) => False
print(False and False) => False

or:有一个结果为真时,输出结果为真。
not:取反,一定会得到一个布尔值。
print(not True) => False
1
3.3.1 各数据类型布尔值
bool类型:False是0,True是1;
字符串:空字符串输出为假,其他为真(空格也是一个字符);
None:输出是假;
list类型:[]空列表为假,其他为真;
dict类型:{}空字典为假,其他为真;
3.3.2 短路操作
and在运算中以bool类型进行,但是输出结果不一定是bool值,如:
x = 10 and 3 and 4 => 4
x = 0 and 3 and 4 => 0
x = 3 and 0 and 4 => 0

过程:从左向右判断,直至遇到False值返回输出0,;若最后都没0,则返回输出最后一位值。
or:在运算中以bool类型进行,但是输出结果不一定是bool值,如:
x = 0 or 3 or 4 => 3
x = 3 or 0 or 4 => 3

过程:与and原理相反。遇到第一个真值返回输出该值。
3.4 成员运算符、身份运算符
3.4.1 成员运算符
成员运算符:in,not in。输出结果为布尔值。

运算符 描述
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
代码演示:

b = 20
list = [1, 2, 3, 4, 5 ];
 
if ( a in list ):
   print ("1 - 变量 a 在给定的列表中 list 中")
else:
   print ("1 - 变量 a 不在给定的列表中 list 中")
 # 结果为:1 - 变量 a 不在给定的列表中 list 中
 
if ( b not in list ):
   print ("2 - 变量 b 不在给定的列表中 list 中")
else:
   print ("2 - 变量 b 在给定的列表中 list 中")
   #结果为:2 - 变量 b 不在给定的列表中 list 中

3.4.2 身份运算符
身份运算符:is,is not。判断内存地址是否相同,输出结果为布尔值。

运算符 描述
is is 是判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。
代码演示:

a = 20
b = 20
 
if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
   # 结果为:1 - a 和 b 有相同的标识

if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识")
else:
   print ("4 - a 和 b 有相同的标识")
   # # 结果为:4 - a 和 b 有相同的标识

实际运算过程是id(a) is id(b)是否相同。
id():函数用于获取对象内存地址。

3.5 赋值运算符、位运算符
3.5.1 赋值运算符
简单赋值运算符:= 给一个变量进行赋值。

复合赋值运算符:+= -= %= /= … 给一个变量进行赋值,同时给变量进行相应的运算。

代码演示:

num1 = 10
#注意:在赋值运算符中,先计算等号右边的表达式,然后将计算的结果赋值给等号左边的变量
num2 = num1 + 10
print(num2) => 20

#复合 +=,其他原理同+=。
num3 = 10
num3 += 100   #等价于num3 = num3 + 100
print(num3) => 110

3.5.2 位运算符(了解)
先将十进制转换为二进制,以多位为准少位补齐0。

运算符 描述
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
或 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
代码演示:

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b;        # 12 = 0000 1100
print ("1 - c 的值为:", c)
 
c = a | b;        # 61 = 0011 1101 
print ("2 - c 的值为:", c)
 
c = a ^ b;        # 49 = 0011 0001
print ("3 - c 的值为:", c)
 
c = ~a;           # -61 = 1100 0011
print ("4 - c 的值为:", c)
 
c = a << 2;       # 240 = 1111 0000
print ("5 - c 的值为:", c)
 
c = a >> 2;       # 15 = 0000 1111
print ("6 - c 的值为:", c)

3.6 运算符优先级
四、IF分支
if后的判断语句输出结果为bool值,若为真则进入if语句!

4.1 if语句【单分支】
语法:
if 表达式:
​ 执行语句
说明;要么执行,要么不执行,当表达式成立的之后,则执行语句;如果表达式不成立,则直接跳过整个if语句继续执行后面的代码
注意:表达式为真才执行语句
假:0 0.0 False “” None【空值】
一般情况下,表达式使用都是比较运算符
代码演示:

#练习:从控制台输入一个数,判断这个数是否是偶数
num = int(input())
if num % 2 == 0:
	print(num,"是一个偶数")
print(num,"不是一个偶数")

4.2 if…else语句【双分支】
语法:
if 表达式:
​ 执行语句1
else:
​ 执行语句2
说明:如果表达式成立,则执行语句1;如果不成立,则执行语句2
代码演示:

从控制台输入一个数,判断这个数是否是偶数

num = int(input())
if num % 2 == 0:
	print(num,"是一个偶数")
else:
	print(num,"不是一个偶数")

4.3 if…elif…else语句【多分支】
语法:
if 表达式1:
​ 执行语句1
elif 表达式2:
​ 执行语句2
elif 表达式3:
​ 执行语句3
……
else:
​ 执行语句n

说明:实现了多选一的操作,会根据不同的条件从上往下来进行匹配,如果匹配上了,则执行对应的语句,然后直接结束整个if-elif语句,但是,如果所有的条件都不成立的话,则执行else后面的语句

注意:不管if-elif-else有多少个分支,都只会执行其中的一个分支

代码演示:

#需求:从控制台输入一个数字,根据数字打印年龄段
age = int(input())
if age < 0:
	print("输入有误")
elif age <= 3:
	print("婴儿")
elif age <= 6:
	print("儿童")
elif age <= 12:
	print("青少年")
elif age <= 18:
	print("青年")
else:
	print("hello")

4.4 if嵌套语句
语法:
if 表达式1:
​ 执行语句1
​ if 表达式2:
​ 执行语句2
说明:if语句的嵌套,可以在单分支,双分支,多分支之间进行任意组合
代码演示:

score = int(input("请输入学生的成绩:"))
if score < 0 or score > 100:
	print("输入有误")
else:
	if score >= 90:
  	print("优秀")
	elif score >= 80:
  	print("良好")
	elif score >= 70:
  	print("还行")
	else:
  	print("")

注意:从语法角度来说,嵌套的层数没有任何的限制,但是,为了代码的可读性和可维护性,嵌套层数不要超过3层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值