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. 项目总结笔记系列 Autonomy IDOL Server KT Session1

    在说上面这个图之前,先说一下背景知识. Autonomy地址: http://www.autonomy.com.cn http://www.autonomy.com.cn/content/home/i ...

  2. Web-Nginx配置

    #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...

  3. Javascript——闭包、作用域链

    1.闭包:是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式:在一个函数内部创建另一个函数. function f(name){ return function(object){ var ...

  4. Bash中的任务(job)管理

    本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西.但想了下,还是记录一下吧,也许有人会用到呢. 不知你是否碰到过这样的情况,当你兴致勃勃的打开VI ...

  5. Java经典实例:使用DateFormatter来格式化日期时间

    Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ...

  6. [转载][翻译] IoC 容器和 Dependency Injection 模式

    原文地址:Inversion of Control Containers and the Dependency Injection pattern 中文翻译版本是网上的PDF文档,发布在这里仅为方便查 ...

  7. mysql 5.6 read-committed隔离级别下并发插入唯一索引导致死锁一例

    今天,某个环境又发生了死锁,如下: *** (1) TRANSACTION:TRANSACTION 735307073, ACTIVE 0 sec insertingmysql tables in u ...

  8. Owl Carousel – 支持触摸的 jQuery 响应式传送带插件

    Owl Carousel 是一个 jQuery 插件,使我们能够迅速地创建响应式传送带滑块.这个插件是触摸友好的,能与几乎任何的 HTML 内容兼容使用.另外,强大的选项设置支持分页/滑动速度,启用/ ...

  9. 从0开始学angularjs-笔记03

    大家好,今天上班第一天,可能大家都不是很想上班吧,我也是一样啦---不想上班就来继续写我的angualrjs教程,造福大家吧!! 今天的主要讲解部分有以下几点:1.演示一个完整的项目结构  2.$sc ...

  10. css通用小笔记01——导航背景

    很多刚接触前端的可能遇到一些css能解决的小问题,我现在总结了一些,将会逐渐和大家分享,先是导航的背景问题,在网页中常常看到,当鼠标放到一个导航按钮上面是,就会出现一些特效,比如背景,这是最常用的,我 ...