python全栈(基础篇)——day02:后端内容(简介与历史+简单数据类型与变量+python运行模式+输入输出+实战演示+每日一题)

目录

Python简介与历史

Python简介

主要特点

应用领域

Python历史

起源(1980年代末-1990年代初)

早期发展(1990年代)

Python 2.x时代(2000-2008)

Python 3.x时代(2008年至今)

现代发展

小结

简单数据类型

整数

浮点数

字符串

布尔值

空值

检查类型

小结

变量

常量

注释

练习

小结

python的运行模式

命令行模式

Python交互模式

命令行模式和Python交互模式

cd命令

SyntaxError

小结

输入和输出

输出

输入

小结

练习

实战演练

数据类型基础练习

练习1:基础数据类型认知

练习2:字符串转义字符练习

布尔运算练习

练习3:布尔值与逻辑运算

变量与赋值练习

练习4:变量基础操作

练习5:变量指向理解

练习6:多重赋值练习

运行模式练习

练习7:交互式模式体验

练习8:命令行模式文件创建与执行

输入输出练习

练习9:基础输入输出

练习10:用户信息收集

练习11:打印格式练习

综合练习

练习12:内容中的打印练习

练习13:1024×768输出练习

练习14:布尔逻辑应用

错误调试练习

练习15:常见错误识别

练习指导建议

每日一题

题目:学生信息收集与展示系统


欢迎在评论区进行打卡留言,并分享学习经验以及分享更多学习内容,题目讲解等等,博主看到会回的,感谢大家的支持!

Python简介与历史

Python简介

Python是一种高级、解释型、通用的编程语言,由吉多·范罗苏姆(Guido van Rossum)创建。它以简洁易读的语法著称,强调代码的可读性和简洁性,使程序员能够用更少的代码表达想法。

主要特点
  1. 简洁易读:Python使用清晰的语法和缩进结构,使代码更易于阅读和维护

  2. 跨平台:可在Windows、Linux、macOS等多个操作系统上运行

  3. 解释型语言:无需编译,直接运行源代码

  4. 面向对象:支持面向对象编程范式

  5. 丰富的库:拥有庞大的标准库和第三方库生态系统

  6. 动态类型:变量类型在运行时确定

  7. 开源免费:完全免费使用和分发

应用领域
  • 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可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1100-80800,等等。

计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff000xa5b4c3d2,等等。

对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_00010000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4

浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x100和12.3x10是完全相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc'"xyz"等等。请注意,''""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有abc这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I'm,空格,OK这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

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

print(True)
# 输出结果:
True
print(False)
# 输出结果:
False
print(3 > 2)
# 输出结果:
True
print(3 > 5)
# 输出结果:
False

布尔值可以用andornot运算。

and运算是与运算,只有所有都为Trueand运算结果才是True

print(True and True)
# 输出结果:
True
print(True and False)
# 输出结果:
False
print(False and False)
# 输出结果:
False
print(5 > 3 and 3 > 1)
# 输出结果:
True

or运算是或运算,只要其中有一个为Trueor运算结果就是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变成FalseFalse变成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解释器干了两件事情:

  1. 在内存中创建了一个'ABC'的字符串;

  2. 在内存中创建了一个名为a的变量,并把它指向'ABC'

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:

a = 'ABC'
b = a
a = 'XYZ'
print(b)

最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出ba相同,也应该是'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有两种注释方式,分别是单行注释和多行注释

  1. 单行注释

    # 注释不会被执行
    # 计算圆的面积
    radius = 5
    area = 3.14 * radius ** 2  # 使用圆周率近似值

  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.pywork目录,就可以正常执行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

  • 修改代码后重新运行观察变化

重点理解

  1. 不同数据类型的特征和表示方法

  2. 变量的赋值和重新赋值机制

  3. 字符串的转义字符和原始字符串

  4. 布尔运算的逻辑规则

  5. input()和print()的基本用法

注意事项

  • 注意中英文标点符号的区别

  • 变量命名要清晰有意义

  • 代码缩进要一致

  • 及时保存文件变更

通过这些练习,您将牢固掌握Python的基础数据类型、变量概念、运行模式和基本输入输出操作,为后续学习奠定坚实基础!

每日一题

题目:学生信息收集与展示系统

题目要求:请你创建一个学生信息收集与展示程序,要求使用今天学习的所有知识点。

程序需要完成以下功能:

  1. 信息收集:使用input()函数收集学生的以下信息:

    • 学生姓名(字符串)

    • 年龄(整数)

    • 身高(浮点数,单位:米)

    • 最喜欢的编程语言(字符串)

    • 是否喜欢Python编程(输入"是"或"否")

  2. 数据处理

    • 将年龄从字符串转换为整数

    • 将身高从字符串转换为浮点数

    • 将是否喜欢Python转换为布尔值(输入"是"为True,否则为False)

  3. 信息展示:使用print()函数分块展示信息:

    • 使用多行字符串展示学生基本信息

    • 使用逗号分隔展示学习偏好

    • 使用变量拼接展示完整信息

  4. 类型检查:使用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()输入的都是字符串类型

请编写完整的程序代码,实现上述所有功能。

欢迎在评论区进行打卡留言,并分享学习经验,题目讲解以及分享更多内容,关注博主或者订阅专栏,可以第一时间看到博主的发表博文,感谢大家支持,我们下期见!

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python码上全栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值