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 else4     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学习第二天的主要内容,如果未能解决你的问题,请参考以下文章

python学习第二天

Python学习第二天

Python学习第二天:面向对象之继承

python学习第二天

02-python 学习第二天

学习python的第二天之函数