本篇文章主要是对python学习时的一些总结,作为学习笔记记录。

python程序

在python安装完毕并在系统变量中添加相关的PATH路径之后,就能够在终端使用下边的命令进入到python的环境中:

C:\Users\wood>python
Python 3.7.8 (tags/v3.7.8:4b47a5b6ba, Jun 28 2020, 08:53:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

然后就能够在出现的>>>后边输入相关的python命令,进行与python环境的交互。

在交互模式下python会对当前输入的代码进行解释,用户也可以立即看到python解释器给出的“答案”,但是如果是大型的程序的话,对于编程来说就显得很不方便,因此多数时候都需要编写为python程序文件。

python文件后缀名为"py",解释器对于py文件的解释顺序为从上到下,从左到右顺序执行,同样python文件的编写也有一些注意事项:

  • python文件后缀以py结尾
  • 一行一个语句,不用以分号做结尾
  • 如果一行上有多个语句,则每个语句必须以分号做结尾
  • 文件名尽量不用使用中文,不要包含空格
  • 不要混合使用tab键和空格缩进,缩进用于区分代码块
  • 除了在引号里(单引号、双引号)中,其它地方尽量不要使用中文
  • python编码规范遵循PEP8

python中的变量

变量是区别与常量来说的,变量和常量都是用来保存数据的,但是变量中值是可以更改的,而常量中的值则是不可更改的。

在上一篇文章中提到,python是一门面向对象的,解释型的,弱类型的编程语言,其中弱类型主要是说python中的变量在声明时不必说明其类型,其类型取决于给该变量所赋值的类型。

>>> a = 10
>>> type(a)
<class 'int'>
>>> a = 10.2
>>> type(a)
<class 'float'>
>>> a = "hello"
>>> type(a)
<class 'str'>

type是python内置的函数,可以查明输入参数的所属类型。从上面的结果也可以看出,a的数据类型是根据其赋值的数据类型改变而改变的。

不过虽然python对变量的类型和定义方式规定比较自由,但也是需要先定义才能够正常使用的。

单个变量定义

a = 10

多个变量定义

a = b = c = 10

使用这种形式而不必在意其变量是否已经存在。

a = 10;b = 20;c = 30

使用这种形式可以在单行书写多条语句。

元组赋值

a,b = 10,20

该操作主要涉及到元组的封包和解包,这里暂时不做说明。

变量删除

del var

该操作可以删除对应的变量。

变量命名规范

之前虽然提到了变量的定义,但是变量也并不是可以随便定义的,其命名需要符合一定的命名规范,主要有:

  • 由数字、字母、下划线组成,不能以数字开头
  • 严格区分大小写
  • 不能是python的关键字(保留字)

python中的关键字

python中的关键字可以利用keyword模块进行打印输出:

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量命名风格

变量命名除了要满足一定的规范,也需要具有一定的风格,不但能够让自己明白各个变量代表的含义,也要能够让其他人理解其代表的含义,主要有:

  • 见名知意,有自描述性
  • 不建议使用中文命名变量
  • 一般变量可以用小驼峰规则:变量名由多个单词组成,第一个单词首字母小写,其它单词首字母大写
  • 也可以全部变量名都小写,单词之间用下划线分隔

变量输出

变量的输出可以借用print函数,将变量打印到屏幕上。print函数是python的内建函数之一,其函数签名为:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
  • value表示要输出的值
  • sep表示输出值之间的分隔符,默认为空格
  • end表示print语句结束后自动添加的部分,默认为换行符
  • file表示输出的位置,默认为标准输出(屏幕),可以重定向到文件
  • flush表示是否要强制刷新流
  # 显示变量
  age = 20
  print(age)

  # 显示多个字符串和变量
  age = 20
  sex = 'm'
  print('tom',age,sex)

  # 格式化显示
  name = 'tom'
  age = 20
  print('i am %s,%d years old.\n'%(name,age))

  # 常见的占位符
  # %s  字符串占位符
  # %d  整数的占位符
  # %f  浮点数的占位符

对于字符串输出,也可以借用format来格式化字符串的输出形式,format的函数签名为:

format(...)
    S.format(*args, **kwargs) -> str

    Return a formatted version of S, using substitutions from args and kwargs.
    The substitutions are identified by braces ('{' and '}').

从上面可以看出,str的format方法借用{}可以返回一个格式化的字符串,使用方式为:

>>> print('i am {},{} years old.'.format("tom",10))
i am tom,10 years old.

>>> name = "tom"
>>> age = 10
>>> print('i am {name},{age} years old.'.format(name = "tom",age = 10))
i am tom,10 years old.

转义字符

在print函数使用时,可能会要进行某些特殊输出,例如换行,制表符等,此时需要对这些字符进行转义。常见的转义字符有:

变量输入

有时变量的赋值需要借助键盘等外设进行输入赋值,此时需要用到变量输入,变量输入可以借助input函数进行赋值:

>>> a = input()
1000
>>> a
'1000'
>>> a = input("Please input a number:")
Please input a number:120
>>> a
'120'

变量输出和变量输入的使用方法有点类似于C/C++中的printf()和scanf()函数。

需要注意的是,input函数的返回值为字符串类型,如果需要其他类型(如整型)则必须要进行强制类型转换。

变量和内存

python中的一切都是对象,python中的变量只是保存了对象的引用。之前也提到过python是弱类型的语言,因此变量本身是没有数据类型的,变量的类型主要是指其所指向对象的数据类型:

>>> a = 10
>>> b = 10
>>> id(a)
140706067284528
>>> id(b)
140706067284528

上述代码中的id函数可以获取到变量所指向对象的地址,从结果可以看出虽然a,b是两个变量,但是所指向的对象地址却是相同的,也从侧面说明了python中变量所指向的只是对象的引用。

常量

python中并没有像C/C++特意为常量的声明指明了关键字,也没有定义专门的常量类型,而是约定俗成的将变量名大写来说明常量:

PI = 3.14

注释

python解释器不解释也不执行注释。

注释的存在主要有几个好处:

  • 提高代码的可读性,可维护性
  • 保留代码
  • 方便调试

单行注释

以#开始,一直到行末

a = 10     # define a

多行注释

多行注释可以使用三个单引号和三个多引号,中间表示的是注释内容,但是中间不能再次出现相同的三引号。

"""
......
"""

有时候,三引号也可以作为保留格式的字符串使用:

>>> s = """
... i am tom.
... 10 years old.
...     today,i am studying python.
... """
>>> s
'\ni am tom.\n10 years old.\n    today,i am studying python.\n'

注释的使用也要符合一定的习惯:

  • 单行注释一般出现在注释代码的上一行或者右面
  • 要习惯利用注释进行代码说明
  • 只对必要的代码部分进行注释
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐