python基础学习(一)--数据类型

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'

    py-var-code-1

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

    py-var-code-2

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

    py-var-code-3

    所以,最后打印变量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 比较内存地址 == 比较值

 

 

 

 

posted @ 2018-12-06 18:36  jiuyang  阅读(169)  评论(0编辑  收藏  举报