1.Python模块
python 中导入模块使用import语法格式:
import module_name
示例1:

导入os模块system('dir')列出当前目录下的所有文件

 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 import os
 print(os.system('dir'))

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/练习/module_test.py  #由于字符编码问题所以显示为乱码格式
 ������ C �еľ��� ϵͳ
 �������� 0000-F80F

 C:\Users\root\PycharmProjects\S14\��ϰ ��Ŀ¼

2016/08/02  15:50    <DIR>          .
2016/08/02  15:50    <DIR>          ..
2016/07/21  14:07               229 day1-1.py
2016/07/29  17:04               306 dic_test.py
2016/07/22  16:06               215 file.py
2016/07/27  11:58               423 file_argv.py
2016/07/24  21:34               597 formatting.py
2016/07/28  08:48               357 for_dict.py
2016/07/21  15:14               361 for_limit.py
2016/07/20  11:10               393 if_el.py
2016/07/22  10:39               975 list.py
2016/07/22  23:00               823 login.py
2016/07/27  14:05               216 master_file.py
2016/08/02  15:50               802 module_test.py

2.pyc文件

.pyc是什么?

1. 过程概述

Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。

2. 字节码

字节码在Python虚拟机程序里对应的是PyCodeObject对象。
.pyc文件是字节码在磁盘上的表现形式。

3. pyc文件

PyCodeObject对象的创建时机是模块加载的时候,即import。
Python test.py会对test.py进行编译成字节码并解释执行,但是不会生成test.pyc。
如果test.py加载了其他模块,如import util,Python会对util.py进行编译成字节码,生成util.pyc,然后对字节码解释执行。
如果想生成test.pyc,我们可以使用Python内置模块py_compile来编译。
加载模块时,如果同时存在.py和.pyc,Python会尝试使用.pyc,如果.pyc的编译时间早于.py的修改时间,则重新编译.py并更新.pyc。

3.布尔值

布尔值的结果只有两种:真或假,1或0,python中1为真0为假

示例:

 C:\Users\root\PycharmProjects\S14>python
 Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> a = 0

 # a等于0时为假,判断是print不会有任何输出
 >>> if a:print(a)
 ...
 >>> a = 1

 # a等于1时为真,判断是print输出a的值
 >>> if a:print(a)
 ...
 1

4.三元运算

三元运算的作用就是简化了条件表达式:

语法:

为真时的结果 if 判定条件 else 为假时的结果  

示例:

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 a = 1
 b = 3
 c = 5
 if a > b:  
     d = a
 else:
     d = c
 print(d)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/true_false.py
5

使用三元运算后的写法为:

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 a = 1
 b = 3
 c = 5
 d = a if a > b else c  #a大于b则d等于a,否则d等于c
 print(d)

5.bytes与str转换

encode 编码
decode 解码

示例

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 msg = '我爱北京天安门'
 print(msg)

 print(msg.encode(encoding='utf-8')) #编码为二进制格式

 print(msg.encode('utf-8').decode('utf-8'))  #解码为utf-8

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/bytes_str.py
我爱北京天安门
b'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'  #编码后的bytes格式
我爱北京天安门  #bytes解码为utf-8

6.Python列表

创建一个列表只要把逗号分隔的数据项使用方括号括起来即可,如下所示:

 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 #import os
 #print(os.system('dir'))
 name = ['enzhi','jerry','tom']
 age = [26,18,22]

与字符串一样列表的索引从0开始列表可以进行截取组合等。

访问列表中的值:

使用下标的形式访问列表中的值,同样也可以使用方括号的方式截取列表中的值。如下所示:

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang

 name = ['enzhi','jerry','tom']
 age = [26,18,22]
 print('name:',name)
 print('name[0]',name[0])

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/练习/module_test.py
name: ['enzhi', 'jerry', 'tom']
name[0] enzhi

更新列表

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang

 name = ['enzhi','jerry','tom']

 print('第二个元素为:',name[2])
 name[2] = 'TOM'
 print('更新后的第二个元素为:',name[2])

 执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/练习/module_test.py
第二个元素为: tom
更新后的第二个元素为: TOM

删除列表元素

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 name = ['enzhi','jerry','tom']

 print(name)
 name.pop(2) #删除第二个元素,不加元素下标默认删除最后一个元素
 print('删除第2个元素 :',name)

 执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/练习/module_test.py
['enzhi', 'jerry', 'tom']
删除第2个元素 : ['enzhi', 'jerry']

列表切片

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry']
 print(names[0]) #取出Wangenzhi
 print(names[1:3])   #取出Zhaoliu和hehe,1为起始位置,3为结束位置,但不包括3
 print(names[0:3])   #取前三个值
 print(names[-1])    #当列表内容很多,时要取最后一个值使用-1
 print(names[-3:])   #取最后三个

 执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']
Wangenzhi
['Zhaoliu', 'hehe']
['Wangenzhi', 'Zhaoliu', 'hehe']
Jerry
['hehe', 'Tom', 'Jerry']

 添加元素

1.使用append在列表最后添加一个新值

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry']
 print(names)

 names.append('QiaoFeng')    #追加一个值
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'QiaoFeng']

2.使用insert在指定的索引位置插入一个新元素

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry']
 print(names)

 names.insert(1,'DuanYu')  #在第一个索引的位置插入一个新元素
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']
['Wangenzhi', 'DuanYu', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']

修改元素

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry']
 print(names)

 names[2] = 'QiaoFeng'  #修改元素直接使用列表名加索引位置 = 新值
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']
['Wangenzhi', 'Zhaoliu', 'QiaoFeng', 'Tom', 'Jerry']

查找元素所在位置的索引

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry']
 print(names)
 print(names.index('hehe'))  #找出hehe所在的索引位置

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry']
2

统计元素的个数

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry','hehe']
 print(names)

 print(names.count('hehe'))  #统计hehe出现了几次

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'hehe']
2

清空列表clear()

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry','hehe']
 print(names)

 names.clear()  #清空列表
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'hehe']
[]

反转列表中的元素reverse()

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry','hehe']
 print(names)

 names.reverse()
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'hehe']
['hehe', 'Jerry', 'Tom', 'hehe', 'Zhaoliu', 'Wangenzhi']

排序sort()

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry','hehe']
 print(names)

 names.sort()  #按照ACSII码表进行排序
 print(names)

扩展extend(list_name)

 names = ['Wangenzhi','Zhaoliu','hehe','Tom','Jerry','hehe']
 print(names)

 names2 = [1,2,3,4]
 names.extend(names2)  #将names2中的元素加入到names中
 print(names)

执行上面代码的结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/day2/list.py
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'hehe']
['Wangenzhi', 'Zhaoliu', 'hehe', 'Tom', 'Jerry', 'hehe', 1, 2, 3, 4]

 7.Python元组

Python元组与列表创建相似,元组使用小括号(),列表使用方括号[],元组中的元素一旦创建则不能被修改。

创建元组

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 name1 = ('QiaoFeng','DuanYu','XuZhu','MuRongFu',)
 name2 = (1,2,3,4,5,)
 print(name1,name2)

访问元组

 #!/usr/bin/env python
 # _*_ coding:utf-8 _*_
 # Author: enzhi.wang
 name1 = ('QiaoFeng','DuanYu','XuZhu','MuRongFu',)
 name2 = (1,2,3,4,5,)
 print('name1[1]',name1[1])
 print('name2[1]',name2[1])

删除元组

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
name1 = ('QiaoFeng','DuanYu','XuZhu','MuRongFu',)
name2 = (1,2,3,4,5,)
print(name1)
print(name2)
del name2
print('删除后的name2')
print(name2)

 8.Python字典

字典是(key-value)类型,可以存储任何类型的数据。通过字典的key可以快速的查找到存储的内容

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }

字典是无序的,因为字典不需要像列表,元祖是通过下标来引用的。

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
{'stu1102': 'DuanYu', 'stu1103': 'XuZhu', 'stu1101': 'QiaoFeng'}  #可以看到并没有按照key的顺序展示

取出字典中的值使用dict['key_name']的方式就可以获取到相应的value:

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 print(info)
 print(info['stu1101']  #取key名为stu1101的value

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
{'stu1103': 'XuZhu', 'stu1102': 'DuanYu', 'stu1101': 'QiaoFeng'}
QiaoFeng

修改字典中的value

将stu1101的值改为中文

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 print(info)
 info['stu1101'] = "乔峰"
 print(info['stu1101'])

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
{'stu1102': 'DuanYu', 'stu1101': 'QiaoFeng', 'stu1103': 'XuZhu'}
乔峰

如果key存在就修改其value如果不存在就创建这个key

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 print(info)
 info['stu1104'] = "扫地僧"
 print(info)

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
{'stu1103': 'XuZhu', 'stu1101': 'QiaoFeng', 'stu1102': 'DuanYu'}
{'stu1104': '扫地僧', 'stu1103': 'XuZhu', 'stu1101': 'QiaoFeng', 'stu1102': 'DuanYu'}

删除一个key

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 print(info)
 #del info['stu1101']
 info.pop('stu1101')  #.pop()等同于上面使用del 删除一个key
 print(info)

查找一个key

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 print(info)

 resutl = info.get('stu1104')  #查找一个Key,存在就返回其value,否则返回None
 print(resutl)

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
{'stu1101': 'QiaoFeng', 'stu1102': 'DuanYu', 'stu1103': 'XuZhu'}
None

循环打印字典

 #!/usr/bin/env python
 # -*-coding: utf-8 -*-
 # Author: enzhi.wang
 info = {
     "stu1101":"QiaoFeng",
     "stu1102":"DuanYu",
     "stu1103":"XuZhu",
 }
 for i in info:
     print(i,info[i])

执行上面代码的结果为:

C:\python3\python.exe C:/Users/Administrator/PycharmProjects/S14-python3/练习/dicttest.py
stu1102 DuanYu
stu1103 XuZhu
stu1101 QiaoFeng

Python基础-day2的更多相关文章

  1. python基础day2

    一.python字符串 字符串是 Python 中最常用的数据类型.可以使用引号('或")来创建字符串 1.1Python访问字符串中的值 Python不支持单字符类型,单字符在 Pytho ...

  2. python基础day2作业:购物车

    #功能:1.可注册账号2.登录买家账号3.可查询编辑购物车里商品4.可以余额充值5.可提示余额不足6.购物车结算 #使用:1.第一次使用先注册账号填写账号金额2.账号金额信息保存在buyer_acco ...

  3. Day2 - Python基础2 列表、字典、集合

    Python之路,Day2 - Python基础2   本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...

  4. Python基础学习总结(持续更新)

    https://www.cnblogs.com/jin-xin/articles/7459977.html 嗯,学完一天,白天上班,眼睛要瞎了= = DAY1 1,计算机基础. CPU:相当于人的大脑 ...

  5. Python基础 小白[7天]入门笔记

    笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...

  6. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  7. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  8. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  9. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

随机推荐

  1. Sublime搭建Python开发环境

    print ('hello world!') 1. 下载python,并设置path系统环境变量:当在命令行中输入python,出现如下界面,显示安装成功. 2. 安装最新的sublime,使用注册机 ...

  2. yii2 advance 安装

    1. 前提条件,php版本得> 5.4 D:\phpStudy>php -v PHP (cli) (built: Sep ::) Copyright (c) - The PHP Group ...

  3. [moka同学笔记]Yii2中多表关联查询(join、joinwith) (摘录)

    表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       cu ...

  4. [python拾遗]enumerate()函数

    在python中处理各类序列时,如果我们想显示出这个序列的元素以及它们的下标,可以使用enumerate()函数. enumerate()函数用于遍历用于遍历序列中的元素以及它们的下标,用法如下: 1 ...

  5. 使用Spring的@Scheduled实现定时任务

    Spring配置文件xmlns加入xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation ...

  6. 使用mysql的长连接

    有个资料看得我云里雾里的.现在用自己的言语来总结一下,写文字,能够加深自己的理解.也会在写的过程中帮助自己发现理解方面瑕疵,继续查资料求证. 短链接的缺点:创建一个连接,程序执行完毕后,就会自动断掉与 ...

  7. struts—文件的上传和下载

    设计了一个小的案例:上传图片到服务器,上传成功后显示图片列表,然后点击下载上传到服务器的图片. 注意表单的配置属性: <form enctype="multipart/Form-dat ...

  8. JSESSIONID与SESSION

    用spring security的时候遇到了一个很诡异的问题: 已经登录的用户,而且没有标记remember-me,在重启服务器之后还会显示已经登录状态 这就严重啦,这样子如果要在session中储存 ...

  9. .Net中的并行编程-4.实现高性能异步队列

    上文<.Net中的并行编程-3.ConcurrentQueue实现与分析>分析了ConcurrentQueue的实现,本章就基于ConcurrentQueue实现一个高性能的异步队列,该队 ...

  10. Python的下载与安装

    linux系统由于自身的需要,自带了Python,而Windows的系统就没有自带Python.本篇Blog介绍在win8.1下,安装Pathon需要注意的问题,包括常见的0x80240017.250 ...