python打基础

前言

上期把python中的基础数据类型和内置数据类型做了罗列,示例代码如下:

1)注释。

# 第一种#"""第二种"""【实例】使用三重引号注释以及废除代码# "以下几行代码的主要作用是创建菜单栏并在菜单栏添加子菜单"menu = AFXMenuPane(selfAFXMenuTitle(self,'主菜单', None, menu)AFXMenuCommand(self,menu,'子菜单一‘afxCreatePNGIcon(t"iconlicon1.PNG"),myForm1(self),AFXMode.ID_ACTIVATE)AFXMenuCommand(self,menu,'子菜单二,afxCreatePNGIcon(r"icon.icon2.PNG"),myForm2(self),AFXMode.ID_ACTIVATE) # 这是创建一个标志的语句。"""这样就把多条语句注释掉了subMenu= AFXMenuPane(self)AFXMenuCascade(self, menu.'子菜单三',None, subMenu)AFXMenuCommand(self, subMenu,'子项目1', None,self,AFXMode.ID_ACTIVATE)AFXMenuCommand(self,subMcnu.'子项目2', Nonc,self,AFXMode.ID_ACTIVATE)"""

2)内置数据类型

2.1)元组

#元组一经确定,不能在作修改,所以比较安全。tuple1 = ()tuplel1 = (1,2,3,4,4) #元组型数据( tuple)由一系列元素组成,且对每个元素的数据类型不做限制tuplel2 = (1,(2,3),4,4)

2.2) 列表常用操作

 创建一个列表l1 = []l2 = list()myList =[0,1,22,2,1,2,3,2,3,4,3,4,5]# 几个常用函数l1.len() #查看列表长度l1.append() #增加元素于列表末尾myList.index(5) #返回某一元素在list 中首次出现的索引号myList.index(4) #当某一元素多次出现时,返回其首次出现时的索引号myList.inscrt(2,22) #在列表中指定位置插入元素myList.reverse() #对列表中的元素反序排列myList.sort() #对列表中元素进行排序

2.3) 字典常用操作(划重点)

# 新建字典(方法之一)dict1=dict(AAA=5000,BBB=200,CCC=1200)#dictionaries型数据调用keys()、values()、items()函数v1= dictl.keys()#获取字典的所有键值dict1.items() #获取字典所有元素dict1.items([0])#获取字典中某一元素dict1.itemsO[0][11]#获取字典中某一元素的键或者值dict1.values() #获取字典中的所有值del(dict1 ["AAA"]) #删除字典中某一键值对dict1["DDD"]=999 #字典中添加新元素dict1.pop("cCC")#pop函数,返回某键对应的值,并在字典中删除该键值对dict1.clear()#清空字典

1 数据类型转换

先回忆一下之前的两个表格。

 基础数据类型

数据类型

表示

整型

Int

实型

Double, float

布尔型

Bool

字符串

str

其他数据类型

None等

内置数据类型

数据类型

表示

特点

安全性

列表

List

有序,可更改,可重复

元组

Tuple

有序不可更改,可重复

Set

无序,不可更改,无重复

字典

Dict

无序,可更改,无重复

                    其他



只能从低向高转:列如int 转float, 反过来会有精度损失。这就不过多提了,相信大家都有c语言基础的。但python中的数据类型没有c语言中那么严格,可以说是比较随意的,因为python官方在背后默默承担了你(用户)随意的代价。给你自由过了火.jpg。
1.2 常用数据类型转换

(1)将字符串类型转化为列表类型myString='noise'myList= list(myString)(2)将字符串类型转化为元组类型myTuple = tuple(myString)(3)将元组转化为列表mylist=list(myTuple)(4)将浮点型转化为整型a=3.1415b=int(a)(5)将整型转化为浮点型c=float(b)(6)将浮点型数据转化为字符串c=3.0str(c)(7)返回ASCII 码对应的字符print(chr(65))(8)把字符串或者数字转化为复数a-complex("2+5j") #将字符串转化为复数(9)将字符串或者数字转化为长整型数据long("123") #将字符串转化为长整型long(123) #将整数转化为长整型long(123.5) #将浮点型数据转化为长整型

通过这几个案例,可以体会到python中的数据类型十分自由。虽然有十分的自由,但也伴随着代价。还隐藏着很多自动类型转换,转着转着 就不知道这个数到底是numpy型还是pandas型,还是tensor型,所以type()函数就排上用场了。

2 PYTHON中一些特殊的概念

2.1动态类型简介

前面讲述了Python中常用的数据类型,可以看出,在Python语言中使用变量时,都没有声明变量的存在以及类型,但变量还可以工作。这一点与静态编译语言CC++或Java有很大的区别。这就是Python语言的动态类型模型。

在Python语言中,数据类型是在运行过程中自动决定的,而不是通过代码声明。变量在赋值的时候才被创建,它可以引用任何类型的对象,变量和对象分别存储在内存中的不同位置,两者通过链接进行关联。

A=5

Python将会执行3个不同的步骤去完成这个请求,这些步骤反映了Python语言中所有赋值的操作过程。
(1)创建一个新对象来代表数字5。
(2)创建一个变量a。
(3)将变量a与新对象a相关联。
在Python中从变量到对象的链接称作引用。也就是说,引用是一种关系,以内存中的指针形式实现。一旦变量被使用(也就是被引用),Python自动跟随这个变量到对象的链接。

2.2类型的归属
在Python语言中,类型属于对象,不属于变量,我们可以对一个变量进行多次赋值,且允许每次赋值的类型不同,例如:

#单变量多次赋值a=5#.将变量a与整型对象关联a='five'#将变量a与字符串型对象关联a=5.0#将变量a与浮点型对象关联


上述代码中,变量a一开始是整型,然后变成一个字符串,最后变成了浮点数。这一点,在C语言中是无法理解的。但是在Python中,理解起来就很简单,因为变量名根本没有类型。实际上Python的变量就是在特定的时间引用了一个特定的对象,而对象是具有类型的,每个对象都包含了一个头部信息,其中标记了对象的类型。
可以看出,Python代码比通常惯用的代码更加灵活,如果能正确地使用Python,代码能够自动以多种类型进行工作。

2.3垃圾回收机制
上述例子中,当重新给变量a赋值时,它前一个引用对象是会发生变化的。在Python中,每当一个变量名被赋予了一个新的对象时,且之前的那个对象没有被其他变量名或对象所引用的话,那么之前的那个对象占用的空间就会被回收,这种自动回收对象占用空间的技术叫作垃圾回收。
在Python内部,垃圾回收是如何实现的呢?实际上,每个对象中都保持了一个计数器,计数器记录了当前指向该对象的引用次数,也就是该对象被引用的次数。一旦这个计数器被设置为零,这个对象的内存空间就会被自动回收。垃圾回收最直接且可感受的好处就是,可以在脚本中任意使用该对象而不需要考虑释放内存空间。与C和C++这样的底层语言相比,省去了大量基础代码。

古人言,故不积跬步,无以至千里;不积小流,无以成江海。学习一门技术也是这样,只有持之以恒,才能不断精进。 python打基础的图1python打基础的图2python打基础的图3

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注