python入门笔记

emmm,这个笔记主要是给自己看到的,整理了李茂老师《python硬件编程实战》一书中的内容。
【普通python脚本文件的编写规范框架】
一般脚本文件的编写主要包含,SheBang部分、模块信息描述部分、导入第三方库部分、模块函数主体、模块测试代码。
其中的 name == “main“: 具体的含义在这个博客中解释的挺好的:https://www.cnblogs.com/alan-babyblog/p/5147770.html 就不赘述了。

# !\usr\bin\python
# -*- coding: utf-8 -*-

"""
----------------------------------------------------------------------------------------------------
Function:

Author:

Version:

Contact:
----------------------------------------------------------------------------------------------------
"""


# -------------------------------------import-------------------------------------------------------
import platform

# -------------------------------------function-----------------------------------------------------
def demo():
    print('This is a demo on how to write a formal python script.')  # 可以使用中文注释


####################################################################################################
if __name__ == "__main__":  # __main__ 和 __name__的使用
    print('i am(hello.py) doing a test on the written program!')
    demo()
else:
    print('i am(hello.py) being imported by another file!')

【类脚本文件的编写方式】
下面的程序主要讲到的是全局变量、类全局变量、示例变量、临时变量之间的爱恨情仇。

# !\usr\bin\python
# -*- coding: utf-8 -*-

"""
----------------------------------------------------------------------------------------------------
Function: 介绍面向对象编程的基础知识

Author:

Version: 

Contact:
----------------------------------------------------------------------------------------------------
"""


# -------------------------------------import-------------------------------------------------------
import hello

# python中每个calss的代码中的第一个参数就是self,class中访问对应的变量及调用函数的格式为self.valueName, self.function()
# 的形式。这里的self指的是示例instance本身。如果没有写self, 而是直接使用变量,那么实际上调用的不是示例中的变量和函数,而
# 是其他部分的变量和函数。1)如果没有在class的最初__init__函数中正确地初始化实例变量,将会导致后续引用实例变量出错。如果
# 以类中的变量作为参照,那么变量分为全局变量、临时局部变量、类变量


# -------------------------------------function-----------------------------------------------------
def a2init():
    hello.demo()
    print('this is a new python file')


name = "whole global name"  # 可直接对全局变量进行访问


class Person:
    name = "class global name"  # 调用该类全局变量需使用Person.name

    def __init__(self, newPersonName):
        # __init__的含义是初始化,为对应的类Class本身初始化,支持带参数的类的初始化,实现对类本身相关内容的初始化
        self.name = newPersonName   # 实例化之后,调用该类属性变量需使用instance.name
        name = newPersonName   # 如果前面没有加self前缀,则是自动变量(临时变量)。属于__init__函数中的局部变量。

    def say_your_name(self):
        print('my name is %s' % self.name)


def selfAndInitDemo():
    person_instance = Person('crifan')  # class的实例化
    person_instance.say_your_name()      # 实例化的函数调用方式
    print('all people name %s'% Person.name)  # 类全局变量的调用方式


# python函数的语法结构
"""
def function( parameters ):
    "function docstring"
    function_suite
    return [expression]
"""


def printInputStr(inputstr):
    "此函数是为了演示,打印输入的字符串"
    print(inputstr)


####################################################################################################
if __name__ == "__main__":
    a2init()
    selfAndInitDemo()
    printInputStr("第一次调用函数。")
    printInputStr("再次调用函数。")
    print("函数printInputStr的docstrings是:", printInputStr.__doc__)  # __doc__是每个函数的内置属性

# python中的变量无需定义,可直接使用。
# 【全局变量】,不论是其他普通函数中还是Class类中,全局变量都是可以通过对应的函数名为直接引用
# 【局部变量】,对于函数内,包括类Class的函数内,普通的变量都是自动临时变量。 普通局部变量(automatic variable),而局部
# 变量的优先级大于外部变量的优先级。如果函数内部出现了和全局变量同名的变量,则说明是全局变量。如果函数内,没有同名的局部
# 变量,则对应的变量是全局变量。
# 【类的变量】,类的变量在累的范围内只能够通过className.propertyName或者是ClassName.VariableName去访问当前类的ClassName
# 的变量PropertyName。即,类的全局变量
# 【示例变量】,示例变量理论上是用InstanceObject.PropertyName访问的。此处由于类的函数第一个参数的名字定义为Instance变量,
# 且名字叫做self,所以就变成了self.PropertyName了。




你可能感兴趣的:(python学习)