(1)Python基础入门:从变量到异常处理

1.运算符

操作符名称示例结果
/除法3 / 40.75
//地板除(取整数部分)3 // 40
<<左移,移一位效果相等于”乘以2“4<<216
>>右移,移一位效果相当于“除以2”4>>21
  • isnot is比较的是内存地址

  • =!=比较的是变量的值

  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等
    价的。

  • 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的

2.位运算

  • 注意: Python中 bin 一个负数(十进制表示),输出的是它的原码的二进制表示加上个负号,巨坑。
  • 所以为了获得负数(十进制表示)的补码,需要手动将其和十六进制数 0xffffffff 进行按位与操作,再交给 bin() 进行输出,得到的才是负数的补码表示。

3.条件语句

#1 if 
if condition:
    do something
    
#2 if-else
if condition :
    do sth1
else:
    do sth2
    
#3 if-elif-else
if condition1 :
    do sth1
elif sondition2 :
    do sth2
else :
    do sth3
    
    
#4 assert
#assert 断言。当该关键词后边的条件为false时,程序自动崩溃并抛出AssertionError的异常
#通常用来置入检查点,只有条件为True才正常工作

4.循环语句

#1  while
while condition :
    do sth
    
#2  while-else
#  当while语句循环正常结束时,执行else语句。
#  如果while语句中途执行了跳出循环的语句,如break,则不执行else代码块的语句
while condition :
    do sth1
else:
    do sth2
    
#3  for
for 迭代变量 in 可迭代对象:
    do sth
    
#4  for-else
#  当for语句循环正常结束时,执行else语句。
#  如果for语句中途执行了跳出循环的语句,如break,则不执行else代码块的语句
#  与while-else类似
for 迭代变量 in 可迭代对象:
    do sth1
else :
    do sth2
#5  range()



#6  enumerate()
enumerate(sequence, [start=0])
#sequence,一个序列、迭代器或其他可迭代对象
#start:下表起始位置
#返回enumerate(枚举)对象(index,‘对象’)


#7  pass
#不做任何事,但是要占个位置

#8  推导式

#列表推导式
#[ expr for value in collection [if condition] ]
x = [[i, j] for i in range(0, 3) for j in range(0, 3)]
print(x)
# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]


#元组推导式
#( expr for value in collection [if condition] )
a = (x for x in range(10))
print(a)
# <generator object <genexpr> at 0x0000025BE511CC48>
print(tuple(a))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

#字典推导式
#{ key_expr: value_expr for value in collection [if condition] }
b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}


#集合推导式
#{ expr for value in collection [if condition] }
c = {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}



5.异常处理

#1 try-except
#一个try语句可以跟多个except语句
try :
    监测范围
except Exception[as reson]:
    异常处理
    
try:
f = open('test.txt')
print(f.read())
f.close()
except OSError:
print('打开文件出错')
# 打开文件出错
    
    
#2 try - except - finally
try:
	检测范围
except Exception[as reason]:
	出现异常后的处理代码
finally:
	无论如何都会被执行的代码

    
def divide(x, y):
	try:
		result = x / y
		print("result is", result)
	except ZeroDivisionError:
		print("division by zero!")
	finally:
		print("executing finally clause")

        
divide(2, 1)
# result is 2.0
# executing finally clause
divide(2, 0)
# division by zero!
# executing finally clause
divide("2", "1")
# executing finally clause
# TypeError: unsupported operand type(s) for /: 'str' and 'str'




#3 try - except - else
try:
	检测范围
except:
	出现异常后的处理代码
else:
	如果没有异常执行这块代码

try:
	fh = open("testfile.txt", "w")
	fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
	print("Error: 没有找到文件或读取文件失败")
else:
	print("内容写入文件成功")
    fh.close()
    
# 内容写入文件成功



#4 raise
# raise语句抛出一个指定的异常
try :
    raise NameError('HiThere')
except NameError as er:
    print('An exception flew by!',repr(er))

#An exception flew by! NameError('HiThere')


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值