第4章 语法基础
4.1.1 标识符和关键字
标识符规则
1、区分大小写
2、首字符可以是下划线 “_" 或字母,但不能是数字
3、关键字不作为标识符
4、不能用python内置函数作为自己的标识符
4.1.2 Python 关键字
and | or | not | as |
for | while | break | continue |
False | True | None | lamda |
if | elif | else | pass |
from | import | raise | del |
try | except | return | yield |
is | in | with | fiinally |
def | class | global | assert |
nonlacal |
4.2 变量和常量
变量:_hello = 'helloworld'
x = 20
常量:python不能从语法层面上定义常量,所以编写是要注意,变量可能会在无意中被修改,从而引发程序错误。
4.3 注释 #
放在首行或者给程序注释
# coding=utf-8 设置python代码文件的编码集,必须放在第一行或第二行生效
# 另一种写法
# !/usr/bin/python
# -*- coding: utf-8 -*-
print('输出...') # 给自己的编码注释,可以让自己思路更清晰
4.4 语句
一行一条语句,句尾可用分号结束
链式赋值:a = b = c = 10
重点在缩进:推荐使用Tab或4个空格
y = 20
if y > 10:
print(y) # 相同缩进在同一代码块中
print(y + 1) # 相同缩进在同一代码块中
else:
print(y + 10)
print('hello')
4.5 模块 module
一个模块就是一个文件。可以通过import / from ... import ...导入模块的功能。现有两个模块(文件)module1.py 和 hello.py。
module1.py里的代码:
# coding=utf-8
# 代码文件:module1.py
y = True
z = 10.10
print('进入 module1 模块')
hello.py里的代码:
# coding=utf-8
# 代码文件:hello.pyp
import module1
from module1 import z
y = 20
print(y) # 访问当前模块变量y,注意,当变量名字与import的模块里的变量相同,取当前模块
# 变量值
print(module1.y) # 访问module1模块变量y。要取module1里的y值,前面加模块名.y
print(z) # 访问module1模块变量z。当前模块没有,则从import里找
输出结果:
进入 module1 模块
20
True
10.1
模块事实上提供一种命名空间。同一个模块内部不能有相同名字的代码元素,但是不同模块可以。
我的理解:假设你有两个邻居,左邻叫隔壁老宋,右舍也叫隔壁老宋,这是没问题的,但都出现在你家里,那就问题大了。
4.6 包
4.6.1 创建包
使用包(package)可以防止两个相同名字的模块冲突。创建一个包就是新建一个文件夹,里面放一个空的__init__.py文件。然后把相同名字的模块分开放就好了。
原理就像你把相同的文件放到不同的文件夹里。
pycharm的操作:在创建的项目,右击项目选择 New -- Python Package,输入包名com.pkg即可
4.6.2 导入包
假设你在编写hello.py,需要导入另一个com.pkg里的hello.py模块:
import com.pkg.hello as module1 # 因为在hello里 导入另一个hello,就用as是将被导入的hello
# 换种叫法,可避免名字冲突
print(module1.y) # 这样就能调用另一个hello的变量了