python 关键 贰
来源:互联网 发布:mac华康新篆体 编辑:程序博客网 时间:2024/05/14 11:02
1:参考与对象
当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。
例如:
shoplist = [
'apple'
,
'mango'
,
'carrot'
,
'banana'
]
mylist = shoplist
del
shoplist[
0
]
#shoplist is ['mango', 'carrot', 'banana']
#mylist is ['mango', 'carrot', 'banana']
//拷贝
print
'Copy by making a full slice'
mylist = shoplist[:]
# make a copy by doing a full slice
del
mylist[
0
]
#shoplist is ['mango', 'carrot', 'banana']
#mylist is ['carrot', 'banana']
注意:记住列表的赋值语句不创建拷贝。你得使用切片操作符来建立序列的拷贝。
2:切片和索引: Python从0开始计数
2.1 索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的。因此,shoplist[-1]
表示序列的最后一个元素而shoplist[-2]
抓取序列的倒数第二个项目。
2.2切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。同样负数也是从后面开始计算
例如:
shoplist = [
'apple'
,
'mango'
,
'carrot'
,
'banana'
]
print
'Item 0 is'
, shoplist[
0
]
print
'characters 1 to -1 is'
, name[
1
:
-1
]
print
'characters start to end is'
, name[:]
3:备份脚本
例子:
import osimport timesource=[r'D:\desktop',r'D:\wifi']target_dir = "D:\\pythonZip\\"target = target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip'zip_command = "zip -qr %s %s" % (target, " ".join(source))print(zip_command)if os.system(zip_command) == 0: print('Successful backup to', target)else: print('Backup FAILED')注意1:
首先在命令行下看是否安装了ZIP包。windows下默认是不安装的。如果未安装,下载地址:https://sourceforge.net/projects/gnuwin32/files/zip/3.0/zip-3.0-setup.exe/download?use_mirror=nchc
然后配置环境变量。
注意2:-q
选项用来表示zip命令安静地工作。-r
选项表示zip命令对目录递归地工作
zip_command = "zip -qr %s %s" % (target, " ".join(source))
命令字符串现在将称为:
tar =
'tar -cvzf %s %s -X /home/swaroop/excludes.txt'
% (target,
' '
.join(srcdir))
选项解释如下:
-c
表示创建一个归档。-v
表示交互,即命令更具交互性。-z
表示使用gzip滤波器。-f
表示强迫创建归档,即如果已经有一个同名文件,它会被替换。-X
表示含在指定文件名列表中的文件会被排除在备份之外。例如,你可以在文件中指定*~
,从而不让备份包括所有以~
结尾的文件。
__init__
方法在类的一个对象被建立时,马上运行例子:
class
Person
:
def
__init__
(self, name): self.name = name
def
sayHi
(self):
'Hello, my name is'
, self.name
p = Person(
'Swaroop'
)p.sayHi()
说明:self 区分类和普通函数 不用赋值self:类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是
self
。
5:文件操作
file
类的对象来打开一个文件,分别使用file
类的read
、readline
或write
方法来恰当地读写文件,模式可以为读模式('r'
)、写模式('w'
)或追加模式('a'
),首先用写模式打开文件,然后使用file
类的write
方法来写文件,最后我们用close
关闭这个文件。
例子:
poem="hello,world"
f =
file
(
'poem.txt'
,
'w'
)
# open for 'w'riting
f.write(poem)
# write text to file
f.close()
# close the file
f =
file
(
'poem.txt'
)
# if no mode is specified, 'r'ead mode is assumed by default
while
True
:
line = f.readline() if
len
(line) ==
0
:
# Zero length indicates EOF
break
print
line,
# Notice comma to avoid automatic newline added by Python
f.close()
6:存储器
Python提供一个标准的模块,称为pickle和cPickle ,cPickle比Pickle快1000倍。
首先以写模式打开一个file
对象,然后调用储存器模块的dump
函数,把对象储存到打开的文件中。这个过程称为 储存 。
接下来,我们使用pickle
模块的load
函数的返回来取回对象。这个过程称为 取储存 。
基本接口:
pickle.dump(obj, file, [,protocol])
注解:将对象obj保存到文件file中去。
protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。
file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol>=1,文件对象需要是二进制模式打开的。
pickle.load(file)
注解:从file中读取一个字符串,并将它重构为原来的python对象
例子:
import pickle as pstorage = ['hello', 'world', 'test']filepath1 = 'D:\\pythonZip\\a.txt'f = open(filepath1, "wb+")p.dump(storage, f, 0)f.close()del storagef = open(filepath1, "rb")storage1=p.load(f)print(storage1)
:7:exec和eval语句
exec
语句用来执行储存在字符串或文件中的Python语句
例如:
>>> exec 'print "Hello World"'
Hello World
eval
语句用来计算存储在字符串中的有效Python表达式
例如:
>>> eval('2*3')
6
- python 关键 贰
- python关键参数
- Python关键函数
- python关键要素
- Python得关键术语
- Python关键点记录
- Python关键语法要素笔记
- Django python关键点记录
- python程序关键路径测试
- python关键参数测试结果
- Python自备关键复习点
- Python关键知识点整理(一)
- python Threading线程关键点
- python multiprocessing进程关键点
- Python一天入门1:关键事项
- python 函数默认参数值、关键参数
- python插入数据库Mysql 关键字段
- Python学习(三)-------Python的8个关键要素
- Centos7 关闭防火墙
- ViewDragHelper 实战案例1 《QQ侧滑菜单》 SwipeLayout
- SVN检出项目没有build path
- 文件读写工具简单实现(六)--写入按钮替换/修改指定行的内容
- Base64编码格式图片字符串-保存图片到Tomcant中
- python 关键 贰
- 实现深度复制
- php-fpm的配置和优化
- 在notepad++中安装Python环境
- tomcat报:java.net.BindException: Permission denied <null>:80
- DPDK(13):rte_malloc内存管理
- php-fpm配置
- [绍棠_Swift] swift4.0 NSMutableAttributeString的Range和NSRange问题
- php扩展开发---kqueue 实例