zoukankan      html  css  js  c++  java
  • python学习笔记(四)

    25、三引号

    python中用三引号可以引用大段文字,且中间可以书写任意单双引号

    26、原意字符

    当一段字符串中有太多需要转义的符号时,可以使用原意字符,避免总是转义 print(r”this is a newline simbol: .and that is a simbol:*”)  双引号中原样显示。

    27、python自省

    dir(对象)---可以查看此对象有哪些方法和属性

    dir(__builtins__)查看有哪些内建函数

    help(命令)---查看命令的使用方式

    print(logging.__file__)----查看logging模块的位置

    28、print的参数

    print(value1,,sep= ‘ ’,end=’ ’,file=sys.stdout,flush=false)

    默认是各参数之间空格分割,最后一个参数之后换行,如果有其他打印需求,可以修改参数。

    29、打印出注释文字

    def print_abc:

    “””打印出abc字符串”””

    print(“abc”)

    print(print_abc.__doc__)

    说明:函数或者类的说明文档,必须在函数或类定义的行后面,且在第一个语句的前面。

    30、行连接符

    当输出一个字符串,但是字符串太长,在代码中要换行,但又不能在显示中换行时,使用行连接符

    print(“这是一个很唯美的故事,

    故事的女主人公很美。”)

    31、静态方法、类方法

    创建静态方法:

    @staticmethod

    def method_name()

    创建类方法:

    @Classmethod

    def method_name()

    静态方法和类方法既可以供类调用,又可以供类的实例调用。

    而实例方法只能供类的实例调用,不能供类调用。

    class Name:

    @staticmethod

    def name1():

    print(“name1”)

    @classmethod

    def name2():

    print(“name2”)

    def name3():

    print(“name3”)

    Name.name3()    #调用会出错

    Name().name3()   #实例化的调用,正确

    35、类的变量、实例的变量

      python的类变量和C++的静态变量不同,并不是由类的所有对象共享。类本身拥有自己的类变量(保存在内存),当一个TestClass类的对象被构造时,会将当前类变量拷贝一份给这个对象,当前类变量的值是多少,这个对象拷贝得到的类变量的值就是多少;而且,通过对象来修改类变量,并不会影响其他对象的类变量的值,因为大家都有各自的副本,更不会影响类本身所拥有的那个类变量的值;只有类自己才能改变类本身拥有的类变量的值

    Class Name:

    test = 1

    def __init__(self):

    self.test1 = 2

    a = Name

    b = Name()

    print(a.test, b.test, b.test1)   #如果a.test1则报错

    类可以访问类的变量,不能访问实例的变量。实例可以访问类的变量和实例的变量。

    36、继承和调用

    class Parent:

    def __init__(self):

    self.name = ‘name’

     

    class Child(Parent):

    name1 = ‘name1’

    def __init__(self):

    self.name2 = ‘name2’

    def print1(self):

    print(self.name1) #正确,因为init函数中没有成员变量name1self就指向类的变量name1。如果类的变量和成员变量中有相同的name1,则指向成员变量name1.

    class Child(Parent):

    name3 = ‘name3’

    def print1(self):

    print(self.name3) #正确,没有定义实例的变量。self指向类的变量。

    print(self.name1) #正确,没有定义类的成员变量,self指向父类的成员变量

    37、执行系统命令

    1import os

    os.system(“command”)

    仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 

    (2)os.popen()

    tmp = os.popen('ls *.sh').readlines() 

    该方法不但执行命令还返回执行后的信息对象。好处在于:将返回的结果赋于一变量,便于程序的处理

    (3)使用模块subprocess

    import subprocess    

    p = subprocess.Popen('ls *.sh', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)    

    print p.stdout.readlines()    

    for line in p.stdout.readlines():    

        print line,    

    retval = p.wait()

    好处在于:运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。

    当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现错误

  • 相关阅读:
    函数后面加const
    关于C++ const 的全面总结
    待下载的东西
    GDI与DC
    Windows GDI与DC
    认识句柄
    什么是客户区/非客户区
    OpenCV 2.4.8 +VS2010的开发环境配置
    对话框类的数据交换和检验
    怎么调处vs2010的MSDN帮助文档
  • 原文地址:https://www.cnblogs.com/yahutiaotiao/p/8030187.html
Copyright © 2011-2022 走看看