Python基础

Python基础

1.Python特性

1.Python是一种动态类型的语言,在程序执行过程中,可将变量名绑定顶到不同的值,而且这些值可以属于不同的类型。赋值运算符的作用仅仅是在名称和值之间创建的一种关联。

2.Python绝对不会把字符串的值解释为数值数据,要执行数学运算,首先要使用int()或float()函数将字符串转换为数值。

3.使用str(),repr()或format()函数将非字符串转换为字符串表示形式。str()生成的输出与使用print语句得到的输出相同,而用repr()创建的字符串克表示程序中某个对象的精确值。

x=3.4
str(x)
输出‘3.4
repr(x)
输出‘3.39999999999

上例中输出的3.4的不精确并非是Python中的一个bug。这是双精度浮点数的一个特点,因为从设计上来说,底层计算机硬件无法精确地表示十进制小数。

format()函数的作用是利用特定格式将值转换为字符串。

4.列表是任意对象的序列,把值放在方括号就可以访问列表。列表可以包含任意种类的Python对象,包括其他列表。

names=["Dave", "Mark", "ANN"]

列表是从0开始的整数索引,使用索引运算符可以访问并修改列表中的项

a = names[2]     #返回列表中的第三项
names[0] = "Jeff"#将第一项改为Jeff

插入列表是insert()

names.insert(2,"Hello")

在列表末尾追加,可使用append()方法

names.append("pore")

使用切片运算符可以提取一个子列表或对子列表重新赋值

b = names[0:2]   #返回值为"Dave", "Mark"
c = names[1:]    #返回值是"Mark", "ANN"

5.元组,要创建简单的数据结构,可以使用元组将一组值打包到一个对象中。元组支持的大部分操作与列表的相同(索引,切片,连接),但创建元组后不能修改它的内容(无法替换,删除现有元组中的元素和插入新元素),所以说最好把一个元组看成一个由多个部分组成的对象,而不是可在其中插入或删除项的不同对象的集合。

虽然列表看起来比元组更加灵活,但是如果程序创建大量的小列表(包含想小于12个),会造成内存浪费。原因是系统会为列表分配稍微多一点的内存,用来优化列表添加新项时的操作性能。元组时不可表的,所以他们的表示更加紧凑,不会占用额外的内存空间。

6.集合。集合是一组无序的对象,无法通过数字进行索引,且集合中的元素不能重复,集合支持一系列标准操作,比如并集,交集,差集和堆成差集。可使用set()函数创建集合。

使用add()和update()在集合中添加新项,使用remove()删除一项。

7.字典,字典是一个关联数组或散列表,其中包含通过关键字索引的对象。访问字典成员,可使用关键字索引运算符。

stock = {
   "name" : "GOOG",
   "share" : 100,
   "price" : 490.10
}
#通过关键字索引访问字典成员
name = stock["name"]
value = stock["share"] * stock["price"]
#插入或修改对象的方法
stock["share"] = 75
stock["date"] = "June 7,2020"

创建一个空字典有两种方式

price = {}
price = dict()
#使用in运算符可以测试某个内容项是不是字典成员
if"scox" in price:
p = price["scox"]
else:
   p = 0.0
#还有一个简洁的方式
p = price.get("scox",0.0)
#要获得一个字典关键字的列表,将字典转换为列表即可
syms = list(price)
#使用del语句删除字典的元素
del price("MSFT")
   

字典是Python解释器中最完善的数据类型。因此如果只是在程序中存储和处理数据,使用字典比使用一些自定义数据结构好得多。

8.迭代与循环。

最常用循环结构是用于迭代多个项的for语句。

range(i,j,[步进值])函数创建的对象表示值i到j-1的整数

a = range(5)      #a = 0,1,2,3,4
b = range(1,8)    #b = 1,2,3,4,5,6,7
c = range(0,14,3) #c = 0,3,6,9,12
d = range(8,1,-1) #d = 8,7,6,5,4,3,2

在使用range()函数时,Python2中,它创建的值是已经用整数值完全填满的列表。当范围非常大时,可能会在不经意间耗掉所有可用内存。在老式代码中,会看到另一个函数xrange()。

for i in xrange(100000):
statements

在进行查找时,xrange()函数创建的对象会查询时根据需要计算它表示的值。为此,它成为了表示及大范围整数值的首选方式,Python3中xrange()函数已经更名为range(),并且已经删除了老式range()函数的功能。

posted @ 2020-06-01 14:13  麦郎  阅读(108)  评论(0)    收藏  举报