Day03_学习总结

Day03知识点总结

1 运算符

1.1 比较运算符

比较运算符包括:>(大于),<(小于),==(等于),!=(不等于),>=(大于等于),<=(小于等于);所有比较运算符的运算结果都是布尔值(True或者False),如:

print(100 > 10)    #True
print(100 == 10)   #False
print(100 != 10)   #True    
print(100 >= 100)  #True

Python支持直接进行数学中表示范围的写法,而其他语言一般不支持,如:

 = 1000
print(1 <= a <= 100)   #False

1.2 逻辑运算符

逻辑运算符包括:and(逻辑与运算),or(逻辑或运算),not(逻辑非运算),这三个都是python中的关键字,且逻辑运算符的运算对象和运算结果都必须是布尔值。

  • 逻辑与运算
    当要求多个条件同时满足的时候,可将多个条件用and连接。当所有条件都是True时,与运算结果为True;当条件中中存在False时,与运算结果为False。如:
Ture and Ture --> True
Ture and False --> False
False and Ture --> False
False and False --> False

总结起来可概括为:全真为真,有假为假
练习1:获取奖学金的条件是:操评分不小于95分且绩点不小于4.0。

score = 98
grade = 3.5
print('是否能拿奖学金:',score >= 95 and grade >= 4.0)

练习2:判断某个对应年龄的人是否属于儿童(年龄大于等于3小于等于12)。

age = 18
print('是否是儿童',age >= 3 and age <=12)
print('是否是儿童',3 <= age <= 12)
  • 逻辑或运算
    当要求多个条件中只要有一个条件满足的时候,就将多个条件用or连接。当所有条件都为False时,或运算的结果为False;当条件中存在True时,或运算的结果为True。如:
True or True --> True
True or False --> True
False or True --> True
False ro False --> False

总结起来可概括为:有真为真,全假为假
练习1:获取奖学金的条件是:操评分大于95分或绩点大于4.5。

score = 98
grade = 3.5
print('是否能拿奖学金:',score > 95 or grade > 4.5)

练习2:获取奖学金的条件是:1.操评分大于95分但绩点不低于2.0;2.绩点大于4.5但操评分不低于80。

score = 98
grade = 3.5
print('是否能拿奖学金:',(score > 95 and grade >= 2.0 ) or (score >= 80 and grade > 4.5))
  • 短路操作
    python中and和or运算支持短路操作,如:
    条件1 and 条件2 --> 如果条件1的结果是False,那么系统不会去判断条件2的结果,整个语句都会变成False。
    条件1 or 条件2 --> 如果条件1的结果是True,那么系统不会去判断条件2的结果,整个语句都变成True。

  • 逻辑非运算
    逻辑非运算符是单目运算符,运算对象只有一个,其本质是对布尔值进行取反,在对某个条件进行否定时使用。

1.3 赋值运算符

赋值运算符包括:=,+=,-+,=,/+,//=,%=, * =;所有赋值运算符的左边必须是变量,复合赋值运算符的左边要求除了是变量以外,这个变量还必须是已经声明过的变量。赋值符号的右边可以是数据、已经声明过的变量、运算表达式。如:

name = '张三'
sum1 = 10 + 23
age1 = age

复合赋值符号的使用:变量 += 数据 --> 将变量中保存的值加上特定的数据,将结果重新保存到变量中。如:

num2 = 10
num2 += 2     # num2 = num2 + 2 = 10 + 2
print(num2) 

1.4 运算符的优先级

在Python的运算符中,优先级顺序为:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
而在逻辑运算符中,优先级顺序为:not > and > or,先算优先级高的,有括号先算括号。

2 if语句

python中分支结构只有if一种,在编写程序时某些代码不是一定会执行,而是在满足某些条件的时候才会执行,此时可以使用if语句。

2.1 if结构

  • 基本语法
    if 条件语句:
    代码块
  • 结构说明
    if ——关键字,固定写法
    条件语句 —— 结果是布尔的表达式;本质可以是除了赋 值语句以外的任何语句都可以;
    : —— 固定写法,(一般有冒号的地方,后边都 会产生缩进)
    代码块 —— 和if保持一个缩进的一条或多条语句,满足 某些条件才会执行
  • 执行过程
    先判断条件语句是否为True(如果条件不是布尔值,先转换成布尔值再判断);如果为True就执行代码块中的语句,否则不执行,直接执行后面的语句。如:
if True:
    print('语句1')
    print('语句2')
print('语句3')

2.2 if-else结构

满足某个条件执行一个操作,不满足这个条件执行另外的操作。

  • 基本语法
    if 条件语句:
    代码块1
    else:
    代码块2
    其他代码
  • 结构说明
    if ——关键字,固定写法
    条件语句 ——可以是数据、声明过的变量、不包含赋值符号的运算表达式
    :——固定写法
    代码块1——和if保持一个缩进的一条或者多条语句
    else——关键字,固定写法
    代码块2 ——和else保持一个缩进的一条或多条语句
  • 执行过程
    先判断条件语句是否为True(如果不是布尔值,转换成布尔再判断)如果结果为True,执行代码块1,否则执行代码块2。如:
num1 = 11
if num % 2 == 0: 
    print('偶数')
else:
    print('奇数')

2.3 if-elif-else结构

  • 基本语法
    if 条件语句1:
    代码块1
    elif 条件语句2:
    代码块2
    elif 条件语句3:
    ……
    else:
    代码块
  • 执行过程
    先判断条件语句1是否为True,如果为True,就执行代码块1,整个if-elif-else语句结束,直接执行其他语句。如果为False,则判断条件语句2是否为True,以此类推;如果前面所有的条件语句都不为True,则执行else的语句。如:

练习:0-3 幼儿,4-12 儿童,13-17 少年,18-28青年,29-49壮年,50-59中年,70以上老年。根据年龄判断所属人群。

age = 0
if age <= 0:
    print('年龄输入错误')
elif 0 < age <= 3:
    print('幼儿')
elif age <= 12:
    print('儿童')
elif age <= 17:
    print('少年')
elif age <= 28:
    print('青年')
elif age <= 49:
    print('壮年')
elif age <=69:
    print('中年')
else:
    print('老年'))

2.4 if嵌套

可以在任何if结构中,根据去求再写其他的if结构。通过合理的嵌套,可以提高代码的执行效率,减少运算时间和内存消耗。
练习:如果一个数是偶数就打印偶数,否则打印奇数。如果这个数能被4整除,则打印,能被4整除。如果个位数是3,打印最后一位数是3

num2 = 5
if num2 % 2 == 0:
    print('偶数')
    if num2 % 4 == 0:
        print('能被4整除')
        print('==========')
else:
    print('奇数')
    if num2 % 10 == 3:
        print('最后一位数是3'))

3 数字

python中和数字相关的类型:int、float、bool、complex(复数)。

3.1 整数

int(整型)包含所有的整数,python中可以通过十进制、二进制、八进制和十六进制的形式对整数进行表示。

  • 十进制
    基数:0、1、2、3、4、5、6、7、8、9。
    进位:逢10进1
    位权:123 = 110^2 + 210^1 + 3*10^0
    *表示方法:直接写,不加前缀,110,2323,12412

  • 二进制
    基数:0、1
    进位:逢2进1
    位权:101 = 12^2 + 02^1 + 1*2^0 = 5
    *表示方法:在二进制数前加前缀0b/0B,0b110.0b1010

  • 八进制
    基数:0、1、2、3、4、5、6、7
    进位:逢8进1
    位权:56 = 58^1 + 68^0 = 46
    表示方法:在八进制数前加0o,0o12,0o54

  • 十六进制
    基数:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
    进位:逢16进1
    位权:1AF = 116^2 + 1116^1 + 15*16^0
    *表示方法:在十六进制数前加0x,0x129,0xa3

  • 进制的转换
    转换为二进制:bin(整数)
    转换为八进制:oct(整数)
    转换为十六进制:hex(整数)
    示例:

print(bin(1314))
print(oct(1314))
print(hex(0b101))

3.2 浮点数

float浮点数包含所有的小数,同时pyton总支持科学技术法,如:
1200 == 1.2e3 0.001 == 1e-3

3.3 布尔

bool(布尔):只有True和False两个值; True本质就是数字1,False本质就是数字0

3.4 复数

包含所有的带虚部的数,格式为实部+虚部(数字后面加j)。如:

num1 = 10 + 2j
print(num1,type(num1))
num2 = 2 - 3j
print(num1 * num2)

3.5 type函数

用法为:type(数据) --> 获取数据对应的类型

3.5 类型转换

用法为:类型名(数据) ——> 将数据转换成指定的类型。
注意:类型名不能作为变量名。
int(数据):将数据转换成整型,字符串去掉引号后为整数时才能转换为整型。
float(数据):将数据转换成浮点型,字符串去掉引号后为数字的都能转换为浮点型。
bool(数据):所有数据都能转换成布尔,数字转换成布尔时,0为False,其余为True;字符串为空时,为False,其余为True。
示例:

num3 = 12.5
new_num3 = int(num3)    
print(new_num3) 
num4 = float(100)
print(type(num4),num4)
print(int(-10.2))
print(bool('False'))
print(bool(''))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容