Python学习第二天
一. 流程控制:
内容为:if...elif...else, while, for ,break, continue, pass 等语句
二. 对象类型及运算:
内容为:列表,元组,字典
(一) if语句
if语句主要由三部分组成:
1. 关键字if本身。
2. 用于判断结果条件的真假
3. 当表达式为真或者非零时执行代码块
if语法格式:
1 ifexpression1:2 suite3 elifexpression2:4 suite5 .....6 else:7 else_suite
注: 1.elif语句为可选,根据具体情况选择条件
2. 仅用于占位符,而后填充语句时,可以使用pass
例如:
1 user = ‘hongfei‘
2 passwd = ‘abc123‘
3
4 username = input("username:\n")5 password = input("password:\n")6
7 if user == username and password ==passed:8 print("Welcome login")9 else:10 print("invalid username or password")
还可以使用多重条件表达式:
1 if not warn and (system_load >=10):2 print("WARNING: losing resources!")3 warn += 1
如上可以使用布尔操作符:and ,or not实现多重条件判断。
条件表达式的三元操作符:
1 >>> x, y = 1, 2
2 >>> if x <3 ... smaller="x4" else:5 ...7>>>smaller8 13>
9 >>> smaller = x if x < y elsey10 >>>smaller11 1
(二) while 语句
1.用于编写通用迭代结构。
2.顶端测试为真即会执行循环体,并会重复多次直到为假时执行循环后的其他语句。
语法格式:
1 whileexpression:2 suite3 else:4 suite
注: 1. else为可选
2. 只要expressions为True,循环就会执行。
3. 当expressions结果为False时,终止循环,此时如果有else分支的话,会执行else分支。
例子1:
1 >>> count =02 >>> while count < 5:3 ... print("逐渐递增:",count )4 ... count += 1
5 ...6 逐渐递增: 07 逐渐递增: 1
8 逐渐递增: 2
9 逐渐递增: 3
10 逐渐递增: 4
例子2:
1 count = 0 #定义一个起始值
2 while True: #为True时,循环继续往下执行
3 count += 1 #循环一次加1
4 if count > 50 and count < 60: #50到60之间由于continue退出本次循环
5 continue
6 print("你是傻逼",count)7
8 if count == 100: #count值到达100时,break终止循环
9 print("傻逼都被你占了!")10 break
break: 跳出所处的最近一层的循环。
continue: 跳到所处的最近循环的开始处。
pass: 占位语句。
else: 只要循环正常终止,else分支即会执行。
注意:
如果由于break语句,或者返回语句,或者异常跳出循环等,else分支则不会被执行。
python中判断真和假的含义:
1. 非零数字为真,否则为假。
2. 非空对象位为真,否则为假。
3. None则始终为假。
(三)for语句:
1. for循环会访问一个可迭代对象(如序列或者迭代器)中的所有元素,并在所有条目都处理过后结束循环。
语法格式:
1 for expressions in iterable: #迭代器
2 suite3 else:4 suite
1. 通过序列项迭代:
1 >>> list = ["a","b","c"]2 >>> for i inlist:3 ... print(i)4 ...5 a6 b7 c
2. 通过序列索引迭代:
1 >>> list = ["a","b","c"]2 >>> for index inrange(len(list)):3 ... print("index",list[index])4 ...5 index a6 index b7 index c
注:
len: 返回字符串长度
range: 一次性返回连续的整数列表
xrange: 一次产生一个数据元素,相对于range更节省空间
例子:
3. 通过项和索引迭代:
1 >>> list = ["a","b","c"]2 >>> for i,x inenumerate(list):3 ... print("%d %s" % (i+1,x))4 ...5 1a6 2b7 3 c
注: 这里用到了enumerate()函数,使用偏移索引和偏移元素时使用,返回一个生成器对象:
(四) 列表
列表也为序列式的数据类型,可以通过下标或切片操作来访问某一个或者某一块儿元素。
创建一个列表:
1 >>> name_list = ["张三","李四","王五"]2 >>> print(name_list[0])3 张三4
更新一个列表:
1 >>> name_list = ["张三","李四","王五"]2 >>> print(name_list[0])3 张三4 >>> name_list[2] = "王八"
5 >>>name_list6 [‘张三‘, ‘李四‘, ‘王八‘]
常用列表参数:
insert
name_list.insert(2,"abc") #在下标为2的地方插入一个元素
append
name_list.append("def") #追加一个元素
remove
name_list.remove("minggou") #算出一个元素
pop
name_list.pop("王八") #删除制定元素
del
del name_list[2] #通过索引删除
del name_list #删除整个列表
步长 [::2] 从头到尾隔两个输出
extend
name.extend(name2)扩展进一个新的列表
name.reverse 列表倒倒序
copy#拷贝与深拷贝
importcopy
name= ["alex","jack",["sf,7665, 9098"]]
name2=name.copy()
name3= name.copy.deepcopy(name)
注:
1.列表里可以为 字符串,数字,变量等
2.列表索引或下标从0开始
3.列表取最后元素为 -1 ,-2 表示
例子:
1 #找出有多少个9, 把它改成9999
2 #同时找出所有的34,把它删除
3 >>> name = ["made","zhaosi",5,99,94,9,334,56,993,34,9]4 >>> name.count(9)5 2
6 >>> for i in range(name.count(9)):7 ... ab = name.index(9)8 ... name[ab] = 999
9 ... print(name)10 ...11 [‘made‘, ‘zhaosi‘, 5, 99, 94, 9, 334, 56, 993, 34, 9]12 [‘made‘, ‘zhaosi‘, 5, 99, 94, 999, 334, 56, 993, 34, 999]
(五) 元组:
由于元组和列表没有很大的区别,这里将不再赘述,后续会持续补充。
(六) 字典:
字典为python语言中唯一的映射类型,映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系。
创建字典:
1 >>> dict = {‘name‘:‘张三‘,‘age‘:22}2 字典中包含列表:dict={‘李四‘:[‘25‘,‘IT‘],"王五":[‘22‘,‘建筑‘]}3 字典中包含字典:dict={‘李四‘:{"age":"23","job":"IT"},"王五":{"‘age‘:‘22‘,‘job‘:‘dota‘"}}4 注意:5 每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
访问字典:
1 >>> dict = {‘name‘:‘张三‘,‘age‘:22}2 >>> print(dict[‘name‘])3 张三4 >>> for key indict:5 ... print(key,dict[key])6 ...7 name 张三8 age 22
修改字典:
1 >>> dict[‘age‘] = 55
2 >>> print(dict)3 {‘name‘: ‘张三‘, ‘age‘: 55}
删除字典:
del
del dict[‘name‘] #删除字典的某个值
dict.clear()#清空字典
del dict #删除字典
更新字典:
update()方法可以用来将一个字典的内容添加到另外一个字典中:>>> dict1 = {‘name‘:‘张三‘, ‘name2‘:‘王五‘}>>> dict2={‘name3‘:‘赵六‘}>>>dict1.update(dict2)>>> print(dict1)
{‘name3‘: ‘赵六‘, ‘name2‘: ‘王五‘, ‘name‘: ‘张三‘}
字典的内置函数和方法:(引用)
Python字典包含了以下内置函数:1、cmp(dict1, dict2):比较两个字典元素。(python3后不可用)2、len(dict):计算字典元素个数,即键的总数。3、str(dict):输出字典可打印的字符串。4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:1、radiansdict.clear():删除字典内所有元素2、radiansdict.copy():返回一个字典的浅复制3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组7、radiansdict.keys():以列表返回一个字典所有的键8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里10、radiansdict.values():以列表返回字典中的所有值
时间紧凑,以后有时间继续补充。
第二天课后作业:
商城系统
原文:http://www.cnblogs.com/python-nameless/p/5503835.html