python学习小报3--python语法入门

目录

1.对象

2.python标识符命名规则

3.变量的声明与赋值

4.变量删除与垃圾回收机制

5.常量

6.链式赋值

7.系列解包赋值


1.对象

        1.1        python中,一切皆对象。

                        每个对象由三个部分组成,标识(id)、类型(type)、值(value)。

        1.2        对象的本质:

                        一个内存块,拥有特定的值,支持特定类型的相关操作。

                        代码演示如下:

a = 3
print(id(a))    #打印a的地址
print(type(a))  #打印a的类型
print(a)    #打印a的值

执行结果如下:

2397444440368

3

可以知道,a是一个变量名,它的类型是int(整型),值是3,

        1.3        它的内存示意图如下:

python学习小报3--python语法入门_第1张图片

                        在这个内存示意图中,对象存储在堆中,而变量a在栈内,变量a可以通过id(地址)引用对象,从而获得对象的值和类型。

                        在python中,变量也叫做:对象的引用。即是变量存储的就是对象的地址。变量通过地址引用了“对象”。

        1.4        python是动态类型语言

                        变量是不需要显示声明类型的,根据变量引用的对象,python解释器能自动确定数据类型。

        1.5        标识符规则

                        (1)区分大小写

                                例如True和true,代码演示如下:

                                

1.True
while True:
    a = 3
    print(a)
    if a == 3:
        break

2.true
while true:
    a = 3
    print(a)
    if a == 3:
        break

                             执行结果:

1.3

2.Traceback (most recent call last):
  File "D:\Python\pycharm\pycharmexec\mypro01\practise01.py", line 1, in 
    while true:
NameError: name 'true' is not defined. Did you mean: 'True'?

Process finished with exit code 1

                          从图中可以看出,当为True时,结果能正常输出,而为true时,提示报错。

                        (2)第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线。

                                代码演示如下: 

               

1.代码
a1 = 5
_a1 = 5
1a = 5

2.结果
  File "D:\Python\pycharm\pycharmexec\mypro01\practise01.py", line 3
    1a = 5
    ^
SyntaxError: invalid decimal literal

                                如图中所示,如果第一个是数字则会报错。

                        (3)不能使用关键字。比如:if、or、while等

                                代码演示如下:

1.代码
if = 3
or = 4
while = 5

2.结果
  File "D:\Python\pycharm\pycharmexec\mypro01\practise01.py", line 1
    if = 3
       ^
SyntaxError: invalid syntax

                        (4)以上下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。

1.代码
__call__()    #表示将类对象变得跟函数一样可以直接使用函数名()进行调用函数方法
__init__()    #表示构造方法,初始化实例对象

 刚刚我们说到关键词,在这里我们可以使用help(),help>keywords来查看关键词

代码演示如下:

help()
help> keywords

Here is a list of the Python keywords.  Enter any keyword to get more help.

False               class               from                or
None                continue            global              pass
True                def                 if                  raise
and                 del                 import              return
as                  elif                in                  try
assert              else                is                  while
async               except              lambda              with
await               finally             nonlocal            yield
break               for                 not                 

图中的都是关键词,我们要避免用这些来命名。

2.python标识符命名规则

        2.1        模块和包名

                全小写字母,尽量简单。多个单词之间用下划线 ,例如:say_score,say

        2.2        函数名

                全小写字母,多个单词之间用下划线隔开,例如:my_score,number

        2.3         类名

                首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余全部小写。例如:MyHobby,MyCar    

        2.4        常量名

                全大写字母,多个单词是用下划线隔开,例如:SPEED,MIN_SPEED

3.变量的声明与赋值

        格式:变量名 = 表达式

        例如:a = 4,a是变量名,3是表达式,=是赋值符号

        变量在使用前必须先被初始化(先被赋值)

        

1.代码
print(a)

2.结果
Traceback (most recent call last):
  File "D:\Python\pycharm\pycharmexec\mypro01\practise01.py", line 1, in 
    print(a)
NameError: name 'a' is not defined

        结果显示报错,a需要先被定义才能打印

4.变量删除与垃圾回收机制

        4.1        可以通过del语句删除不再使用的变量。

        4.2        如果对象没有变量引用,就会被垃圾回收器回收,清除内存空间。

1.代码
未使用del前
a = 3
b = 4
print(a)
print(b)

使用del后
a = 3
b = 4
del a
print(a)
print(b)

2.结果
3
4

Traceback (most recent call last):
  File "D:\Python\pycharm\pycharmexec\mypro01\practise01.py", line 4, in 
    print(a)
NameError: name 'a' is not defined

                此时del a之后显示a需要再被定义,也就是a已经被当作垃圾回收了。

5.常量

        常量命名一般都是大写,但是python中的常量是可以修改的,是逻辑上的常量

1.代码
MAX_AGE = 80
print(MAX_AGE)
MAX_AGE = 100   #修改常量,是逻辑上的常量
print(MAX_AGE)

2.结果
80
100

6.链式赋值

        链式赋值用于同一个对象赋值给多个对象

1.代码
x = y = 3
print(x)
print(y)

2.结果
3
3

python学习小报3--python语法入门_第2张图片

                从图中可以看出3分别赋给x、y。

7.系列解包赋值

        系列数据赋值给对应相同个数的变量(个数必须保持相同)。

        a,b,c = 2,3,4        相当于:        a = 2;b = 3;c = 4

1.代码
x,y,z = 2,3,4
print(x)
print(y)
print(z)

2.结果
2
3
4

         变量互换

         使用系列解包赋值可以实现变量值交换

1.代码
x,y = 2,3
x,y = y,x   #变量互换
print(x)
print(y)

2.结果
3
2

这周的python学习小报就先分享到这吧,下周咱们再继续,希望对大家有所帮助。

你可能感兴趣的:(python学习小报,学习,python,pycharm)