快捷键
- Enter : 转入编辑模式
- Shift-Enter : 运行本单元,选中下个单元
- Ctrl-Enter : 运行本单元
- Alt-Enter : 运行本单元,在其下插入新单元
- Y : 单元转入代码状态
- M :单元转入markdown状态
- A : 在上方插入新单元
- B : 在下方插入新单元
- X : 剪切选中的单元
- C : 复制选中的单元
- D,D : 删除选中的单元
- Shift-M : 合并选中的单元
1注释
print("Hello world")
Hello world
- “”" “”" 或’’’ ‘’’ 表示区间注释
"""
多行注释
多行注释
"""
print("hello china")
hello china
2运算符
算数运算符
- 操作符 名称 实例
-
- 加 1 + 1
-
- 减 2 - 1
-
- 乘 3*4
- / 除 3/4
- // 整除 3//4
- % 取余 3%4
- ** 幂 2**3
print(1 + 1)
print(2 - 1)
print(3 * 4)
print(3 / 4)
print(3 // 4)
print(3 % 4)
print(2 ** 3)
2
1
12
0.75
0
3
8
比较运算符
- 操作符 名称 示列
- /> 大于 2>1
- />= 大于等于 2>=4
- < 小于 1 < 2
- <= 小于等于 5<= 2
- == 等于 3 == 4
- != 不等于 3 != 5
print(2 > 1)
print(2 >= 4)
print(1 < 2)
print(5 <= 2)
print(3 == 4)
print(3 != 5)
True
False
True
False
False
True
逻辑运算符
- and 与
- or 或
- not 非
print((3 > 2) and (3 < 5))
print((1 > 3) or (9 < 2))
print(not(2 > 1))
True
False
False
位运算符
"""
- 名称 操作符
- 按位取反 ~
- 按位与 4 & 5
- 按位或 4 | 5
- 按位异或 4 ^ 5
- 左移 4 << 2
- 右移 4 >> 2
"""
'\n\n- 名称 操作符\n- 按位取反 ~\n- 按位与 4 & 5\n- 按位或 4 | 5\n- 按位异或 4 ^ 5\n- 左移 4 << 2\n- 右移 4 >> 2\n\n'
三元运算符
x, y = 4,5
if x < y:
small = x
else:
small = y
print(small)
4
其他操作符
- in 存在 ‘A’ in [‘A’ ,‘B’,‘C’]
- not in 不存在 ‘h’ not in [‘A’ ,‘B’,‘C’]
- is 是 “hello” is “hello”
- is not 不是 “hello” is not “hello”
letters = ['A' , 'B', 'C']
if 'A' in letters:
print('A' + 'exists' )
if 'h' not in letters:
print('h' + 'not exists')
Aexists
hnot exists
#比较的两个变量均指向不可变类型
a = "hello"
b = "hello"
print(a is b , a == b)
print(a is not b, a != b)
True True
False False
#比较的两个变量均指向可变类型
a = ["hello"]
b = ["hello"]
print(a is b , a == b)
print(a is not b, a != b)
False True
True False
- is is not 对比的是两个变量的内存地址
- ==,!= 对比的是两个变量的值
- 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和== , != 是完全等价的。
- 对比的两个变量,指向的是地址可变的类型(list ,dict等),则两者是有区别的。
运算符的优先级
- 一元运算符优于二元运算符。
- 先算数运算,后位移运算,最后位运算。
- 逻辑运算最后结合
变量和赋值
teacher = "培训好累"
print(teacher)
培训好累
first = 2
second = 3
thrid = first + second
print(thrid)
5
myToday= "今天培训好累"
yourToday = "累并快乐着"
ourToday = myToday+ ',' + yourToday
print(ourToday)
今天培训好累,累并快乐着
数据类型与转换
- 整型 int
- 浮点型 float
- 布尔型 bool
#整形
a = 1000
print(a,type(a))
1000 <class 'int'>
b = dir(int)
print(b)
"""
Python 里面万物皆对象(object),整型也不例外,
只要是对象,就有相应的属性 (attributes) 和方法(methods)。
"""
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
'\nPython 里面万物皆对象(object),整型也不例外,\n只要是对象,就有相应的属性 (attributes) 和方法(methods)。\n'
a = 1001
print(bin(a))
print(a.bit_length())#找到一个整数的二进制表示,再返回其长度
0b1111101001
10
#浮点型
print(1,type(1))
print(1.,type(1.))
a = 0.000000023
b = 2.3e-8
print(a)
print(b)
1 <class 'int'>
1.0 <class 'float'>
2.3e-08
2.3e-08
#有时候我们想保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。
import decimal
from decimal import Decimal
"""
Python 里面有很多用途广泛的包 (package),用什么你就引进 (import) 什么。包也是对象,
也可以用上面提到的dir(decimal) 来看其属性和方法。
"""
'\nPython 里面有很多用途广泛的包 (package),用什么你就引进 (import) 什么。包也是对象,\n也可以用上面提到的dir(decimal) 来看其属性和方法。\n'
a = decimal.getcontext()
print(a)
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
b = Decimal(1) / Decimal(3)
print(b)
0.3333333333333333333333333333
#用 getcontext().prec 来调整精度。
decimal.getcontext().prec = 4
c = Decimal(1) / Decimal(3)
print(c)
0.3333
布尔型
- 布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量 用在数字运算中,用 1 和 0 代表 True 和 False。
print(True + True)
print(True + False)
print(True * False)
2
1
0
- bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,其余就是 False。
print(type(0),bool(0),bool(1))
<class 'int'> False True
- bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。
print(type(''), bool(''),bool('python'))
- type(opject)获取类型信息
print(type(1))
<class 'int'>
- isinstance(object, classinfo) 判断一个对象是否是一个已知的类型。
print(isinstance(1,int))
print(isinstance(5.2,float))
print(isinstance(True,bool))
print(isinstance('5.2',str))
True
True
True
True
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
类型转换
- 转换为整型 int(x, base=10)
- 转换为字符串 str(object=’’)
- 转换为浮点型 float(x)
print()函数
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)