一:变量
变量的赋值:
上述代码声明了一个变量,变量名为name,变量name的值为:”Meng“
变量定义:
一个在内存存数据的容器。
变量的意义:
保存程序执行的中间结果或状态,以供后面的代码调用。
变量定义规则:
-
- 变量名只能是字母,数字或下划线的任意组合;
- 变量名的第一个字符不能是数字;
- 关键字不能声明为变量名;
二:缩进:
Python设计者有意设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非食用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。
例如if语句:
age = int(input("age: "))if age < 21: print("你不能抽烟!")print("这句不在if语句块中")
注:上述例子为python3.5版本的代码。
根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。
三:注释:
当行注释:#被注释内容
#name = "Meng"
多行注释:“”“被注释内容”“”或’‘’被注释内容‘’‘
'''age = int(input("age: "))if age < 21: print("你不能抽烟!")print("这句不在if语句块中")'''
四:单引号,双引号和三引号
在一般情况下单引号和双引号是没有区别的,但是如果字符串中有相同的字符时需要使用\进行转义,例如:
1 print("hello word")2 print('hello word')
1和2结果都是hello word
3 print("I\'m")4 print("I'm")
3和4的结果都是I'm
5 print('I"m')6 print('I\"m')
5和6的结果都是I“m
三引号和它们不同之处:”所见即所得“,对于多行字符串时用三引号更直观点(若用单引号或双引号需要进行转义),例如:
print('''my name is Meng,hello word,I like python.''')
结果是:
my name is Meng,
hello word,
I like python.
五:用户输入:
#!/usr/bin/env python# -*- coding: utf-8 -*-name = input("What is your name? ") #将用户输入的内容复制给name变量print("hello " + name )
以上结果为:
What is your name? Meng #用户输入的内容hello Meng
六:Python内部执行过程:
编译过程概述:
当我们执行Python代码的时候,在Python解释器用四个过程“拆解”我们的代码,最终被CPU执行返回给用户。
首先当用户键入代码交给Python处理的时候会先进行词法分析,例如用户键入关键字或者输入关键字有误时,都会被词法分析所触发,不正确的代码将不会被执行。
下一步Python会进行语法分析,例如当“for i in test:”中,test后面的冒号如果被写为其他符号,代码依旧不会被执行。
最后关键的过程,在执行Python前,Python会生成.pyc文件,这个文件就是字节码,如果不小心修改了字节码,Python下次重新编译该程序时会和其上次生成的字节码文件进行比较,如果不匹配则会将被修改过的字节码文件进行覆盖,以确保每次编译后的字节码的准确性。
那么什么是字节码?字节码在python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。简单来讲就是在编译代码的过程中,首先会将代码中的函数、类等对象分类处理,然后生成字节码文件。有了字节码文件CPU可以直接识别字节码文件进行处理,接着Python就可以执行了。