多段代码赋值
简单的斐波那契队列的练习
a, b = 0, 1
while b < 10:
print(b)
a, b = b, a+b
python中的多变量赋值可以分解为:
n = b
m = a + b
a = n
b = m
end关键字
关键字 end 可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:
a, b = 0, 1
while b < 1024:
print(b, end=',')
a, b = b, a+b
输出结果为:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
基本数据类型
number(不可变)
number类型包括int,float,boolean和complex等数据类型 例如:
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
<class 'int'><class 'float'><class 'bool'><class 'complex'>
type vs isinstance
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型
>>>a=111
>>>isinstance(a,int)
True
>>>
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> isinstance(A(), A)
True
>>> type(A()) == A
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False
pass关键字
pass
关键字在 Python 中的作用是作为一个空操作的占位符。当语法上需要一个语句,但是程序逻辑不需要执行任何操作时,可以使用pass
关键字。它通常用于以下情况:
占位符:在定义类、函数或控制结构(如
if
、for
、while
等)时,如果你还没有决定要实现的内容,可以使用pass
作为占位符。python
class MyClass: pass # 未来要实现的类 def my_function(): pass # 未来要实现的函数 if True: pass # 未来要实现的条件
避免语法错误:当代码块(如
if
语句或循环)需要至少一条语句时,使用pass
可以避免 Python 报错。例如,在条件语句中,如果没有pass
,代码将因为缺少语句而抛出IndentationError
或SyntaxError
。python
if x > 10: pass # 处理逻辑尚未实现
定义抽象方法:在定义抽象方法时,我们可能希望给出一个占位符,而不是立即实现它。这通常出现在类中。
python
from abc import ABC, abstractmethod class AbstractClass(ABC): @abstractmethod def my_method(self): pass # 子类需要实现这个方法
综上所述,
pass
关键字是一个非常实用的工具,可以帮助开发者在编写代码时保持结构和清晰度,同时暂时占用位置,便于后续的开发和维护。
del 语句
使用 del语句可以删除对象引用
del var
del var_a, var_b
string(不可变)
Python 中的字符串 str 用单引号(' ')或双引号 (" ") 括起来,同时使用反斜杠 (\) 转义特殊字符。
>>> s = 'Yes,he doesn\'t'
>>> print(s, type(s), len(s))
Yes,he doesn't <class 'str'> 14
如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> print('C:\some\name')
C:\some
ame
>>> print(r'C:\some\name')
C:\some\name
另外,反斜杠可以作为续行符,表示下一行是上一行的延续。还可