print('Hello') #输出hello
'''
这里可以写多行注释
以下代码为输出“hello”
'''
print('Hello')
a = 'Hello' #先赋值给变量a,此处a为‘Hello’字符串
print(a) #Hello
a = 3
b = a.bit_length()
print(b) #2
import decimal #import package 引入包
from decimal import Decimal
decimal.getcontext().prec=4
c = Decimal(1) / Decimal(3)
print(c)
# 0.3333
import package —— 引入package
dir(package) —— 查看package里的方法
a = "Hello"
b = " World"
print(a+b) #Hello World
a = bool(0)
b = bool(0.0)
c = bool(1)
d = bool(2)
e = bool([0])
f = bool([1])
g = bool([])
print(a,b,c,d,e,f) #False False True True True True False
查看数据类型:
a = 3
print(type(a)) #
print(isinstance(a,int)) #True
数据类型转换:
int(x,base=10)
str(object=’ ')
float(x)
如果字符串是数字,可以转为int或float,如果字符串有字母或其他,则不可以转。
3.逻辑运算符
a = "hello"
b = "hello"
print(a is b, a == b) # True True
print(a is not b, a != b) # False False
【例子】比较的两个变量均指向可变类型。
a = ["hello"]
b = ["hello"]
print(a is b, a == b) # False True
print(a is not b, a != b) # True False
注意:
二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。
原码:二进制表示
反码:整数的反码是原码,负数的反码是符号位不变,其余取反
补码:正数的补码就是原码,负数的补码就是反码+1。
(最高位为符号位,0是整数,1是负数)
原码:
00 00 00 00 11 —— 3
10 00 00 00 11 —— -3
反码:
00 00 00 00 11 ——3
11 11 11 11 00 —— -3
补码:
00 00 00 00 11 —— 3
11 11 11 11 01 —— -3
位运算:
位非 ~ 0和1取反,有符号也取反
位与 & 两个对应位都为1才取1
位或 | 两个对应位有1就取1
位异 ^ 两个对应为不同时取1
位左<< num< 位右 >> num>>i 代表num二进制向右i位
利用位运算实现快速计算 a & (-a) 快速获取a的最后为1的位置的整数 利用位运算实现整数集合 集合之间的操作: a 补 -> ~a break 语句 continue 语句 pass 语句 推导式
n<<1——n2
n>>1——n/2,负奇数运算不可用
n<
n>>m——n/(2^m)
1<
a | (1< 把 i 插入到集合中
a & ~(1< 把 i 从集合中删除
a & (1< 判断 i 是否属于该集合(零不属于,非零属于)
a 交 b -> a & b
a 并 b -> a | b
a 差 b -> a & (~b)
注意:整数在内存中是以补码的形式存在的,输出自然也是按照补码输出。
条件语句
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。循环语句
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1)) # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
break语句可以跳出当前所在层的循环。
continue终止本轮循环并开始下一轮循环。
不做任何事
[ expr for value in collection [if condition] ]
( expr for value in collection [if condition] )
{ key_expr: value_expr for value in collection [if condition] }异常处理
except后要接错误类型,不然不执行
finally:不管结果如何都执行的语句
else:如果没有异常执行的代码
Python 使用raise语句抛出一个指定的异常。try:
raise NameError('HiThere')
except NameError:
print('An exception flew by!')
# An exception flew by!