Python(3)基础知识

Python基础

基础知识介绍

# -*- coding: utf-8 -*-  

print '''fadsfsadf
fdsafsd  fgsga  gagdas''' # 可以打印

a,b,c,d=(1,2, # 括号换行,多元赋值
    3,4)

print b

if  (a==1) and \
    (b==1):
    pass

import sys; x='foo';sys.stdout.write(x + '\n' + x)

x=y=z=1 #多重赋值

内存管理

变量无需事先声明
变量在第一次赋值时自动声明,变量只有在创建和赋值后才能被使用。

变量无需指定类型
对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码,但是python仍然是一种解释型语言。

不用关心内存管理
python解释器承担了内存管理的复杂任务

变量名会被回收
del 语句能够直接释放资源

引用计数

python内部记录着所有使用中的对象各有多少引用;
一个内部跟踪变量,称为一个引用计数器;
每个对象各有多少引用,称为引用计数;
当对象被创建时,就创建了一个引用计数,当这个对象不再需要时,也就是说这个对象的引用计数为0时,被垃圾回收。
1. 增加引用计数
增加引用计数的场景

x=3.14        # 对象被创建
y=x           # 别名被创建
foobar(x)     # 被作为参数传递给函数
mlist=[123,x] # 成为容器对象的一个新元素
  1. 减少引用计数
# 一个本地引用离开其作用范围
del y # 对象的别名被显示销毁
x=123 # 对象的别名被付给其他对象
foo ='xyz'
bar=foo
foo=1234
mlist.remove(x) # 对象从一个窗口对象中移除
del x #窗口对象本身被销毁
  1. 垃圾收集

不再使用的内存会被一种称为垃圾收集的机制释放,解释器跟踪对象的引用计数,垃圾收集器负责释放内存。
垃圾收集器会寻找引用计数为0的对象和被分配的总量很大的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值