列表
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来
使用下标索引来访问列表中的值
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print ( list1[0])
print ( list2[1:5])
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改
元组使用小括号,列表使用方括号
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开
元组中只包含一个元素时,需要在元素后面添加逗号
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
元组与列表的区别,元组它的关键是不可变性
如果在程序中以列表的形式传递一个对象的集合,它可能在任何地方改变;如果使用元组的话,则不能
元组提供了一种完整的约束
集合
Python中的集合跟数学上的集合是一致的,不允许有重复元素,而且可以进行交集、并集、差集等运算
字典
字典是另一种可变容器模型,且可存储任意类型对象
字典的每个键值 key --> value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
(1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
(2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
1:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
2:任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
3:函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明
4:函数内容以冒号起始,并且缩进
5:return [表达式] 结束函数,选择性地返回一个值给调用方
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行
def f(str):
print(str)
return
f('调用函数')
f('再次调用')
变量作用域
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
1:全局变量
函数外的变量拥有全局作用域,可以在整个程序范围内访问
2:局部变量
函数内部的变量拥有一个局部作用域,局部变量只能在其被声明的函数内部访问
def foo():
b = 'hello'
def bar(): # Python中可以在函数内部再定义函数
c = True
print(a)
print(b)
print(c)
bar()
# print(c) # NameError: name 'c' is not defined
if __name__ == '__main__':
a = 100
# print(b) # NameError: name 'b' is not defined
foo()
面向对象
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法,对象是类的实例
对象:通过类定义的数据结构实例,对象包括两个数据成员(类变量和实例变量)和方法
1.使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾,类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 它的名称是 self
class Test:
def prt(self):
print(self)
print(self.__class__)
t = Test()
t.prt()
2.可以通过 init 方法接受参数,使用点号 . 来访问对象的属性
import time
class Clock(object):
def __init__(self,hour = 0,min = 0,second = 0):
self.hour = hour
self.min = min
self.second = second
def run(self):
self.second += 1
if self.second == 60:
self.second = 0
self.min += 1
if self.min == 60:
self.min = 0
self.hour += 1
if self.hour == 24:
self.hour = 0
# def __str__(self):
# return '%02d:%02d:%02d:' % (self.hour,self.min,self.second)
def show(self):
return '%02d:%02d:%02d:' % (self.hour,self.min,self.second)
def main():
clock = Clock()
while True:
print(clock.show())
time.sleep(1)
clock.run()
if __name__ == '__main__':
main()