Python基础
1.Python特性
1.Python是一种动态类型的语言,在程序执行过程中,可将变量名绑定顶到不同的值,而且这些值可以属于不同的类型。赋值运算符的作用仅仅是在名称和值之间创建的一种关联。
2.Python绝对不会把字符串的值解释为数值数据,要执行数学运算,首先要使用int()或float()函数将字符串转换为数值。
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
浙公网安备 33010602011771号