python day 1

bool

数值变量
bool(a) = 0 while a = 0 or 0.0
容器变量
bool(a) = 0 while a is empty

获取类型信息

type(a) or isinstance(a,b)
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系

类型转换

转换为整型 int(x, base=10)
转换为字符串 str(object=’’)
转换为浮点型 float(x)

print函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

shoplist = ['apple', 'mango', 'carrot', 'banana']
print("This is printed with 'sep='&''.")
for item in shoplist:
    print(item, 'another string', sep='&')

#This is printed with ‘sep=’&’’.
apple&another string
mango&another string
carrot&another string
banana&another string

位运算

a & b —> 全部为1时 结果为1
a | b —> 一个为1 结果为1
a ^ b —> 两个数不同时 结果为1

异或的作用
1. 快速比较两个数的值
	a - b = 0 ----> a ^ b = 0
2. 判断一个二进制数的1的个数的奇偶
	将a中的每一位按位逐一进行异或,例如a=4'b1010,则b=1^0^1^0=0,
	由此可以判断a中为1的位数是奇数还是偶数,是一个便捷的操作
3. 不使用其他空间,交换两个值
	a = a ^ b b = a ^ b
4. 最最常出现的面试题:一个整型数组里除了N个数字之外,其他的数字都出现了两次,找出这N个数字
	将所有数都异或一边,就是结果
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字?
	思路: 第一步:肯定还是像我们上面的解法一样,所有数进行异或,不过最终得到的结果是 a 和 b(假设 a 和 b 是落单的数字)两个值的异或结果 aXORb,没有直接得到 a 和 b 的值;
	第二步:想办法得到 a 或者 b,假设 aXORb 为 00001001(F肯定不为0),根君 aXORb 的值我们发现,值为1的位(比如从右向左第一位)表示在此位上 a 和 b 的值不同;所以,根据这个特点,我们找出来所有第一位为1的数进行异或,得到的就是 a 或者 b;
	第三步:aXORb = a ^ b,假设我们已经找到了 a,根据异或特性,我们知道,b = aXORb ^ a;这样我们就可以找出 b;所以我们只需要循环两次;

条件语句

if 语句

if expression1:
    expr1_true_suite
elif expression2:
    expr2_true_suite
elif expressionN:
    exprN_true_suite
else:
    expr_false_suite

assert关键字
当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常
while 语句
while 布尔表达式:
代码块
else:
代码块
当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。
for语句
for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict

for 迭代变量 in 可迭代对象:
    代码块

range 函数
range([start,] stop[, step=1])
左闭右开
range(2,9, 2 )每两个输出
enumerate()函数

enumerate(sequence, [start=0])
- sequence:一个序列、迭代器或其他支持迭代对象。
- start:下标起始位置。
- 返回 enumerate(枚举) 对象

用 enumerate(A) 不仅返回了 A 中的元素,还顺便给该元素一个索引值 (默认从 0 开始)。此外,用 enumerate(A, j) 还可以确定索引起始值为 j。

for i, language in enumerate(languages, 2):
    print(i, 'I love', language)
print('Done!')
# 2 I love Python
# 3 I love R
# 4 I love Matlab
# 5 I love C++
# Done!

注意这个 循环的元素 i 和 language
try - except 语句

try:
    检测范围
except Exception[as reason]:
    出现异常后的处理代码
finally:
	要执行的代码

try 语句按照如下方式工作:

  • 首先,执行try子句(在关键字try和关键字except之间的语句)
  • 如果没有异常发生,忽略except子句,try子句执行后结束。
  • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try - except语句之后的代码。
  • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值