初识python
一. 第一个程序
1. 基本概念
- 表达式:可执行的语句。
- print:打印函数,在屏幕中输出打印内容。
- 函数:可执行的功能体,一般以"函数(参数)"的形式作为表达式来执行。
python
print("Hello World!")
输出结果:
python
Hello World!
2. Jupyter环境特性
- Jupyter是REPL(Read-Eval-Print Loop)环境,表达式中可以只包含对象,直接运行会显示对象的值。
#号用于注释。
python
"Hello World!"
# Jupyter是REPL环境,表达式中可以只包含对象
# #为注释功能
python
15
3. 对象 (Object)
Q&A:什么是对象?
简单理解,Python中一切都是对象。例如
15、字符串"Hello World"都是对象。
Point:对象类型
虽然Python中一切都是对象,但对象有进一步的类型细分:
- 字符串对象 :如用双引号标注、中间为字母的对象
"Hello World"。 - 数值对象 :如数字
15。 - 函数对象 :如
print。
二. 函数对象print基本功能
1. 基础打印
打印单个值
python
print(1)
打印多个值
- 当
print函数打印多个值时,实际相当于传入了多个参数,会依次打印,默认以空格分隔。
python
print(1, 2, 3)
输出: 1 2 3
打印多个不同类型的值
python
print(1, "Hi")
输出: 1 Hi
2. print函数的参数 (sep)
Point:print函数中的sep参数
- sep 是
print函数中的常用参数,且是一个带有参数名的参数(关键字参数),调用时需标注参数名。 - 作用 :当
print函数需要打印多个对象时,输出结果将以sep输入的参数对象进行分割。
python
# 打印多个值,并且用逗号对所打印的内容进行分割
print("I", "Robot", sep=',')
输出: I,Robot
python
print("Hello", "World", sep=',')
输出: Hello,World
3. 查看帮助文档
可以通过以下方式查看函数的帮助文档:
print??print()- 使用
Shift + Tab快捷键
python
print?
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
...
sep: string inserted between values, default a space.
...
三. Python赋值
1. 赋值的基本概念
- Python中常用等号
=进行赋值,赋值的本质是将对象赋给变量。 - 在等号赋值的过程中,等号左边是变量,右边是对象。
- Python中对象赋值变量也可理解为给对象"起名",方便后续调取。
- 既然是取名,必须遵守变量命名规范。
python
# 用等号进行赋值
a = "Hello"
理解 :在上述语句中,
a为变量,"Hello"为字符串对象。通过等号将对象赋给变量a,后续调用a就等价于调用字符串"Hello"对象。
python
print(a)
输出: Hello
2. 变量运算
python
b = 1
c = 2
b + c
输出: 3
3. 函数赋值
Python中一切皆对象,函数也是对象,因此函数也可以被赋值给变量。
python
# 函数也可被赋值
p = print
p(a) # 等价于 print(a)
输出: Hello
4. 删除对象赋值关系
- 覆盖:变量可以重复赋值,新赋值会代替旧赋值。
- 删除 :使用
del关键字删除赋值关系。
Python
p = 1 # 新赋值代替旧赋值
del p # 使用del删除赋值关系
# p # 再次调用 p 会报错:NameError: name 'p' is not defined
四. 变量命名规则
"取名不规范,领导两行泪"
命名规范
- 字符限制 :变量名长度不限,但字符必须是 字母、数字、或下划线。不能使用空格、连字符、标点符号、引号或其他字符。
- 首字符限制 :变量名的 第一个字符不能是数字,必须是字母或下划线。
- 大小写敏感 :变量名区分大小写(
kafkaTest和kafkatest是不同的)。 - 关键字保留:不能将 Python 关键字(保留字)用作变量名。
1. 命名示例
python
# 驼峰命名法(单词首字母大写)
kafkaTest = 1
# 下划线命名法(推荐)
kafka_test = 2
print(kafkaTest, kafka_test)
2. 避免使用内置函数名
如果使用内置函数名(如 print)作为变量名,会导致原功能失效。
python
# print为内部保留关键字(内置函数名),用于充当变量会使原功能失效
print = 1
# print("Hello") # 此时会报错:TypeError: 'int' object is not callable
# 恢复原功能需要删除该变量
del print
3. 查看Python关键字
python
import keyword
# 打印 Python 的关键字列表
print(keyword.kwlist)
输出关键字列表:
'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'def', 'if', 'import', 'return', 'while', ...
五. 赋值的本质
1. 变量指向内存地址
赋值不是相等
- 变量只是指向了一个内存地址,内存地址中存储了对象。
- 变量可以重复赋值,后面的值会覆盖前面的值。
- 改变变量的值,其实就是改变了变量指向的内存地址。
python
a = 1
b = 2
a = b # 此时 a 指向了 b 指向的对象(即2)
# a 的值为 2, b 的值为 2
2. 变量交换 (Swap)
思考:若两个变量交换赋值,应该如何操作?
方法一:设置中间变量
这是传统编程语言通用的方法。
python
a = 1
b = 2
middle = a # 将 a 的值暂存到 middle
a = b # 将 b 的值赋给 a
b = middle # 将 middle (原a的值) 赋给 b
print(a, b) # 结果:2 1
方法二:Pythonic 交换(元组解包)
Python 特有的简洁写法,在一个赋值过程中同时修改两个值。
Python
a = 1
b = 2
a, b = b, a # 交换
print(a) # 2
print(b) # 1