Python_基础_01

发布时间:2019-07-13 11:39:20编辑:auto阅读(1541)


    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()


关键字

上一篇: python 遍历目录

下一篇: python的常用模块