Python特点:字节码,动态语义
定义编码:只要符合coding[:=]\s*([-\w.]+)即可。如 #coding= utf-8 # -*- coding: utf-8 -*-
"双引号内写脚本文档"
#这里以后都是单行注释
"""
这里是多行注释
"""
pyc字节码文件,和java类似
id()
sys.getrefcount() 引用默认就有3
反斜杠换行
print "assssssssss\
sssssssssssssssssss"
思想:一切数据都是对象,一切变量都是对数据的一个引用
命名:用字母和_开头,文件名小写,变量小写,函数名小写,合理用_,大小写敏感
赋值:具有动态语义特性,
type(abc):查看变量类型
help(time):查看具体帮助文档
dir():查看有那些方法可以使用
python -V 查看当前版本
python -v进入Python命令行
-----------------------------------------------------------------------------------
#coding=utf-8
#@description:周末作业
#一.已经字符串 s = "i,am,lilei",请用两种办法取出之间的“am”字符。
print '第一题-----------------------------'
#方法1
s = "i,am,lilei"
print s[2:4]
##方法2
c = s.split(',')[1]
print c
print '第二题-----------------------------'
#二.在python中,如何修改字符串?
#答案:可以用字符串的replace方法.
ainfo = 'i love php'
replycontent = ainfo.replace('php','python')
print replycontent
print '第三题-----------------------------'
#三.bool("2012" == 2012) 的结果是什么。
##答案:结果是fasle,==判断对象的数据类型,尽管看起来数值是一样的,但是他们的类型不同,一个是字符串,一个是数字
print '第四题-----------------------------'
##四.已知一个文件 test.txt,内容如下:
f = open('test.txt','r')
content = f.read()
dcontent = content.decode('utf-8')##转换为unicode
##1.请输出内容
print content
##2.请计算该文本的原始长度.
print len(dcontent)
##3.请去除该文本的换行
print content.replace('\n','')
##4.请替换其中的字符"2012"为"2013"。
print content.replace('2012','2013')
##5.请取出最中间的长度为5的子串。
print dcontent[len(dcontent)/2:len(dcontent)/2+5].encode('utf-8')
##6.请取出最后2个字符。
print 'aaaa--------'
print dcontent[-2:].encode('utf-8')
print 'bbbb--------'
##7.请从字符串的最初开始,截断该字符串,使其长度为11.
print dcontent[:11].encode('utf-8')
##8.请将{4}中的字符串保存为test1.py文本.
rinfo = content.replace('2012','2013')
f = open('test1.py','w')
f.write(rinfo)
f.close()##关闭文件
print '第五题-----------------------------'
##五.请用代码的形式描述python的引用机制。
import sys
cinfo = '1234'
print id(cinfo)
print sys.getrefcount('1234')
binfo = '1234'
print id(binfo)
print sys.getrefcount('1234')
print '第六题-----------------------------'
##六.已知如下代码
a = "中文编程" ##引用计数开始是3,然后a变量引用了字符串对象3 + 1 =4
print "a:%s" % id(a)
b = a
print "b:%s" % id(b)##4 + 1 = 5
c = a
print "c:%s" % id(c)## 5 + 1 = 6
print sys.getrefcount('中文编程')##输出结果是6
print 'ssss'
a = "python编程"
print "a:%s" % id(a)###6-1 = 5##a引用另外一个字符串对象
b = u'%s' % a.decode('utf-8')
print "b:%s" % id(b)###5-1 = 4
print sys.getrefcount('中文编程')##输出结果是4
d = "中文编程"
print "d:%s" % id(d)###新建一个变量,引用字符串 4 + 1 = 5
e = a
print "e:%s" % id(e)
c = b
print "c:%s" % id(c)### c引用另外一个字符串对象,5 - 1 = 4
print sys.getrefcount('中文编程')
b2 = a.replace("中","中")
print "b2:%s" % id(b2)
print 'result-----------------'
print sys.getrefcount('中文编程')
print sys.getrefcount('python编程')
print '第七题-----------------------------'
##七.已知如下变量
a = "字符串拼接1"
b = "字符串拼接2"
#
##请用四种以上的方式将a与b拼接成字符串c。并指出每一种方法的优劣
##方法1:在做大量的字符串对象拼接的时候不推荐
c = a + b
##方法2:
c = "%s%s" % (a,b)
###方法3:
print 'format'
c = "{a}{b}" .format (a=a,b=b)
##方法4:
c = "".join([a,b])
print c
##请将a与b拼接成字符串c,并用逗号分隔。
c = '%s,%s' % (a,b)
##.请计算出新拼接出来的字符串长度,并取出其中的第七个字符。
lennum = len(c.decode('utf-8'))
print c.decode('utf-8')[6].encode('utf-8')
print '第八题-----------------------------'
##八.请阅读string模块,并且,根据string模块的内置方法输出如下几题的答案
import string
##1.包含0-9的数字。
#print help(string)
print string.digits
##2.所有小写字母
print string.lowercase
##3.所有标点符号
print string.punctuation
##4:所有大写字母和小写字母。
print string.ascii_lowercase##小写字母
print string.ascii_uppercase##大写字母
print '\n'
##5:请使用你认为最好的办法将{1}-{4}点中的字符串拼接成一个字符串。
strinfo = []
strinfo.append(string.digits)
strinfo.append(string.lowercase)
strinfo.append(string.punctuation)
strinfo.append(string.ascii_lowercase)
strinfo.append(string.ascii_uppercase)
print "".join(strinfo)
print '\n'
strinfo = "%s%s%s%s%s" % (string.digits,string.lowercase,string.punctuation,string.ascii_lowercase,string.ascii_uppercase)
print strinfo
print '第九题-----------------------------'
##九.已知字符串
a = "i,am,a,boy,in,china"
##1.假设boy和china是随时可能变换的,例boy可能改成girl或者gay,而china可能会改成别的国家,你会如何将上面的字符串,变为可配置的。
ac = "i,am,a,%(sex)s,in,%(country)s" % {'sex':'girl','country':'china'}
bc = "i,am,a,{sex},in,{country}" .format (sex='girl',country='india')
print ac
print bc
##2.请使用2种办法取出其间的字符"boy"和"china"。
##方法1
print a[7:10]
print a[-5:]
##方法2
cinfo = a.split(',')
print cinfo[3]
print cinfo[-1]
##3.请找出第一个"i"出现的位置。
print a.find('i')##-1
print a.index('i')##报错
##4.请找出"china"中的"i"字符在字符串a中的位置。
print a.find('i',a.find('china'))
print a.rfind('i')
##5.请计算该字符串一共有几个逗号
print a.count(',')
print '第十题-----------------------------'
##十.请将模块string的帮助文档保存为一个文件。
import sys
import string
f = open('test.log','w')
sys.stdout = f
help(string)
f.close()