澳门在线威尼斯官方 > 澳门在线威尼斯官方 > Python基础定义

原标题:Python基础定义

浏览次数:76 时间:2019-10-22

  1. Python的解释器体系爬山涉水 
  • CPython:

    安装Python后,官方提供了四个Python解释器CPython,是通过C语言写的,在命令行下运转Python正是运行Cpython解释器,运用最广大的二个。

  • Ipython:

         基于Cpython之上的贰个解释器,跟Cpython大致,只可是在交互式上具备提升;

  • Jpython:

    用Java语言写的贰个python解释器,能够直接将python编写翻译成Java字节码运营;

  • PyPy:

    它的靶子是使python代码履行速度快,使用JIT技术完成的,对python动态编写翻译,

  • ironPython

    运营在微软的.net平台上

  2.Pythong变量:

      Python 中的变量没有必要申明。每一个变量在动用前都必需赋值,变量赋值以往该变量才会被制造。

    Python中的,全体大写的变量名代表常量

  3.python数据类型爬山涉水  

  • 布尔值:   (ture|false)
  • 数字:

    整型(int):

       在叁11位机器上,整数的位数为叁11个人,即爬山涉水-2**31~~2**31-1,即:-2147483648——2147483647

      在六拾四人机器上,整数的位数为六十二个人,即爬山涉水-2**63~~2**63-1,即:-2147483648——2147483647

              长整型(long):

                python中从不点名位宽,理论上能够特别大,但受限于内部存款和储蓄器;不过到python3中并未有long了,全部是正型了。

  • 浮点型(float):

    是有理数的四个一定子集的集结,Python中精度暗中同意只可以是21个人精度,全体的言语都是这么的,跟浮点数的仓库储存结构有涉及

    Python中的工具箱,有个decimal模块,getcontext(),此中prec定义的是精度,暗中认可是28,改之能够调。  

图片 1图片 2

 1 >>>from decimal import getcontext
 2 >>> from decimal import Decimal
 3 >>>getcontext()
 4 Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999999, Emax=999999999, capitals=1, flags=[], traps=[DivisionByZero, Overflow, InvalidOperation])
 5 >>> b = Decimal(1)/Decimal(3)
 6 >>> b
 7 Decimal('0.3333333333333333333333333333')  ///28个精度值
 8 >>> getcontext().prec = 50
 9 >>> b = Decimal(1)/Decimal(3)
10 >>> b
11 Decimal('0.33333333333333333333333333333333333333333333333333')   ////50个精度值。

decimal模块--扩充浮点数精度

 

  • 字符串

    在python中,加了引号的字符都被感觉字符串,多行用多引号(''' '''),注意字符串的拼凑只好是两岸皆以字符串,不能够跨数据类型;

  • 列表

    列表是多少的聚焦,能够存任何数据,能够增加和删除改查跋山涉水的近义词

         

图片 3图片 4

1)创建列表
>>> name = []    
>>> name
[]
>>> name = list()
>>> name
[]              ////定义空列表的两个方法;
>>> name = ['ming','long','mng','ting','jun','fei','xiang','fei','alex'] x

2)查询
>>> name[0]
'ming'
>>> name[3]
'ting'
>>> name[4]
'jun'           ////以上是查询列表里的值,其中0、3、4是列表里数据的索引,从0开始;
>>> name.index('ming')
0
>>> name.index('fei') 
5               ////查询列表里的数据位于列表哪个索引位置;

>>> name.count('ming')
1
>>> name.count('fei')
2              ////count() 是查询列表里某个数据重复了多少次;

3)增加列表数据
>>> name.append('xiangmin')
>>> name
['ming', 'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'xiangmin']  ////append()在列表最后边附加数据;

>>> name.insert(0,'qing')     
>>> name
['qing', 'ming', 'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'xiangmin']
>>> name.insert(-1,'wu')
>>> name
['qing', 'ming', 'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'wu', 'xiangmin']     ////insert()向索引的前面添加值    

4)删除
>>> name.pop(0)    
'qing'
>>> name
['ming',  'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'wu', 'xiangmin']      ////pop() 删除指定索引处的数据

>>> name.remove('tong')
>>> name
['ming', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'wu', 'xiangmin']
    /////reomve()删除指定的数据;

>>> name
['mng', 'ting', 'tong', 'wu', 'wu', 'xiang', 'xiangmin', ['JOHN', 'JAckson', 'a'], 'kun', 'fei', 'fei', 'alex']
>>> del name[2]   
>>> name
['mng', 'ting', 'wu', 'wu', 'xiang', 'xiangmin', ['JOHN', 'JAckson', 'a'], 'kun', 'fei', 'fei', 'alex']
>>> del name
>>> name
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined    ////del是全局删的,可以删列表里的值,也可以删列表;

5)排序
>>> name
['alex', 'fei', 'fei', 'kun', ['JOHN', 'JAckson'], 'mng', 'ting', 'tong', 'wu', 'wu', 'xiang', 'xiangmin']
>>> name.reverse()
>>> name
['xiangmin', 'xiang', 'wu', 'wu', 'tong', 'ting', 'mng', ['JOHN', 'JAckson'], 'kun', 'fei', 'fei', 'alex']    ////reverse() 反转,sort()排序;

6)拷贝
>>> name
['ming', 'ting', 'wu', 'wu', 'xiang', 'xiangmin', ['JOHN', 'JAckson'], 'kun', 'fei', 'fei', 'alex']
>>> name2 = name.copy()
>>> name2
['ming', 'ting', 'wu', 'wu', 'xiang', 'xiangmin', ['JOHN', 'JAckson'], 'kun', 'fei', 'fei', 'alex']     ////copy()  拷贝列表内容

7)修改
>>> name[0] = 'hong'
>>> name[6][0] = 'john'
>>> name
['hong', 'ting', 'wu', 'wu', 'xiang', 'xiangmin', ['john', 'JAckson'], 'kun', 'fei', 'fei', 'alex']
>>> name2
['ming', 'ting', 'wu', 'wu', 'xiang', 'xiangmin', ['john', 'JAckson'], 'kun', 'fei', 'fei', 'alex']     ////我们会奇怪发现,name2是name1的复制品,当name的索引为0处和嵌套的列表都有变化,为何name2的嵌套列表也会变化呢??不应该都不变吗?这是因为copy()只是浅浅copy,它只copy列表第一层的数据,至于嵌套的列表它复制的不是数据,是嵌套列表的内存地址空间,或者是一个内存指针;所以,当name嵌套列表数据变化时,name2里的找的是这个嵌套列表内存空间的值,所以name2的值也会发生变化。

8)切片
>>> name = ['ming',  'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'wu', 'xiangmin']  
>>> name[:3]
['ming', 'long', 'mng']
>>> name[0:3]    
['ming', 'long', 'mng']       ////取索引切片0到3的值,但python列表顾头不顾尾,索引取的是0,1,2的值,其中0可以省略
>>> name[-3:-1]
['alex', 'wu']        ////列表索引取值切片是从左到右的。
>>> name[:]
['ming', 'long', 'mng', 'ting', 'jun', 'fei', 'xiang', 'fei', 'alex', 'wu', 'xiangmin']         ////其中[:]相当于[0:]
>>> name[::2]
['ming', 'mng', 'jun', 'xiang', 'alex', 'xiangmin']    ////其中2为步长,也就是每个一个取个值

View Code

 

  • 元组

元组是只读的列表,不大概修正,使用小括号;如爬山涉水

name1=("ming","hua")

  • 字典

字典是key跋山涉水的近义词value的数据类型,使用大括号创建字典;如爬山涉水

city = {

       'china':'beijing'

       'english':'lundun'

}

其中china和english是key,beijing和lundun是键值;

专心跋山涉水的近义词key值是冬天的,且必需是头一无二的;

增加

图片 5图片 6

>>> city['america'] = 'huashengdun'
>>> print(city)
{'america': 'huashengdun', 'english': 'lundun', 'china': 'beijing'}

View Code

修改

图片 7图片 8

>>> city['america'] = 'Washington'
>>> print(city)
{'america': 'Washington', 'english': 'lundun', 'china': 'beijing'}

View Code

连串字典嵌套

图片 9图片 10

>>> city = {
... 'china':["beijing","hebei",'sichuan','yunnan'],
... 'english':["london","bath",'birmingham']
... }
>>> print(city)
{'english': ['london', 'bath', 'birmingham'], 'china': ['beijing', 'hebei', 'sichuan', 'yunnan']}
>>>city['english'] += 'derby'
{'english': ['london', 'bath', 'birmingham', 'd', 'e', 'r', 'b', 'y'], 'china': ['beijing', 'hebei', 'sichuan', 'yunnan']}
>>> city['english'][5] = 'derby'
>>> print(city)
{'english': ['london', 'bath', 'birmingham', 'd', 'e', 'derby', 'b', 'y'], 'china': ['beijing', 'hebei', 'sichuan', 'yunnan']}

View Code

删除

图片 11图片 12

>>> name = {
... "ming":"27",
... "fei":"33",
... "min":"1"
... }
>>> name.pop('ming')
'27'                  #删除ming
>>> print(name)
{'fei': '33', 'min': '1'}
>>> name['jun']='30'
>>> name['ting']='24'
>>> name['long']='31'
>>>name
{'jun': '30', 'ting': '24', 'fei': '33', 'min': '1', 'long': '31'}
>>> name.popitem()
('jun', '30')          #随机删
>>> print(name)
{'ting': '24', 'fei': '33', 'min': '1', 'long': '31'}
>>> del name['fei']
>>>    {'ting': '24', 'min': '1', 'long': '31'}

View Code

别的操作

#打印字典里的值:values()
>>> name = {
... "ming":"27",
... "fei":"22"
... }

>>>name.values()
dict_values(['27', '22'])
#打印字典里的key值
>>> name.keys()
dict_keys(['ming', 'fei'])
>>> name1 = {
... 'zeze':'88',
... 'xiangfei':'23',
... 'hengxi':'27'
... }
#更新字典
>>> name.update(name1)
>>> name
{'ting': '24', 'longlong': '25', 'xiangfei': '23', 'hengxi': '27', 'zeze': '88', 'ming': '27', 'fei': '22'}
#列出字典里的内容
>>> name.items()
dict_items([('ting', '24'), ('longlong', '25'), ('xiangfei', '23'), ('hengxi', '27'), ('zeze', '88'), ('ming', '27'), ('fei', '22')])
#循环
>>> for kv,vv in name.items():print(kv,vv)
... 
ting 24
longlong 25
xiangfei 23
hengxi 27
zeze 88
ming 27
fei 22
第二种循环方法:更高效,不用转换为列表
>>> for i in name:print(i,name[i])
... 
ting 24
longlong 25
xiangfei 23
hengxi 27
zeze 88
ming 27
fei 22

 

 

本文由澳门在线威尼斯官方发布于澳门在线威尼斯官方,转载请注明出处:Python基础定义

关键词:

上一篇:没有了

下一篇:没有了