- 块级作用域
if True: a = 250 # 在代码块内部定义的变量可以在代码块外部使用 # 说明没有块级作用域 print(a)
- 局部作用域
def test(): b = 100 test() # 函数内部定义的变量只能在函数内使用 # 说明有局部作用域,外部使用会报错 # print(b)
- 全局作用域
c = 200 def show(): # 声明使用全局变量,然后就可以随意使用了 global c # c = 100 # 这样相当于定义了新的局部变量 # 函数内部可以使用全局变量,但是不能修改 print('in func show:', c) c = 100 show() print(c)
nonlocal
def wai(): d = 200 def nei(): # 若想修改外部函数的局部变量,需要使用nonlocal进行声明 nonlocal d # d = 300 # 这样相当于定了局部变量 # 内部函数中可以使用外部函数的局部变量,但是不能改 # d += 100 print(d) d += 100 nei() print(d) wai()
类型判断
- 示例:
a = 100 print(type(a)) # if type(a) == int: # 与特定的类型对比 # if type(a) == type(123): # 与已知的类型对比 if isinstance(a, int): # 使用专门的类型判断函数,是返回True,不是返回False print(a, '是整型变量') def test(): pass print(type(test)) # 不能使用这种方式判断是否是函数 # print(isinstance(test, function)) # 使用专门的函数进行判断,是返回True,不是返回False from inspect import isfunction print(isfunction(test)) # 判断一个对象是否可以调用,能够调用的不一定都是函数 print(callable(test)) print(callable(a))
练习:
- 前面的练习试着封装成函数
- 删除列表中重复的元素,保持元素顺序不变
- 统计一个字符串中数字、字母以及其他字符的个数,返回一个元组
- 完成列表的排序,能够支持升序和降序
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~