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) ...
随机推荐
- 项目总结笔记系列 Autonomy IDOL Server KT Session1
在说上面这个图之前,先说一下背景知识. Autonomy地址: http://www.autonomy.com.cn http://www.autonomy.com.cn/content/home/i ...
- Web-Nginx配置
#运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...
- Javascript——闭包、作用域链
1.闭包:是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式:在一个函数内部创建另一个函数. function f(name){ return function(object){ var ...
- Bash中的任务(job)管理
本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西.但想了下,还是记录一下吧,也许有人会用到呢. 不知你是否碰到过这样的情况,当你兴致勃勃的打开VI ...
- Java经典实例:使用DateFormatter来格式化日期时间
Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ...
- [转载][翻译] IoC 容器和 Dependency Injection 模式
原文地址:Inversion of Control Containers and the Dependency Injection pattern 中文翻译版本是网上的PDF文档,发布在这里仅为方便查 ...
- mysql 5.6 read-committed隔离级别下并发插入唯一索引导致死锁一例
今天,某个环境又发生了死锁,如下: *** (1) TRANSACTION:TRANSACTION 735307073, ACTIVE 0 sec insertingmysql tables in u ...
- Owl Carousel – 支持触摸的 jQuery 响应式传送带插件
Owl Carousel 是一个 jQuery 插件,使我们能够迅速地创建响应式传送带滑块.这个插件是触摸友好的,能与几乎任何的 HTML 内容兼容使用.另外,强大的选项设置支持分页/滑动速度,启用/ ...
- 从0开始学angularjs-笔记03
大家好,今天上班第一天,可能大家都不是很想上班吧,我也是一样啦---不想上班就来继续写我的angualrjs教程,造福大家吧!! 今天的主要讲解部分有以下几点:1.演示一个完整的项目结构 2.$sc ...
- css通用小笔记01——导航背景
很多刚接触前端的可能遇到一些css能解决的小问题,我现在总结了一些,将会逐渐和大家分享,先是导航的背景问题,在网页中常常看到,当鼠标放到一个导航按钮上面是,就会出现一些特效,比如背景,这是最常用的,我 ...