Python基础-day2
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的更多相关文章
- python基础day2
一.python字符串 字符串是 Python 中最常用的数据类型.可以使用引号('或")来创建字符串 1.1Python访问字符串中的值 Python不支持单字符类型,单字符在 Pytho ...
- python基础day2作业:购物车
#功能:1.可注册账号2.登录买家账号3.可查询编辑购物车里商品4.可以余额充值5.可提示余额不足6.购物车结算 #使用:1.第一次使用先注册账号填写账号金额2.账号金额信息保存在buyer_acco ...
- Day2 - Python基础2 列表、字典、集合
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
- Python基础学习总结(持续更新)
https://www.cnblogs.com/jin-xin/articles/7459977.html 嗯,学完一天,白天上班,眼睛要瞎了= = DAY1 1,计算机基础. CPU:相当于人的大脑 ...
- Python基础 小白[7天]入门笔记
笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
随机推荐
- Sublime搭建Python开发环境
print ('hello world!') 1. 下载python,并设置path系统环境变量:当在命令行中输入python,出现如下界面,显示安装成功. 2. 安装最新的sublime,使用注册机 ...
- yii2 advance 安装
1. 前提条件,php版本得> 5.4 D:\phpStudy>php -v PHP (cli) (built: Sep ::) Copyright (c) - The PHP Group ...
- [moka同学笔记]Yii2中多表关联查询(join、joinwith) (摘录)
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name cu ...
- [python拾遗]enumerate()函数
在python中处理各类序列时,如果我们想显示出这个序列的元素以及它们的下标,可以使用enumerate()函数. enumerate()函数用于遍历用于遍历序列中的元素以及它们的下标,用法如下: 1 ...
- 使用Spring的@Scheduled实现定时任务
Spring配置文件xmlns加入xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation ...
- 使用mysql的长连接
有个资料看得我云里雾里的.现在用自己的言语来总结一下,写文字,能够加深自己的理解.也会在写的过程中帮助自己发现理解方面瑕疵,继续查资料求证. 短链接的缺点:创建一个连接,程序执行完毕后,就会自动断掉与 ...
- struts—文件的上传和下载
设计了一个小的案例:上传图片到服务器,上传成功后显示图片列表,然后点击下载上传到服务器的图片. 注意表单的配置属性: <form enctype="multipart/Form-dat ...
- JSESSIONID与SESSION
用spring security的时候遇到了一个很诡异的问题: 已经登录的用户,而且没有标记remember-me,在重启服务器之后还会显示已经登录状态 这就严重啦,这样子如果要在session中储存 ...
- .Net中的并行编程-4.实现高性能异步队列
上文<.Net中的并行编程-3.ConcurrentQueue实现与分析>分析了ConcurrentQueue的实现,本章就基于ConcurrentQueue实现一个高性能的异步队列,该队 ...
- Python的下载与安装
linux系统由于自身的需要,自带了Python,而Windows的系统就没有自带Python.本篇Blog介绍在win8.1下,安装Pathon需要注意的问题,包括常见的0x80240017.250 ...