PS:以下内容纯属上课学习的笔记整理,不做商业用途,无侵犯版权的想法。
1 基础语法
1.1 编码
默认情况下,Python 3 源码文件以UTF-8编码,所有字符串都是Unicode字符串。如果要改变源码文件的默认编码,可以通过以下代码进行指定,比如指定编码为国标GBK:
# -*- coding:GBK -*-
1.2 Python的关键字
Python的标准库中提供了一个名为keyword的模块,该模块可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
1.3 标识符
- 定义:开发人员在程序中自定义的一些符号和名称。
- 组成:第一个字符必须是字母表中的字母或者下划线" _",其他的部分由字母、数字和下划线组成。
- 除了第一个字符需要注意外,还需要的地方:
(1) 标识符对大小写敏感。
(2) 在Python中,不能使用关键字作为标识符名称。
1.4 程序(program)
- 组成:由一条条表达式和语句构成
- 表达式:类似数学公式,由数字、算符、括号()、自由变量和约束变量等元素组成,一般仅用于计算一些结果,不会对程序产生实质性的影响,如果在交互模式输入一个表达式,解释器会自动将表达式的结果输出
>>> 1+2*3**2
19
>>> (1+2*3)**2
49
- 语句:一个语法上自成体系的单位,它由一个词或句法上有关联的一组词构成。语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
>>> a=1+2
>>> print(a)
3
1.5 函数(function)
- 定义:一种语句,能用来完成一些特定的功能,比如print()
- 分类:
(1)内置函数(或称为内建函数):不需要定义就能调用的函数
(2)自定义函数:根据自己的需求进行自主创建,来实现某种功能。 - 基本要素:函数名、参数、返回值
1.6 常见命名方式
- 驼峰命名法:
(1)小驼峰命名法:第一个单词首字母以小写字母开始,第二个单词的首字母以大写字母开始,例如:learnPython
(2)大驼峰命名法:每一个单词的首字母均为大写字母,例如:YourName - 下划线命名法:用下划线“_”来连接所有单词,例如:name_one
1.7 注释
Python的单行注释以井号#开头,多行注释可以用多个#号或者’’’、""",例如:
# 第一个注释
# 第二个注释
'''
第三个注释
第四个注释
'''
"""
第五个注释
第六个注释
"""
1.8 行与缩进
Python是用缩进来代表代码块的,不像其他语言使用大括号{},而且缩进的空格数是可变的,但同一代码块的语句必须保持相同的缩进空格数(默认是4个空格),否则会导致代码运行错误。
(1)正确缩进示例:
>>> if 1>0:
print("It is true.")
else:
print("It is false.")
It is true.
(2)错误缩进示例:
>>> if 1>2:
print("It is true.")
print("1 < 2")
else:
print("It is false.")
print("1 < 2")
SyntaxError: unindent does not match any outer indentation level
1.9 空行
- 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
- 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
- 注意:空行也是程序代码的一部分。
1.10 多行语句
- Python一般是一行写完一条语句,但如果语句较长,可以使用反斜杠()来实现多行语句输入,例如:
>>> a=1
>>> b=2
>>> c=3
>>> sum=a+\
b+\
c
而在[]、{}、()的多行语句中则不需要反斜杠,例如:
all=[a,a,c,
b,c]
- Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,例如:
print("hello world");print("It is ok.")
2 基本数据类型
2.1 变量
- Python的变量不需要像C语言那样需要先声明才能使用,但每个变量在使用前必须先赋值,只有赋值之后才能被创建,否则在使用变量的过程会报错。
- 在Python中,变量就是变量,它没有类型,我们所指的类型是变量被创建时存储在内存中的对象的类型。
- 变量的命名与标识符类似,除了不能使用关键字,也不能一数字开头。
- Python的赋值是用等号(=),等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
- 多个变量赋值:
(1)同时为多个变量赋值,例如:
# 创建一个整型对象,值为66,从后向前赋值,4个变量被赋予相同的数值。
a=b=c=d=66
(2)同时为多个变量赋不同的值,例如:
# 两个整型对象 6 和 66 的分配给变量 a 和 b,字符串对象 "hello" 分配给变量 c
a,b,c=6,66,"hello"
注意:两个变量相等和两个变量指向同一对象是两个不同的概念,具体可以查看copy模块,不在此处进行拓展。
2.2 标准数据类型
- Python3 中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典) - Python3 的六个标准数据类型中:
(1)不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
(2)可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
在下一篇博客中会着重上面介绍提到的六个标准的数据类型,这里就不展开了。
下面来完成以下课程作业:
- 作业1:a,b = 6, 8 我想让a=8 , b=6我该怎么办?用2种方式实现
分析:a,b=6,8 这种赋值方式属于同时为多变量赋不同的值,所以想让a=8,b=6 很简单,只要重新赋值就好了。
代码如下:
a,b=6,8 # 变量原来的值 a=6,b=8
# 重新赋值
# 方式1:
a=8
b=6
# 方式2:
a,b=8,6
- 作业2:print()语句练习,用两种方式打印hello,python
代码如下;
# 方式1:先定义变量,并把hello,python作为字符串赋值给str,然后再用print()函数输出变量str
str="hello,python"
print(str)
# 方式2:直接用print()函数输出字符串hello,python
print("hello,python")