Python一个 高级语言    

2017-09-19

1.1  Python背景简介(感谢伟大的廖雪峰大佬带我们走上一条光头路,嘿嘿)

写了大半年Python代码,感觉收获不是很大,都是现学现卖,没有系统的了解过这个语言究竟是什么样的,从头学一遍

提升一下。

Python的来源

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 

Python适用对象

  c语言与Python对比:

    c比较适合编写操纵系统等追求内存使用,能充分发挥硬件性能要要求高的程序;

    Python 适合编写应用程序,web,爬虫,sdn等敏捷开发的需求(例如YouTube、Instagram,还有国内的豆瓣。很多大公司,

包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。);

python的缺点

(一)、Python是解释性语言,运行之前需要cpu进行解释执行,c和Java在编译后直接运行机器码就好;

(二)、Python发版不能加密,这也是由于它是解释性语言

    Python解释器: 官方解释器->cpython 在安装Python后就拥有cpython解释器,它由c编写完成,在命令行输入Python后就调

用cpython解释器,我们所有代码豆油cPython解释执行;Python解释器分为多种,我们用到的基本都是cpython。

1.2 Python中的变量:

  Python是动态语言,可以将任意数据类型值赋给变量,可多次赋值

  1.2.1 内存机制:

    创建一个变量

a=1

Python解释器将在 : 1、内存中创建一个名为a的变量,

             2、内存中创建一个变量 1 。

               3、将a指向1

   

    也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:

    
a = 'ABC'
b = a
a = 'XYZ'
print(b)

    最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出ba相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:

    执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC'

    

    执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC'

    

    执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

    

    所以,最后打印变量b的结果自然是'ABC'了。

Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

Python有五个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

其中属于集合类型的数据类型有 列表、元组及字典

2.1 Python字符串

  在Python3中,字符串以Unicode为编码格式,所以Python支持多语言。

  对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

3、python 中的拷贝

引用和copy(),deepcopy()的区别

import copy
a = [1, 2, 3, 4, ['a', 'b']] #原始对象 b = a #赋值,传对象的引用
c = copy.copy(a) #对象拷贝,浅拷贝
d = copy.deepcopy(a) #对象拷贝,深拷贝 a.append(5) #修改对象a
a[4].append('c') #修改对象a中的['a', 'b']数组对象 print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d 输出结果:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]

4、Python的is 和 ==的区别

is 比较内存地址 == 比较值

最新文章

  1. div css 自适应
  2. 在做excel导出时如何将excel直接写在输出流中
  3. iOS5中UIViewController的新方法
  4. TextView实现圆角效果
  5. Codeforces Round #198 (Div. 2)
  6. UAT 环境
  7. NABCD分析
  8. C#算法基础之冒泡排序
  9. python文件_目录
  10. 【iOS技术】Xcode+GitHub远程代码托管(GIT, SVN)
  11. 【转】Python装饰器与面向切面编程
  12. 关于spring定时任务被多次调用的问题
  13. 《java入门第一季》之面向对象多态面试题(多态收尾)
  14. kvm虚拟机管理基础
  15. 从零开始学习Java多线程(三)
  16. 【Oracle】使用bbed手动提交事务
  17. 用python.twisted.logfile每天记录日志,并用不记录stdout中的内容
  18. flask信号使用
  19. php.ini配置说明
  20. 硬盘分区表知识——详解硬盘MBR (转)

热门文章

  1. showdoc app接口文档编写利器
  2. 20175209 《Java程序设计》第七周学习总结
  3. Centos7.2正常启动关闭CDH5.16.1
  4. Python:python抓取豆瓣电影top250
  5. String构造函数
  6. less封装样式有规律的类选择器-遁地龙卷风
  7. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
  8. 爬虫 解析库re,Beautifulsoup,
  9. iView -- TimePicker 自定义修改时间选择器选择时间面板样式
  10. css3兼容360