python基础学习第二天
昨天所学
1.python起源、能做什么等。
2.注释:单行注释和多行注释。
3.变量:数据的载体;变量可以保存任意类型的数据。
4.python中常见的数据类型:整型(int)、浮点型(float)、复数(complex)、布尔(bool)、空值(NoneType)
5.容器型数据类型:字符串(str)、列表(list)、元组(typle)、字典(dict)
6.输入和输出:input、print
7.Markdown语法
一、运算符
运算符分为5大类:算数运算符、赋值运算符、复合赋值运算符、比较运算符、逻辑运算符。 Python算术运算符加减乘除和数学运算中的一样,只是这里的乘除符号改变了而已,整除//就是取整数商,取余(取模)%就是取除法运算后的余数,指数**也就是数学中多少次方多少次幂,在编程中用小括号 ()来提高运算符的优先级。
在python中常用的运算符:算术运算符、比较运算符、逻辑运算符、赋值运算符、成员运算符等。
1.算术运算符
+(加)、-(减)、*(乘)、/(除)、//(整除)、**(幂运算)、%(取余)
示例:
a = 10
b = 2
print(a + b)
print(a - b)
print(a * b)
运行结果:
python中的除法运算得到的结果永远都是浮点数
print(a / b)
运行结果:
整除:将除法运算的结果去掉小数部分(向小取整:获得小于等于N的最大整数)
print(10 // 2)
print(10 // 3)
print(10 // 4)
运行结果:
Python 支持/和//两个除法运算符,但它们之间是有区别的:
- /表示普通除法,使用它计算出来的结果和数学中的计算结果相同。
- //表示整除,只保留结果的整数部分,舍弃小数部分;注意是直接丢掉小数部分,而不是四舍五入。
%:取余
print(10 % 3)
- Python % 运算符用来求得两个数相除的余数,包括整数和小数。Python 使用第一个数字除以第二个数字,得到一个整数的商,剩下的值就是余数。对于小数,求余的结果一般也是小数。
**:幂运算:幂运算开N次方结果永远为浮点型
sqrt():开平方,sqrt必须从math数学模块中导入,只要程序导入模块,必然会对性能产生影响
print(10 ** 2)
print(100 ** 0.5)
2.比较运算符
(大于)>、<(小于)、=(等于)、<=(小于等于)、>=(大于等于)、==(等等于)、!=(不等于)
比较运算符结果为布尔值True、False
10 == 10.0,数值相等数据类型不相等(只指代整型和浮点型)
a = 10
b = 2
print(a > b)
print(a >= b)
print(a != b)
print(10 == 10.0)
print(10 == '10')
3.逻辑运算符
- and(与)、or(或)、not(非)
- and用法: 条件1 and 条件2,判断两个条件是否都成立,两者都成立,结果为Ture,反之为False
- 中断操作:如果条件1为False,不需要再判断条件2,整体为False
逻辑运算符 | 含义 | 基本格式 | 说明 |
---|---|---|---|
and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
print(3 > 2 and 2 != 1)
print((3 > 2 and 2 != 1) and 2 == 2 and 1 == 0)
print(True and True)
print(True and False, False and True,False and False)
or用法:条件1 or 条件2,判断两个条件中是否存在成立条件,两个条件都不成立+ 结果为False,反之为Ture
- 中断操作: 如果条件1为Ture,则不需要再判断条件2,整体为Ture
- 单独的数字也能作为条件,0代表False,非0代表Ture
print(3 > 2 or 2 != 2)
print(3 < 2 or 0)
not:取反
print(not True)
- 练习:判断一个年份是否是闰年。(年份能够被4整除但不能被100整除,或者年份能被400整除)
year = 400
print((year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
结果为闰年。
4.赋值运算符
- +=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、//=(整除等于)、**=(幂运算等于)、%=(取余等于)
- 作用:给一个已经存在的变量赋值
x = 100
x += 2 # 等价于x = x + 2
x *= 2
x //= 4
print(x)
- 复合赋值运算符
x += x * 3 # x = x + (x * 3)
print(x)
- 运算符的优先级
A.算数运算符 > 比较运算符> 逻辑运算符> 赋值运算符
B.有小括号先算小括号的
C.** > *、/、//、% > +、- - 练习题:给的一个半径r,计算圆的面积和周长。
r = int(input('请输入一个半径:'))
# round(数值,小数位数),
s = 3.14 * r ** 2
l = 2 * 3.14 * r
print(round(s,1))
print(round(l,1))
二、简单的数据类型转换
- 注意:所有的数据类型后面加上小括号()能够变成对应的数据类型转方法—构造器语法。
1.整型:什么样的数据能转成整型?
- 浮点型能够转整型。
print(int(1.3),int(2.0))
- 去掉括号就是一个整数的字符串能够转为整型。
print(int('123'),type(int('123')))
- 布尔值可以转整型。True -> 1;False -> 0
print(int(True),int(False))
2.浮点型(float):什么样的数据能够转成浮点型?
- 整型能够转成浮点型
print(float(10))
- 去掉引号就是一个数字的字符串能够转为浮点型
print(float('1.0'),float('2'),float('.9'),float('4.4'))
- 布尔值可以转浮点型。True -> 1.0,False -> 0.0
print(float(True),float(False))
从上到下的运行结果:
3.布尔(bool):什么样的数据能够转为布尔值?
- 所有的数据都可以转为布尔值。
- 0,0.0,None,‘’,“”,[],(),{}(字典),set()(集合)转为False
- 其余数据都转为True。
- 注意:并不是所有的数据类型都可以相互转换
三、单分支结构
示例:
userName = input('请输入账号:')
password = input('请输入密码:')
if userName == 'admin' and password == '123456':
print('登陆成功')
else:
print('账号或密码错误')
- 练习题1:判断一个年份是否是闰年,是返回闰年,否返回平年。
a = int(input('请输入一个年份:'))
if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:
print('闰年')
else:
print('平年')
- l练习题2:写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
a = int(input('请输入一个数:'))
if a % 2 == 0 and a % 5 ==0:
print('能够整除')
else:
print('不能够整除')
四、多分支结构
多分支结构的用法
语法:
if 条件:
代码块
elif 条件:
代码块
else:
代码块
拿上面判断闰年一题为例:
year = 2000
if year % 4 == 0 and year % 100 != 0:
print('闰年')
elif year % 400 == 0:
print('闰年')
else:
print('平年')
结果为闰年
注:分支结构中else语句合适的情况下可以不写
- 练习:有一个成绩,如果成绩大于等于90,为等级A;大于等于80,为等级B,大于等于70,为等级C,大于等于60为等级D,反之为等级E。
a = float(input('输入一个成绩查看成绩等级:'))
if a >= 90:
print('等级A')
elif a >= 80:
print('等级B')
elif a >= 70:
print('等级C')
elif a >= 60:
print('等级D')
else:
print('等级E')
scroe = 66
if scroe >= 90:
print('A')
elif scroe >= 80 and scroe < 90:
print('B')
elif 70 <= scroe < 80:
print('C')
elif 60 <= scroe < 70:
print('D')
else:
print('E')
注:此方法顺序乱对结果没有影响
五、三目运算符
三目运算符的作用:对单分支结构做简化(简写),其性能不变。
语法:
结果1 if 条件 else 结果2
如果条件成立结果为结果1,否则为结果2。
注意:并不是所有的单分支结构都可以转三目运算符。
如单分支写法:
age = 18
if age >= 10:
print('成年')
else:
print('未成年')
三目运算符写法;
a = '成年' if age >= 10 else '未成年'
print(a)
六、嵌套结构
简单来说就是单分支和多分支结构可以相互嵌套。
- 练习:一个整数,判断其是不是2的倍数,如果是2的倍数,在判断其是不是3的倍数。
number = 10
number = 12
if number % 2 == 0:
print('是2的倍数')
if number % 3 == 0:
print('是3的倍数')
else:
print('不是2的倍数')
运行结果:
这就是第二天所学!