python学习之运算符和表达式

我爱海鲸 2023-04-02 12:53:53 python、python学习

简介python基础、py、解释型语言、运算符和表达式、类型转换

1. 运算符的优先级

  • 尽量不要把一个表达式写的过于复杂,如果遇到复杂的需求,则最好分步运算

  • 不要过多的依赖于运算符的优先级,否则代码的可读性太差,在实际的项目开发中,一般采用()

2.数据类型的转换

python是一种强类型语言:要求运算符两边的操作数必须是同一个类型的,否则必须转换

函数名 函数值
int(x,[基数]) 将数字或字符串转换为整数,如果x为浮点数,则自动截断小数部分
float(x) 将x转换成浮点型
str(x) 将x转换成字符串,适合人阅读
bool(x) 转换成bool类型 的True或 False
repr(x) 返回一个对象的String格式,适合机器执行
eval(str) 执行一个字符串表达式,返回计算的结果
tuple(seq) 参数可以是元组、列表或者字典,为字典时,返回字典的key组成的集合
list(s) 将序列转变成一个列表,参数可为元组、字典、列表,为字典时,返回字典的key组成的集合
set(s) 将一个可以迭代对象转变为可变集合,并且去重复,返回结果可以用来计算差集x - y、并集x | y、交集x & y
chr(x) 输入一个ASCII码(0-255),返回一个对应的字符。返回值是当前整数对应的ascii字符。
ord(x) 返回一个字符所对应的码值

数值类型 : int、float、bool

bool -> int -> float

3 编码规范

  • 代码编排

    • 缩进4个空格,不能用tab键和空格混合缩进

    • 所有行限制的最大字符数为79

    • 添加适当的空行

  • 空格

    • 二元运算符两边添加一个空格

    • 逗号、分号、冒号后边留一个空格,前面不留

正确: if x == 4: print(x, y); x, y = y, x
错误:  if x == 4 : print x , y ; x , y = y , x

紧跟在小括号,中括号或者大括号后 不要留空格

正确: spam(ham[1], {eggs: 2})
错误:  spam( ham[ 1 ], { eggs: 2 } )

4 if分支(***)

4.1 单一分支

if 条件表达式:
    【代码块】
【后续代码】
执行流程:如果条件表达式为真,则执行【代码块】。否则不执行,直接执行if语句后面的【后续代码】
注意:
   【代码块】必须缩进
    单if语句可以嵌套

4.2 双向分支

if 条件表达式:
    【语句块A】
else:
    【语句块B】
【后续代码】
执行流程:如果条件表达式为真,执行【语句块A】然后执行【后续代码】,否则执行【语句块B】,然后再执行【后续代码】,二选一,不可能既执行A有执行B
注意: 
    【语句块A】和【语句块B】必须缩进
    if-else可以嵌套

4.3 多向条件分支

if 条件1:
    【代码段1】
elif 条件2:
    【代码段2】
............
elif 条件n:
	【代码段n】
else:
   【else语句块】
【后续代码】
执行流程:多选一,如果满足条件1,执行【代码段1】,然后跳出if-elif语句,执行【后续代码】,否则判断是否满足条件2,如果满足执行【代码段2】,然后跳出if-elif语句,执行【后续代码】...。如果所有条件都不满足,执行【else语句块】,然后再执行【后续代码】。
注意:else是可选的,可以写也可以不写。

5 循环(***)

5.1 概念

广义:一个周期现象或者重复出现的情况,这种状态被称为循环

狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环。被反复执行的这段代码被称为循环体

当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环

Python中提供的循环语句:while语句,for-in语句

5.2 使用

5.2.1 while语法

while 表达式:
    循环体

工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体

5.2.2 while-else

while 表达式:
	循环体
else:
    【else语句块】

说明:当while语句执行完成之后,执行【else语句块】,如果用break跳出循环则不执行else

5.2.3死循环

在循环语句中,表达式永远为真的循环

while True:
	#循环体

while 1:
	#循环体

5.2.4 while语句的嵌套

while 条件1:     #外层循环
	 【语句块A】
	  while 条件2:   #内存循环
			【语句B】

执行流程:首先判断外层循环的条件1,如果为真,则执行循环体中的【语句块A】,执行内层循环,判断条件2是否成立,如果成立,执行内层循环的【语句块B】,执行完内层循环后,重新判断外层循环条件....

  • 特点:外层循环走一步,内层循环执行一遍

  • 外层循环和内层循环的循环变量必须不同

5.3. break和continue、exit()

continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中

break用于结束当前循环。只对当前这一重循环起作用。break只能出现在循环中

exit()结束程序

相关代码:

# 三目运算符

# 格式:表达式 ? 真 : 假
# result = (8>10)?'真':'假'
# print(result)


# python的格式: 结果  if 表达式 else 结果
a=6
b=5
result = (a+b) if a<b else (b-a)
'''
 判断表达式是True还是False
 如果是True则 将if前面的内容进行运算,并将结果赋值成result
 如果是False则将else后面的内容运算结果,并将结果赋值成result

'''
print(result)


# 运算符的优先级:


'''
   排序:
    **
    ~
    + -  (符号运算符)
    * / // %
    + - 加减
    <<  >>
    &
    ^
    |
    == != >  >=  <  <=
    is  is not
    not
    and
    or

'''
'''
变量
运算符



语句:
条件判断语句
循环语句
跳转语句

条件语句:(判断)
应用场景:
1. 用户名和密码登录
2. 用户登录验证(看影院信息,判断用户是否登录了,没有登录弹窗口,登录看到信息)
  
  
if 条件:
   条件成立执行的语句


'''

username='admin'  # 没有登录
# password=''
# python: 判断的变量是''  0  None 默认是False
# python: 如果变量有值'abc','kkkk','yueryu',认为是True   

if username:  # 'admin'!=''  True   如果条件运算结果是True则进入内层
	print('嘿嘿!我登录啦!')

print('-------------')


num =9 

if num:
	print('------>',num)



'''
if num:
	print('.....')

等效:

if num!=0:
	print('.....')

'''

'''
练习:
如果年龄大于18  并且  输入le姓名,则打印xxx今年xxx岁

'''

# age = int(input('输入年龄:'))
# username=input('输入用户名')

# if age>18 and  username:  # True and False --->False
# 	print('{}今年{}岁了!'.format(username,age))


# print('---game over----')


'''
if 判断的第二种使用方式:

if 表达式(条件):
	条件成立
else:
	条件不成立执行的语句

注意:添加缩进  一个tab

'''

'''
需求:
  消消乐
    lv1
    lv2
 

  lv1:  免费玩 随便玩

  lv2:  充值  买道具  继续玩


'''

# print('*'*10,'欢迎来到消消乐','*'*10)
# level = input('请输入你的级别(lv1,lv2):')
# if level=='lv1':
# 	print('免费玩 随便玩')
# else:
# 	print('已经进入付费级别,充值继续玩')
# 	money = int(input('请充值(必须是100的倍数):'))
# 	# if 语句是允许嵌套,注意缩进问题
# 	if money%100==0 and money>0:
# 		print('充值成功!充值金额是:',money)
# 	else:
# 		print('充值失败,充值金额必须是100的倍数!')


'''
 if 条件1:
 	 成立
 	 if 条件2:
 	 	 成立
	 else:
	 	 不成立
 else:
 	 不成立
 	 if 条件3:
 	 	 成立
	 else:
	 	 不成立

'''
# 随机数:
import random

# print(random.randint(1,10))

'''
猜大小

步骤:
1. 系统产生一个随机数
2. 键盘输入一个数
3. 将系统产生的与键盘输入的进行比较
4. 猜对了,中大奖  猜错啦  拜拜下次再来

'''
# ran = str(random.randint(1,10))   # 8
# num =input('请输入(1-10)之间的随机:')  # '8'


# # print(8 =='8')
# if ran == num:
# 	print('恭喜中大奖啦!奖品是:笔记本')
# else:
# 	print('很遗憾你猜错啦!与奖品擦肩而过~~~')


'''

多层条件判断:
if 100-90:
	优+
elif 90-80
    优-
elif  80-70
    良
elif  70-60
   及格
else
   不及格


'''

age = int(input('请猜猜宋宋姐年龄:'))

if age <= 18 and age>0:
	print('(o゜▽゜)o☆[BINGO!] 太有眼光啦!')
elif age>18 and age<=30:
	print('人家还是宝宝呢.....')
elif age>30 and age<=40:
	print('长得太年轻了吧!!!!')
else:
	print('输入错误!')


'''
4种:

if 条件:
	  语句

----------
if 条件:
	语句
else:
	语句

----------

if 条件1:
	.....
	if 条件2:
		语句
	else:
		语句
else:
	.....

-----------
if 条件1:
     语句
elif 条件2:
	语句
elif 条件3:
	....
else:
	语句



'''
'''
变量
运算符



语句:
条件判断语句
循环语句
跳转语句

条件语句:(判断)
应用场景:
1. 用户名和密码登录
2. 用户登录验证(看影院信息,判断用户是否登录了,没有登录弹窗口,登录看到信息)
  
  
if 条件:
   条件成立执行的语句


'''

username='admin'  # 没有登录
# password=''
# python: 判断的变量是''  0  None 默认是False
# python: 如果变量有值'abc','kkkk','yueryu',认为是True   

if username:  # 'admin'!=''  True   如果条件运算结果是True则进入内层
	print('嘿嘿!我登录啦!')

print('-------------')


num =9 

if num:
	print('------>',num)



'''
if num:
	print('.....')

等效:

if num!=0:
	print('.....')

'''

'''
练习:
如果年龄大于18  并且  输入le姓名,则打印xxx今年xxx岁

'''

# age = int(input('输入年龄:'))
# username=input('输入用户名')

# if age>18 and  username:  # True and False --->False
# 	print('{}今年{}岁了!'.format(username,age))


# print('---game over----')


'''
if 判断的第二种使用方式:

if 表达式(条件):
	条件成立
else:
	条件不成立执行的语句

注意:添加缩进  一个tab

'''

'''
需求:
  消消乐
    lv1
    lv2
 

  lv1:  免费玩 随便玩

  lv2:  充值  买道具  继续玩


'''

# print('*'*10,'欢迎来到消消乐','*'*10)
# level = input('请输入你的级别(lv1,lv2):')
# if level=='lv1':
# 	print('免费玩 随便玩')
# else:
# 	print('已经进入付费级别,充值继续玩')
# 	money = int(input('请充值(必须是100的倍数):'))
# 	# if 语句是允许嵌套,注意缩进问题
# 	if money%100==0 and money>0:
# 		print('充值成功!充值金额是:',money)
# 	else:
# 		print('充值失败,充值金额必须是100的倍数!')


'''
 if 条件1:
 	 成立
 	 if 条件2:
 	 	 成立
	 else:
	 	 不成立
 else:
 	 不成立
 	 if 条件3:
 	 	 成立
	 else:
	 	 不成立

'''
# 随机数:
import random

# print(random.randint(1,10))

'''
猜大小

步骤:
1. 系统产生一个随机数
2. 键盘输入一个数
3. 将系统产生的与键盘输入的进行比较
4. 猜对了,中大奖  猜错啦  拜拜下次再来

'''
# ran = str(random.randint(1,10))   # 8
# num =input('请输入(1-10)之间的随机:')  # '8'


# # print(8 =='8')
# if ran == num:
# 	print('恭喜中大奖啦!奖品是:笔记本')
# else:
# 	print('很遗憾你猜错啦!与奖品擦肩而过~~~')


'''

多层条件判断:
if 100-90:
	优+
elif 90-80
    优-
elif  80-70
    良
elif  70-60
   及格
else
   不及格


'''

age = int(input('请猜猜宋宋姐年龄:'))

if age <= 18 and age>0:
	print('(o゜▽゜)o☆[BINGO!] 太有眼光啦!')
elif age>18 and age<=30:
	print('人家还是宝宝呢.....')
elif age>30 and age<=40:
	print('长得太年轻了吧!!!!')
else:
	print('输入错误!')


'''
4种:

if 条件:
	  语句

----------
if 条件:
	语句
else:
	语句

----------

if 条件1:
	.....
	if 条件2:
		语句
	else:
		语句
else:
	.....

-----------
if 条件1:
     语句
elif 条件2:
	语句
elif 条件3:
	....
else:
	语句



'''

 

你好:我的2025