目录
欢迎在评论区进行打卡留言,并分享学习经验以及分享更多学习内容,题目讲解等等,博主看到会回的,感谢大家的支持!
Python简介与历史
Python简介
Python是一种高级、解释型、通用的编程语言,由吉多·范罗苏姆(Guido van Rossum)创建。它以简洁易读的语法著称,强调代码的可读性和简洁性,使程序员能够用更少的代码表达想法。
主要特点
-
简洁易读:Python使用清晰的语法和缩进结构,使代码更易于阅读和维护
-
跨平台:可在Windows、Linux、macOS等多个操作系统上运行
-
解释型语言:无需编译,直接运行源代码
-
面向对象:支持面向对象编程范式
-
丰富的库:拥有庞大的标准库和第三方库生态系统
-
动态类型:变量类型在运行时确定
-
开源免费:完全免费使用和分发
应用领域
-
Web开发(Django、Flask框架)
-
数据科学和机器学习
-
自动化脚本和系统管理
-
科学计算和数值分析
-
网络爬虫
-
人工智能和深度学习
-
游戏开发
-
教育领域
Python历史
起源(1980年代末-1990年代初)
Python的创建可以追溯到1989年12月,当时吉多·范罗苏姆在荷兰的CWI(国家数学与计算机科学研究所)工作。他想要创建一种能够替代ABC语言的语言,同时解决ABC语言的一些局限性。
主要里程碑:
-
1989年:吉多开始编写Python解释器
-
1991年2月:第一个公开发行版Python 0.9.0发布
-
名字"Python"来源于英国喜剧团体Monty Python,而非蟒蛇
早期发展(1990年代)
-
1994年:Python 1.0发布,包含函数式编程工具
-
1995年:转移到CNRI,继续开发
-
2000年:Python 2.0发布,引入垃圾回收、Unicode支持等重要特性
Python 2.x时代(2000-2008)
Python 2.0到2.7版本期间,Python获得了广泛的应用和社区支持:
-
2001年:Python软件基金会(PSF)成立
-
2004年:Django Web框架发布
-
2006年:Python成为TIOBE年度编程语言
Python 3.x时代(2008年至今)
-
2008年12月:Python 3.0发布(不向后兼容)
-
主要改进包括:
-
更一致的语法
-
改进的Unicode支持
-
移除旧式特性
-
-
2020年1月:Python 2.7官方支持结束
现代发展
近年来Python持续流行,在数据科学、机器学习和人工智能领域表现突出:
-
2018年:Python成为IEEE Spectrum排名第一的编程语言
-
持续更新:每年发布新版本,不断改进性能和功能
小结
Python的设计哲学强调代码的可读性和简洁性,这使得它成为初学者和专业开发者的理想选择。其强大的社区支持和丰富的生态系统确保了Python在未来仍将保持其重要地位。
简单数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4。
浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x100和12.3x10是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
字符串
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:
'I\'m \"OK\"!'
表示的字符串内容是:
I'm "OK"!
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看:
# print()这个函数的作用就是用来打印字符串,可以打印字符串,运算结果等
# 这里可以分别尝试打印看看,不要复制初学者不要复制
# 这里的#号表示注释,注释不会被执行
print('I\'m ok.')
# 输出结果:
I'm ok.
print('I\'m learning\nPython.')
# 输出结果:
I'm learning
Python.
print('\\\n\\')
# 输出结果:
\
\
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''或r""表示''或""内部的字符串默认不转义,可以自己试试:
print('\\\t\\')
# 输出结果:
\ \
print(r'\\\t\\')
# 输出结果:
\\\t\\
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''或"""..."""的格式表示多行内容,可以自己试试:
print('''
line1
line2
line3
''')
# 输出结果:
line1
line2
line3
多行字符串'''...'''还可以在前面加上r使用,请自行测试:
print(r'''hello,\n
world''')
# 输出结果:
hello,\n
world
原因:由于前面说过r可以使转义符不进行转义,所以这里会打印\n
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
print(True)
# 输出结果:
True
print(False)
# 输出结果:
False
print(3 > 2)
# 输出结果:
True
print(3 > 5)
# 输出结果:
False
布尔值可以用and、or和not运算。
and运算是与运算,只有所有都为True,and运算结果才是True:
print(True and True)
# 输出结果:
True
print(True and False)
# 输出结果:
False
print(False and False)
# 输出结果:
False
print(5 > 3 and 3 > 1)
# 输出结果:
True
or运算是或运算,只要其中有一个为True,or运算结果就是True:
print(True or True)
# 输出结果:
True
print(True or False)
# 输出结果:
True
print(False or False)
# 输出结果:
False
print(5 > 3 or 1 > 3)
# 输出结果:
True
not运算是非运算,它是一个单目运算符,把True变成False,False变成True:
print(not True)
# 输出结果:
False
print(not False)
# 输出结果:
True
print(not 1 > 2)
# 输出结果:
True
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
检查类型
在pyhton里面可以通过type()函数来进行类型的判断,比如:
a = 'hello world'
b = 3.1415926
c = 10
print(type(a))
print(type(b))
print(type(c))
"""
运行结果:
<class 'str'>表示字符串
<class 'float'>表示浮点数
<class 'int'>表示整数
"""
小结
-
python里面简单的数据类型有字符串,浮点数,整数,布尔值,空值
-
and、or、not分表代表与运算、或运算、非运算
-
可以使用
\进行符号的转义,使用r取消转义 -
type()函数用来检查类型
变量
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:
a = 1
变量a是一个整数。
t_007 = 'T007'
变量t_007是一个字符串。
Answer = True
变量Answer是一个布尔值True。
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:
a = 123 # a是整数
print(a)
a = 'ABC' # a变为字符串
print(a)
请不要把赋值语句的等号等同于数学的等号。比如下面的代码:
x = 10
x = x + 2
print(x)
# 可以自行进行打印看看x最后为多少
如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12,代码从右到左执行。
最后,理解变量在计算机内存中的表示也非常重要。当我们写:
a = 'ABC'
此时,Python解释器干了两件事情:
-
在内存中创建了一个
'ABC'的字符串; -
在内存中创建了一个名为
a的变量,并把它指向'ABC'。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
a = 'ABC'
b = a
a = 'XYZ'
print(b)
最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:
执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC':

执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC':

执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

所以,最后打印变量b的结果自然是'ABC'了。
常量
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
PI = 3.14159265359
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
注释
注释是提供代码可读性的重要方式,pyhton有两种注释方式,分别是单行注释和多行注释
-
单行注释
# 注释不会被执行 # 计算圆的面积 radius = 5 area = 3.14 * radius ** 2 # 使用圆周率近似值 -
多行注释
""" 功能说明: 1. 接收用户输入 2. 验证数据有效性 3. 返回处理结果 """
最佳实践:
-
复杂算法前添加功能说明
-
关键变量添加用途说明
-
避免过度注释显而易见的代码
练习
请打印出以下变量的值:
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Bob!'''
print(???)
小结
Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
注释不会被程序运行所执行
python的运行模式
命令行模式
在Windows开始菜单选择“Terminal”,就进入到PowerShell命令行模式,它的提示符类似PS C:\>:
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│ │
│PS C:\Users\hui> │
│ │
└─────────────────────────────────────────────────────────┘
Python交互模式
在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>。
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│ │
│PS C:\Users\hui> python │
│Python 3.x ... on win32 │
│Type "help", ... for more information. │
│>>> _ │
│ │
└─────────────────────────────────────────────────────────┘
在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│ │
│PS C:\Users\hui> python │
│Python 3.x ... on win32 │
│Type "help", ... for more information. │
│>>> exit() │
│ │
│PS C:\Users\hui> │
└─────────────────────────────────────────────────────────┘
也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。
在交互模式的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入100+200,看看计算结果是不是300:
>>> 100+200
300
很简单吧,任何有效的数学计算都可以算出来。
如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:
>>> print('hello, world')
hello, world
这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。
最后,用exit()退出Python,我们的第一个Python程序完成!唯一的缺憾是没有保存下来,下次运行时还要再输入一遍代码。
命令行模式和Python交互模式
请注意区分命令行模式和Python交互模式。
在命令行模式下,可以执行python进入Python交互式环境,也可以执行python hello.py运行一个.py文件。
执行一个.py文件只能在命令行模式执行。如果敲一个命令python hello.py,看到如下错误:
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│ │
│PS C:\Users\hui> python hello.py │
│python: can't open file 'hello.py': [Errno 2] No such │
│file or directory │
│ │
└─────────────────────────────────────────────────────────┘
错误提示No such file or directory说明这个hello.py在当前目录下找不到,必须先把当前目录切换到hello.py所在的目录下,才能正常执行:
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│ │
│PS C:\Users\hui> cd work │
│PS C:\Users\hui> python hello.py │
│Hello, world! │
│ │
└─────────────────────────────────────────────────────────┘
上述命令假定hello.py存储在work目录下。如果你的hello.py存储在其他目录,例如,test目录,则使用cd test,或者使用绝对路径cd \Users\who_am_i\learn\sample。
cd命令
cd命令可以像上面一样进行文件的切换,也可以切换盘符
在Windows下,如果要切换到其他盘符,例如切换到D:盘,需要输入D::
┌─────────────────────────────────────────────────────────┐
│Windows PowerShell - □ x │
├─────────────────────────────────────────────────────────┤
│Windows PowerShell │
│Copyright (C) Microsoft Corporation. All rights reserved.│
│PS C:\Users\hui> D: │
│PS D:\> cd work │
│PS D:\work> │
│ │
└─────────────────────────────────────────────────────────┘
在D:\提示符下,再继续用cd命令切换到包含文件hello.py的work目录,就可以正常执行python hello.py了。
此外,在命令行模式运行.py文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。
例如,在Python交互式环境下,输入:
>>> 100 + 200 + 300
600
直接可以看到结果600。
但是,写一个calc.py的文件,内容如下:
100 + 200 + 300
然后在命令行模式下执行:
C:\work>python calc.py
发现什么输出都没有。
这是正常的。想要输出结果,必须自己用print()打印出来。把calc.py改造一下:
print(100 + 200 + 300)
再执行,就可以看到结果:
C:\work>python calc.py
600
最后,Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!
SyntaxError
如果遇到SyntaxError,表示输入的Python代码有语法错误,最常见的一种语法错误是使用了中文标点,例如使用了中文括号(和):
>>> print('hello')
File "<stdin>", line 1
print('hello')
^
SyntaxError: invalid character '(' (U+FF08)
或者使用了中文引号“和”:
>>> print(“hello”)
File "<stdin>", line 1
print(“hello”)
^
SyntaxError: invalid character '“' (U+201C)
出错时,务必阅读错误原因。对于上述SyntaxError,解释器会明确指出错误原因是无法识别的字符“:invalid character '“'。
小结
在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果;
在命令行模式下,可以直接运行.py文件。
输入和输出
输出
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出hello, world,用代码实现如下:
>>> print('hello, world')
print()函数也可以接受多个字符串,用逗号,隔开,就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
print()也可以打印整数,或者计算结果:
>>> print(300)
300
>>> print(100 + 200)
300
我们还可以把计算100 + 200的结果打印得更漂亮一点:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
输入
现在,你已经可以用print()输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
>>> name = input() # 输入完后回车,然后输入名字
hui
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:
>>> name
'hui'
什么是变量?请回忆初中数学所学的代数基础知识:
设正方形的边长为a,则正方形的面积为a x a。把边长a看做一个变量,我们就可以根据a的值计算正方形的面积,比如:
若a=2,则面积为a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。
要打印出name变量的内容,除了直接写name然后按回车外,还可以用print()函数:
>>> print(name)
Michael
有了输入和输出,我们就可以把上次打印'hello, world'的程序改成有点意义的程序了:
name = input()
print('hello,', name)
运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Michael:
C:\Workspace> python hello.py
hui
hello, hui
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input()可以让你显示一个字符串来提示用户,于是我们把代码改成:
# 在pycharm编辑器里面写,不是写在python交互式环境里面
name = input('please enter your name: ')
print('hello,', name)
再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出:
# 命令行里面运行结果,或者直接在pycharm上面运行
C:\Workspace> python hello.py
please enter your name: hui
hello, hui
每次运行该程序,根据用户输入的不同,输出结果也会不同。
在命令行下,输入和输出就是这么简单。
小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
input()和print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。
练习
请利用print()输出1024 * 768 = xxx:
# TODO:
print(???)
实战演练
数据类型基础练习
练习1:基础数据类型认知
# 整数类型
n = 123
print("整数 n =", n)
print("n 的数据类型:", type(n))
# 浮点数类型
f = 456.789
print("浮点数 f =", f)
print("f 的数据类型:", type(f))
# 字符串类型
s1 = 'Hello, world'
s2 = "Python编程"
print("字符串 s1 =", s1)
print("字符串 s2 =", s2)
print("s1 的数据类型:", type(s1))
# 布尔类型
b1 = True
b2 = False
print("布尔值 b1 =", b1)
print("布尔值 b2 =", b2)
print("b1 的数据类型:", type(b1))
# 空值类型
none_value = None
print("空值 none_value =", none_value)
print("none_value 的数据类型:", type(none_value))
练习2:字符串转义字符练习
# 转义字符使用
print('I\'m OK!') # 单引号转义
print("She said: \"Hello!\"") # 双引号转义
print('换行演示:\n第一行\n第二行') # 换行符
print('制表符演示:\t缩进内容') # 制表符
print('反斜杠:\\') # 反斜杠本身
# 原始字符串
print(r'不转义:\n\t\\') # 使用r前缀
print(r"原始字符串不会处理\n转义")
# 多行字符串
print('''这是多行字符串
第二行内容
第三行内容''')
print("""另一种多行字符串
继续写内容
最后一行""")
布尔运算练习
练习3:布尔值与逻辑运算
# 基础布尔值
print("True =", True)
print("False =", False)
# 比较运算产生布尔值
print("3 > 2 =", 3 > 2)
print("3 > 5 =", 3 > 5)
print("10 == 10 =", 10 == 10)
print("10 != 10 =", 10 != 10)
# and 运算(与运算)
print("True and True =", True and True)
print("True and False =", True and False)
print("False and False =", False and False)
print("3 > 2 and 5 > 3 =", 3 > 2 and 5 > 3)
# or 运算(或运算)
print("True or True =", True or True)
print("True or False =", True or False)
print("False or False =", False or False)
print("3 > 5 or 2 < 1 =", 3 > 5 or 2 < 1)
# not 运算(非运算)
print("not True =", not True)
print("not False =", not False)
print("not (3 > 5) =", not (3 > 5))
变量与赋值练习
练习4:变量基础操作
# 变量定义
student_name = "张三"
age = 18
score = 95.5
is_passed = True
print("学生姓名:", student_name)
print("年龄:", age)
print("分数:", score)
print("是否通过:", is_passed)
# 变量重新赋值
print("---重新赋值---")
age = 19 # 年龄增加
score = 92.0 # 分数变化
is_passed = False # 状态改变
print("新年龄:", age)
print("新分数:", score)
print("新状态:", is_passed)
练习5:变量指向理解
# 演示变量指向关系
print("=== 变量指向演示 ===")
# 初始赋值
a = 'ABC'
print("a = 'ABC' 后, a =", a)
# b指向a所指向的数据
b = a
print("b = a 后, b =", b)
# a指向新的数据
a = 'XYZ'
print("a = 'XYZ' 后:")
print("a =", a)
print("b =", b) # b仍然指向原来的'ABC'
# 另一个例子
x = '第一个字符串'
y = x
x = '第二个字符串'
print("x =", x)
print("y =", y)
练习6:多重赋值练习
# 同时赋值多个变量
name, age, city = "李四", 20, "北京"
print("姓名:", name)
print("年龄:", age)
print("城市:", city)
# 链式赋值
x = y = z = 100
print("x =", x)
print("y =", y)
print("z =", z)
# 变量交换
a = 10
b = 20
print("交换前: a =", a, "b =", b)
a, b = b, a
print("交换后: a =", a, "b =", b)
运行模式练习
练习7:交互式模式体验
在Python交互式模式中逐行输入以下代码,观察结果:
# 直接在 >>> 后输入这些代码
>>> print('Hello, Python!')
>>> n = 123
>>> n
>>> f = 45.6
>>> f
>>> s = 'hello'
>>> s
>>> b = True
>>> b
>>> type(n)
>>> type(f)
>>> type(s)
>>> type(b)
练习8:命令行模式文件创建与执行
创建一个名为basic_demo.py的文件,内容如下:
# basic_demo.py
print("这是我的第一个Python程序")
print("演示基础数据类型")
# 定义变量
name = "王五"
age = 22
height = 175.5
is_student = True
# 打印变量
print("姓名:", name)
print("年龄:", age)
print("身高:", height)
print("是否是学生:", is_student)
# 布尔运算演示
print("年龄大于18:", age > 18)
print("是学生且年龄大于20:", is_student and age > 20)
在命令行中先使用cd命令切换到目录,再执行py文件:
python basic_demo.py
输入输出练习
练习9:基础输入输出
# 简单输入
name = input("请输入你的名字: ")
print("你好,", name)
# 多信息输入
city = input("你来自哪个城市? ")
print("欢迎来自", city, "的", name)
练习10:用户信息收集
print("=== 用户信息登记 ===")
# 获取多个输入
first_name = input("请输入您的姓氏: ")
last_name = input("请输入您的名字: ")
favorite_color = input("您最喜欢的颜色是: ")
like_programming = input("您喜欢编程吗? (是/否) ")
# 处理布尔值
is_like_programming = like_programming == "是"
# 输出信息
print("\n--- 您的信息 ---")
print("姓名:", first_name + last_name)
print("喜欢的颜色:", favorite_color)
print("喜欢编程:", is_like_programming)
练习11:打印格式练习
# 多种打印方式
print('Hello, world') # 单引号
print("Hello, world") # 双引号
print('Hello,', 'world') # 多个参数
print('Hello' + ' ' + 'world') # 字符串拼接
# 打印变量
language = "Python"
version = 3.9
print("我正在学习", language, "版本", version)
综合练习
练习12:内容中的打印练习
# 按照内容要求打印变量值
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
print("n =", n)
print("f =", f)
print("s1 =", s1)
print("s2 =", s2)
print("s3 =", s3)
print("s4 =", s4)
练习13:1024×768输出练习
# 按照要求输出 1024 * 768 = xxx
print("1024 * 768 =", 1024 * 768)
# 另一种输出方式
result = 1024 * 768
print("1024 * 768 =", result)
练习14:布尔逻辑应用
# 实际场景的布尔运算
age = 19
has_id = True
has_ticket = False
print("年龄检查:", age >= 18)
print("有身份证:", has_id)
print("有票:", has_ticket)
print("可以入场:", age >= 18 and has_id)
print("可以乘车:", has_ticket)
print("需要购票:", not has_ticket)
错误调试练习
练习15:常见错误识别
# 正确的代码
print('Hello, World!')
# 常见的错误(不要直接运行,先识别问题)
# print('Hello, World!) # 缺少结束引号
# print("Hello, World!') # 引号不匹配
# Print('Hello, World!') # 大小写错误
# print(Hello, World!) # 字符串没有引号
练习指导建议
交互式模式练习:
-
在Python交互环境中逐行输入代码
-
观察每行代码的立即反馈
-
尝试修改值并观察变化
命令行模式练习:
-
创建.py文件并保存
-
在命令行中运行python 文件名.py
-
修改代码后重新运行观察变化
重点理解:
-
不同数据类型的特征和表示方法
-
变量的赋值和重新赋值机制
-
字符串的转义字符和原始字符串
-
布尔运算的逻辑规则
-
input()和print()的基本用法
注意事项:
-
注意中英文标点符号的区别
-
变量命名要清晰有意义
-
代码缩进要一致
-
及时保存文件变更
通过这些练习,您将牢固掌握Python的基础数据类型、变量概念、运行模式和基本输入输出操作,为后续学习奠定坚实基础!
每日一题
题目:学生信息收集与展示系统
题目要求:请你创建一个学生信息收集与展示程序,要求使用今天学习的所有知识点。
程序需要完成以下功能:
-
信息收集:使用
input()函数收集学生的以下信息:-
学生姓名(字符串)
-
年龄(整数)
-
身高(浮点数,单位:米)
-
最喜欢的编程语言(字符串)
-
是否喜欢Python编程(输入"是"或"否")
-
-
数据处理:
-
将年龄从字符串转换为整数
-
将身高从字符串转换为浮点数
-
将是否喜欢Python转换为布尔值(输入"是"为True,否则为False)
-
-
信息展示:使用
print()函数分块展示信息:-
使用多行字符串展示学生基本信息
-
使用逗号分隔展示学习偏好
-
使用变量拼接展示完整信息
-
-
类型检查:使用
type()函数检查每个变量的数据类型并输出
输出示例:
=== 学生信息收集系统 ===
请输入学生姓名: 张三
请输入年龄: 18
请输入身高(米): 1.75
请输入最喜欢的编程语言: Python
是否喜欢Python编程(是/否): 是
=== 学生信息展示 ===
【基本信息】
姓名:张三
年龄:18岁
身高:1.75米
【学习偏好】
最喜欢的编程语言:Python
喜欢Python编程:True
【数据类型检查】
姓名 的数据类型:<class 'str'>
年龄 的数据类型:<class 'int'>
身高 的数据类型:<class 'float'>
最喜欢的编程语言 的数据类型:<class 'str'>
是否喜欢Python 的数据类型:<class 'bool'>
要求:
-
必须使用今天学习的input()、print()、type()函数
-
必须进行数据类型转换
-
必须使用变量存储数据
-
必须使用多行字符串和逗号分隔输出
-
代码要有适当的注释
提示:
-
布尔值转换可以使用比较运算:
变量 == "是" -
多行字符串使用三引号
-
注意input()输入的都是字符串类型
请编写完整的程序代码,实现上述所有功能。
欢迎在评论区进行打卡留言,并分享学习经验,题目讲解以及分享更多内容,关注博主或者订阅专栏,可以第一时间看到博主的发表博文,感谢大家支持,我们下期见!

51万+





