180127—【Python初识】Python基础知识 D3

按:


 - Python是世界上可读性最好的语言之一。
 - Python的作者对在此之前的主流编程语言有多年研究,Python是其综合了多种语言优点之后的产物,这意味着:它的人性化程度令人大声称快。
                      ------By  me·斯基

Python开发环境

不同于C类编译性语言,Python属于解释性语言,这意味着它并不需要“编译”这一过程,所以不必像之前在C++那样找一个ide才能写代码。
几乎所有人都在推荐Python在安装之后自带的两个开发工具 : 交互解释器和IDEL。
在安装完毕之后,就在那个文件夹中可以找到一个以Python命名的应用程序文件,运行界面为:这里写图片描述
其功能和实现效果类似于windows的cmd窗口,以及之前一直泡在路由器里的配置窗口,交互解释器,顾名思义,可以一行行地执行你的命令。这对于初学者来说,如果想要实验某个语法的话,实在有天大的好处。
另外一个IDEL,一开始死活没有找到,百度之后怀疑自己是装的时候搞错了,一打开开始菜单,发现安静地躺在最近添加里。。
这里写图片描述
看界面就知道这个东东比前一个功能强大的多,有待于发现和学习。

Python入门

语句和语法:
  • 注释:#:注释表达与C++相似,#之后的整行会被当作注释不被执行。
  • 继续:\ :允许跨行,但跨行得加个 \ 来表示换行分隔。
  • 一行多句::在C++里被忘记千千万万次每次都靠着编译器报错才想起来的分号,在Python中不再需要了,事实上,Python中一个语句的终结不需要任何标点。但如果要在一行之中写多句,需要分号。
  • 缩进分隔:另外一个与C相比的不同是,无论是函数体还是循环体,大括号都不再存在,“神圣的大括号战争”将成为历史,Python仅使用不同的缩进方式来表示代码的块和优先级。且推荐的缩进是 4个 。(提到不推荐使用制表符,这里还捎带学到了Tab的功能。)
  • 代码组:暂时没看懂,存疑。
变量赋值:

Python依旧使用“=”作为赋值操作符。
但是这里的赋值不是简单的将一个值赋给一个变量:

在Python语言之中,对象是通过引用传递的,在复制时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。

再往后会接触到,Python可以自己承担起内存分配和回收的任务,其中的引用计数机制与此处似有瓜葛。
从2.0之后,在Python之中也可以使用类似:

*=    +=   -=  

等符号,这些被称为“增量赋值”。
但在C++当中被用来承担试卷控分任务的 “++”,“–”。自增/减符号在Python中不再存在。–a,会被解释为“-(-a)”,即a本身。(是不是很人性!)

多元赋值:
>>> x,y,z=1,2,3
>>> x,y,z
(1, 2, 3)

其中x,y,z其实组成了一个元组(和数组什么联系?马上会知道的)
所以如果想提高可读性的话,可以加上圆括号,变成:

>>> (x,y,z)=(1,2,3)
交换两个变量的值:

在c++中,如果你想交换两个量的值,就必须引入一个经常被命名为temp或t的暂时量作为传递。
但是,但是!Python的多元赋值不需要中间量就可以完成这一工作!
这里写图片描述
机制暂时不明。。

内存管理:
变量定义:
  • Python的变量无需事先定义或声明,也不需要事先指定类型。
  • Python变量在第一次赋值之后根据被赋值的类型获得自己的类型。也就是说,这里变量的类型是动态的。
  • 变量在被赋值之前不可使用。
  • 基于以上,新变量的引入不再有位置的限制,“热插拔”。
内存回收:

Python自主承担了内存回收的任务,其主要的实现需要引用计数机制

引用计数:

在引用计数中,每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资源。

有点类似TCP协议中为了防范环路而设置的TTL值。
前面已经说过,对一个变量的赋值不是简单的将值传递给他,而是借助引用。一个量的每次引用将会被记录,即引用计数加一,等到这个量不再需要,即引用计数为0时,将被清除。
引用计数增加情况:

  • 对象被创建并被引用赋值给其他变量时;
  • 对象的另一个别名被创建时;
  • 作为参数传递给函数时;
  • 称为容器对象的一个元素时。

    减少:

  • 对象别名被显示销毁;

  • 对象脱离本身的作用域(比如局部变量在函数结束时);
  • 变量被赋值给另一个对象。
del语句:

该语句可以直接删除一个对象,也可以减少这个对象使用的引用对象的引用计数。

当然,Python还有其他机制来辅助进行垃圾收集和内存回收。

其他不知道该怎么分类的:

  1. Python: 蟒蛇,巨蛇。
  2. 我们抛弃了C++里对分号的无名执着。
  3. 不使用一个套一个的方括号。
  4. if和while的条件语句不再需要括号。
  5. python是一种动态语言,因此它的变量的定义是即用即定义的,它的类型不许要在定义时给出,而是随着赋值而确定。
  6. print语句会默认给每一行输出的内容加一个换行符,你看人家这个默认!!,注意print只是个语句,不是函数。。和C++里的cout是一个层次~
  7. 事实上,Python长整型的示数范围只受电脑虚拟内存的影响。
  8. Python是一种解释性语言,这意味着开发过程中没有了编译这一环节,一般来说,纯粹的解释性语言通常比编译性语言运行得慢,但是Python是字节编译的,其结果就是可以生成一种近似于机器语言的中间形式,这不仅改变了其性能,也保持其解释性语言的优点。
  9. >>>和… 是Python正在运行的标志。
  10. Python允许在运行的时候检测错误,当出现一个错误时,Python解释器就会引发一个异常,并显示异常的详细信息,程序员可以由此迅速定位问题并且进行调试,并找出处理问题的办法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值