python缩进的用途_2.python部分语法及特性

缩进

python使用空格或tab缩进,推荐使用四个空格(有些文本编辑器自动使用4个空格替代tab)

分号 ; 用于分隔同一行的不同句子

a=1, b=2,c=3

注释

单行注释用 # comments

也可使用单引号' 双引号" 三引号(三个单引号或三个双引号)'''.三引号用于跨行使用.跨行注释不支持嵌套

赋值

'增量赋值'

a = 0; a+=1 '等同于a=a+1'

out: a=1

'链式赋值'

a=b=1 #从左往右

'多重赋值'

x,y=1,2

y,x=x,y

out: x=2, y=1

比较运算

'连续比较'

1<2<3 '等同1<2 and 2<3'

out: true

变量与引用

python中创建变量事实上创建的是object和reference

变量为不可变类型的数字和字符串,python创建不同reference对应固定object;变量为可变类型的字典和列表时,python会创建不同的object

23cd085f0962

可变列表.png

23cd085f0962

不可变数字.png

23cd085f0962

简单示意.png

变量作用域

python同名变量内层屏蔽外层

内层找到变量后就不会再往外找,也是从小范围到大范围找

当前作用域

分开举例便于理解(其实是一样的)

不可变

x=1 #此处为全局变量

def func(num):

x=num+1; print(x,end=',')

func(1) '在自定函数func中x=2并输出,结束后x的临时值删除'

print(x) '最终x=1'

out:

2,1

'若想在函数内更改全局变量x的值需声明'

def func(num):

global x

'''声明 nonlocal x 就从外层作用域开始找x (不包括全局)

声明 global x 就从全局变量找

找不到报错 no binding'''

可变

a = [0,1];print(a)

def append(lists,b):

'''这个位置print(a)可以运行,print(x)会报错UnboundLocalError,原因见下'''

lists.append(b)

append(a,2)

print(a)

out:

[0,1]

[0,1,2]

23cd085f0962

变量作用域.png

a指向的是被改为[0,1,2]的object,仍存储在同一内存地址,只有引用过程,没有赋值过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值