python学习第二天
Posted 浮光掠影转瞬间
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习第二天相关的知识,希望对你有一定的参考价值。
Python学习第二天
一. 流程控制:
内容为:if...elif...else, while, for ,break, continue, pass 等语句
二. 对象类型及运算:
内容为:列表,元组,字典
(一) if语句
if语句主要由三部分组成:
1. 关键字if本身。
2. 用于判断结果条件的真假
3. 当表达式为真或者非零时执行代码块
if语法格式:
1 if expression1: 2 suite 3 elif expression2: 4 suite 5 ..... 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 < y: 3 ... smaller = x 4 ... else:
5 ... smaller = y 6 ... 7 >>> smaller 8 1 9 >>> smaller = x if x < y else y 10 >>> smaller 11 1
(二) while 语句
1.用于编写通用迭代结构。
2.顶端测试为真即会执行循环体,并会重复多次直到为假时执行循环后的其他语句。
语法格式:
1 while expression: 2 suite 3 else: 4 suite
注: 1. else为可选
2. 只要expressions为True,循环就会执行。
3. 当expressions结果为False时,终止循环,此时如果有else分支的话,会执行else分支。
例子1:
1 >>> count = 0 2 >>> while count < 5: 3 ... print("逐渐递增:",count ) 4 ... count += 1 5 ... 6 逐渐递增: 0 7 逐渐递增: 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 suite 3 else: 4 suite
1. 通过序列项迭代:
1 >>> list = ["a","b","c"] 2 >>> for i in list: 3 ... print(i) 4 ... 5 a 6 b 7 c
2. 通过序列索引迭代:
1 >>> list = ["a","b","c"] 2 >>> for index in range(len(list)): 3 ... print("index",list[index]) 4 ... 5 index a 6 index b 7 index c
注:
len: 返回字符串长度
range: 一次性返回连续的整数列表
xrange: 一次产生一个数据元素,相对于range更节省空间
例子:
3. 通过项和索引迭代:
1 >>> list = ["a","b","c"] 2 >>> for i,x in enumerate(list): 3 ... print("%d %s" % (i+1,x)) 4 ... 5 1 a 6 2 b 7 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_list 6 [‘张三‘, ‘李四‘, ‘王八‘]
常用列表参数: 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 #拷贝与深拷贝 import copy 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 in dict: 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,否则返回false 6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组 7、radiansdict.keys():以列表返回一个字典所有的键 8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default 9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里 10、radiansdict.values():以列表返回字典中的所有值
时间紧凑,以后有时间继续补充。
第二天课后作业:
商城系统
以上是关于python学习第二天的主要内容,如果未能解决你的问题,请参考以下文章