学完C/C++,再学Python是一种什么体验?

这篇具有很好参考价值的文章主要介绍了学完C/C++,再学Python是一种什么体验?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学完C/C++,再学Python是一种什么体验?,Python手把手教程,python,c语言,后端

你好,我是安然无虞。

学完C/C++,再学Python是一种什么体验?,Python手把手教程,python,c语言,后端

变量及类型

变量

print(1 / 2) # 0.5
  • 与C/C++等其他语言不同的是,Python中两个整数相除的结果为浮点数

  • Python中浮点数在内存中存储的时候遵循IEEE754标准,这套标准在表示浮点数时可能会存在微小的误差,但这个误差在实际开发中不会造成太大的影响

Python中创建变量的语法非常简单,比如:

a = 10
  • 其中 a 为变量名,当程序中需要创建多个变量时,可以通过变量名来进行区分
  • 首次使用赋值表达式设置变量的值,这个操作是创建变量(初始化操作)
  • 对已存在的变量进行赋值操作,则是在修改这个变量的值(重新赋值)

为了区分不同种类的数据,于是出现了变量类型这个概念。

类型

与C/C++等其他语言不同的是,Python中的变量在定义的时候不需要显示声明其类型,而是在初始化值的时候确定的。

整数

整数的类型为int,比如:

a = 10
print(type(a)) # <class 'int'>
  • type和print一样,都是Python中的内置函数,可以使用type函数来查看一个变量的类型
  • 与C/C++等其他语言不同的是,Python中int类型的变量表示的数据范围是没有上限的,只要内存够大,就能够表示无限大的数据

浮点数

浮点数(小数)的类型为float,比如:

b = 0.7
print(type(b)) # <class 'float'>
  • 与C/C++等其他语言不同的是,Python中表示浮点数时只有float一种类型,没有double类型,实际上Python中的float类型就相当于C/C++等语言中的double类型,表示双精度浮点数

Python开发者的哲学:用一种方法,最好只有一种方法来做一件事。

字符串

字符串的类型为str,比如:

c = 'China'
print(type(c)) # <class 'str'>

字符串可以是用“单引号”,“双引号”,“三单引号”以及“三双引号”引起来的一串字符序列。比如:

a = 'China'
b = "China"
c = '''China'''
d = """China"""

print(a) # China
print(b) # China
print(c) # China
print(d) # China

另外,使用“三单引号”和“三双引号”可以将多行字符串赋值给变量,比如:

a = """
hello world
hello python
"""

可以使用len函数来获取字符串的长度,比如:

a = "China"
print(len(a))

还可以使用’+'对两个字符串进行拼接,比如:

a = "hello"
b = " world"
c = a + b
print(c) # hello world

布尔

表示真假的类型是bool,比如:

a = True
print(type(a)) # <class 'bool'>
  • 布尔类型只有两种取值,True(真)和False(假)

其它类型

除了上述的类型之外,Python中还有list, dict, 自定义类型等等,后面会一一介绍。

动态类型特性

静态类型与动态类型:

  • 静态类型:在编译时,编译器基于所声明的数据类型确定变量的类型
  • 动态类型:在运行时,解释器基于变量值的类型确定变量的类型

C/C++等大多数语言都是静态类型语言,在编写静态类型语言的代码时,必须声明变量的数据类型,而Python是一种动态类型语言,因此在编写Python代码时,不用事先声明变量的数据类型。

由于在动态类型语言中,变量值的类型决定了变量的类型,因此在Python中同一个变量在不同时刻其类型可能是不同的,比如:

a = 10
print(type(a)) # <class 'int'>

a = 0.7
print(type(a)) # <class 'float'>

动态类型特性是一把双刃剑:

  • 对于中小型程序,可以大大的减少代码量,比如写一段代码就可以同时支持多种类型
  • 对于大型程序,提高了模块之间的交互成本,比如程序员A提供的代码难以被B理解

注释

Python中有以下两种风格的注释:

注释行

使用 # 开头的行都是注释行,注释可以写在一行的开头,也可以写在代码的右侧,比如:

# 这是一个注释
print("hello python") # 这也是一个注释

文档字符串

使用三引号引起来的内容称为“文档字符串”,也是注释的一种,比如:

"""
这是多行文本知识
第一行
第二行
第三行
...
"""

说明一下:

  • Python中没有多行注释的概念,能够以三引号的方式添加注释,根本原因是因为Python会忽略未分配给变量的字符串文本
  • 这种以三引号引起来的“文档字符串”,通常放在文件、函数、类的开头

输入输出

程序需要与用户进行交互。

  • 用户把信息传递给程序的过程,称为“输入”
  • 程序把结果展示给用户的过程,称为“输出”

输入输出最基本的方法就是控制台,用户可以通过控制台输入一些字符串传递给程序,程序通过控制台将其运行结果展示给用户。

通过控制台输出

使用print函数可以将任意类型的变量输出到控制台,比如:

a = 2024
print(a) # 2024

a = 0.7
print(a) # 0.7

如果想要混合输出不同类型的变量,那么就需要对输出的字符串进行格式化,比如:

year = 2024
name = "dragon"

print(f'The {year} year is {name} year') # The 2024 year is dragon year - 英语语法可忽略(手动狗头)

说明一下:

  • 使用 f 作为前缀的字符串,称为 f-string
  • f-string里面的 {} 用来内嵌一个其他的变量或表达式

通过控制台输入

使用input函数可以从控制台读取用户输入的数据,比如:

num = input("你输入一个整数:")
print(f'你输入的整数是{num}')

说明一下:

  • Input的参数相当于“提示信息”,也可以没有
  • input的返回值就是用户输入的内容,是字符串类型

由于input 函数的返回值是字符串类型,因此下面的代码实际进行的是字符串拼接操作:

a = input('请输入第一个整数:') # 10
b = input('请输入第二个整数:') # 20
print(f'{a} + {b} = {a + b}') # 1020

如果我们想进行算术运算,那么在运算前需要进行类型转换操作,比如:

a = input('请输入第一个整数:') # 10
b = input('请输入第二个整数:') # 20
a = int(a)
b = int(b)
print(f'{a} + {b} = {a + b}') # 30

说明一下:

  • 与C/C++不同的是,使用int()的方式可以将一个变量转换为int类型
  • 类似的,还有float(), bool(), str()等

运算符

算术运算符

Python中的算术运算符包括 +,-,*,/,%,**(幂),//(地板除)

  • 0 不能作为除数,否则程序会抛异常
  • 两个整数相除后得到的是一个浮点数
  • ** 可以求一个数的整数次幂,也可以求一个数的小数次幂
  • // 是地板除,整数除以整数得到的还是整数(向下取整)

关系运算符

Python中的关系运算符包括 <, <=, >, >=, ==, !=

判断两个字符串是否相等

与C/C++等其他语言不同的是,Python中使用==或者!=即可判断两个字符串的内容是否相等。比如:

a = "hello"
b = "hello"
print(a == b) # True

判断两个浮点数是否相等

不能直接使用==判断两个浮点数是否相等,因为浮点数在计算机中的表示并不是精确的。比如:

a = 0.1 + 0.2
b = 0.3
print(a) # 0.30000000000000004
print(b) # 0.3
print(a == b) # False

正确的比较两个浮点数的方式应该是,判定这两个浮点数的差值是否小于允许的误差范围。比如:

a = 0.1 + 0.2
b = 0.3
print(a) # 0.30000000000000004
print(b) # 0.3
print(-0.000001 < (a - b) < 0.000001) # True

逻辑运算符

Python中的逻辑运算符包括:and, or, not

  • and:并且。两侧操作数均为True,则最终结果为True,否则为False(一假则假)
  • or:或者。两侧操作数均为False,则最终结果为False,否则为True(一真则真)
  • not:逻辑取反。操作数本身为True,则返回False,本身为False,则返回True

说明一下:

  • 在Python中 a < b and b < c 等价于 a < b < c,这个设定与其他编程语言都不相同
  • 与其他编程语言类似的是,Python中也存在短路求值规则,对于and,如果左侧表达式为False,则整体一定为False,因此右侧表达式不再执行;对于or,如果左侧表达式为True,则整体一定为True,因此右侧表达式不再执行

赋值运算符

Python中的赋值运算符,包括=+=-=*=/=%=**=//=&=|=^=<<=>>=

Python还支持多元赋值的方式对多个变量进行赋值。比如:

a, b = 10, 20
print(a) # 10
print(b) # 20

多元赋值能够帮助我们解决一些特殊的问题,比如交换两个变量的值:

a, b = 10, 20
a, b = b, a
print(a) # 20
print(b) # 10

说明一下:

  • Python中没有++,--的概念,如果需要对变量进行自增/自减,可以使用+= / -= 1

除去上面介绍的运算符之外,Python中还有其他的运算符,我们后续介绍。

条件循环语句

条件语句

语法格式

标准格式

if 表达式1:
   语句块1
elif 表达式2:
   语句块2
else:
   语句块3

说明一下:

  • 条件表达式和else后面使用 : 结尾
  • 对于多条件分支,不是写作else if,而是elif
  • 命中条件后要执行的语句块,使用缩进来区分各个代码块
  • Python当中if语句也支持嵌套

代码示例:

choice = input('你大学认真学习了吗?(输入1表示是,输入0表示否): ')

if choice == '1':
    print('你将会找到一份满意的工作。')
elif choice == '0':
    print('你将来会后悔的。')
else:
    print('你的输入有误。')

说明一下:

  • input函数的返回值是字符串类型

代码案例

1.输入一个整数,判定是否是奇数

num = int(input('请输入一个整数:')) # 将输入的字符串转换成int类型

if num % 2 == 1:
    print('这是一个奇数')
else:
    print('这是一个偶数')

说明一下:

  • 在C/C++等其他语言中负奇数取余后得到的是-1,在Python中负奇数取余后得到的是1

2.输入一个整数,判定是正数还是负数

num = int(input('请输入一个整数:'))

if num > 0:
    print('这是一个正数')
elif num < 0:
    print('这是一个负数')
else:
    print('这是0')

3.判断年份是闰年还是平年

year = int(input('请输入一个年份:'))

if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print('闰年')
else:
    print('平年')

缩进和代码块

在Python中使用缩进来区分代码块,不同级别的缩进,程序的执行效果是不同的。比如:

# 代码1
num = input('请输入一个整数:')
if num == '1':
    print('hello')
    print('world')

# 代码2
num = input('请输入一个整数:')
if num == '1':
    print('hello')
print('world')

说明一下:

  • 代码1中的两条打印语句都具有一级缩进,因此都属于if内的代码块
  • 代码2中只有第一条打印语句具有一级缩进,第二条打印语句没有缩进,因此只有第一条打印语句属于if内的代码块

空语句pass

Python语法规定,if语句、for语句、while语句、函数体、类定义都不能为空,如果因为某些原因写了对应无内容的语句,就需要使用pass语句来避免语法错误。如下:

if a < b:
  pass

while a < b:
  pass

for x in range(10):
  pass

def func():
  pass

class MyClass:
  pass

说明一下:

  • 空语句pass并不会对程序的执行有任何影响,只是占个位置,保持Python语法格式符合要求。

循环语句

while循环

语法格式
while 表达式1:
  语句块1 
else:
  语句块2

说明一下:

  • 在循环表达式和else后面使用 :结尾
  • 命中条件后要执行的语句块,使用缩进来区分各个代码块
  • Python当中while循环也支持嵌套
  • break,continue用法与C/C++一致
  • 如果使用了else语句,那么当循环条件不再成立时,会执行一次else代码块
代码案例

1.打印1-10的整数

num = 1

while num <= 10:
    print(num)
    num += 1

2.计算1-100的和

num = 1
sum = 0

while num <= 100:
    sum += num
    num += 1

print(sum)

3.计算5的阶乘

result = 1
num = 5

while num >= 1:
    result *= num
    num -= 1

print(result)

4.求1! + 2! + 3! + 4! + 5!

num = 1
sum = 0

while num <= 5:
    factorResult = 1
    i = 1

    # 计算num的阶乘
    while i <= num:
        factorResult *= i
        i += 1

    sum += factorResult
    num += 1

print(sum)

for循环

语法格式
for 循环变量 in 可迭代对象:
  语句块1
else:
  语句块2

说明一下:

  • 可迭代对象包括列表、元组、集合、字典、字符串等
  • 可迭代对象和else后面以 :结尾
  • 命中条件后要执行的代码块,使用缩进进行区分
  • 如果使用了else语句,那么当循环条件不在满足时,会执行一次else代码块
range函数

range函数经常和for循环搭配使用,其可以返回一个数字序列(可迭代对象)。

range(起始值=0,结束值,增量值=1)

参数说明:

  • 第一个参数代表的是数字序列的起始值,默认为0
  • 第二个参数代表的是数字序列的结束值(不包括结束值,左闭右开)
  • 第三个参数代表的是数字序列的增量值(步长),默认为1

range函数的三种使用方式:

  • range(end): 返回的数字序列为0,1,2,3 … end-1
  • range(start, end): 返回的数字序列为start, start+1, start+2 … end-1
  • range(start, end, step): 返回的数字序列为start, start + step, start + 2 * step … start + n * step

对于range函数的第三种使用方式,如果step的值为正数,那么start + n * step < end,如果step的值为负数,那么start + n * step > end.

range(10) # 0 1 2 3 4 5 6 7 8 9
range(1, 10) # 1 2 3 4 5 6 7 8 9
range(1, 10, 2) # 1 3 5 7 9
range(10, 1, -2) # 10 8 6 4 2
代码案例

1.打印1-10的整数

for i in range(1, 11):
    print(i)

2.打印10-1的整数

for i in range(10, 0, -1):
    print(i)

3.求1-100的和文章来源地址https://www.toymoban.com/news/detail-796008.html

sum = 0

for i in range(1, 101):
    sum += i
print(sum)
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~

到了这里,关于学完C/C++,再学Python是一种什么体验?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPS AI 详细体验教程!手把手教你体验AI

    你好,目前 WPS AI 正快速应用至金山办公的产品中。本文档将为你介绍目前可使用的 AI 功能。 如果已获得体验资格,可以下载下方版本体验: . 下载WPS Win客户端 下载WPS 移动版(安卓) 在浏览器使用金山文档 . 如果未获得体验资格,可通过以下3 个步骤获取: 点此访问WPS

    2024年02月16日
    浏览(94)
  • QT初体验:手把手带你写一个自己的串口助手

    本文记录一下用QT Creator 写一个基本功能齐全的串口助手的过程,整个工程只有几百行代码,跟着做下来对新手来说可以更快了解整个QT项目的开发过程和一些常用控件的使用方法。对新手学习QT能增强信心,话不多说,正文开始 先看成品: (1) 创建QMainWindow工程。这一步就不

    2024年02月05日
    浏览(63)
  • SDXL 1.0出图效果直逼Midjourney!手把手教你快速体验!

    最近,Stability AI正式推出了全新的SDXL 1.0版本。经过我的实际测试,与之前的1.5版本相比,XL的效果有了巨大的提升,可以说是全方位的超越。不仅在理解提示词方面表现出色,而且图片的构图、颜色渲染和画面细腻程度都有了很大的进步,实际出图效果堪比Midjourney。此外,

    2024年02月14日
    浏览(56)
  • 【Stable Diffusion | AI 绘画】手把手教你体验--AI 生成唯美二次元

    应用背景 AI 绘画是一种应用人工智能技术来生成数字艺术作品的创作方法。这个领域的发展让艺术家和设计师能够更加轻松地使用技术来实现创意和想象。AI绘画是数字艺术领域的一种热门话题,因为它可以让我们了解人工智能技术如何应用于创造性领域,并且可以让更多的

    2024年02月11日
    浏览(51)
  • 【第二趴】uni-app开发工具(手把手带你安装HBuilderX、搭建第一个多端项目初体验)

    聚沙成塔——每天进步一点点,大家好我是几何心凉,不难发现越来越多的前端招聘JD中都加入了uni-app 这一项,它也已经成为前端开发者不可或缺的一项技能了,所以凉哥为大家推出 聚沙成塔【45天玩转uni-app】 专栏,帮助大家对 uni-app 进行学习和理解,uni-app可以通过一套代

    2023年04月23日
    浏览(96)
  • 小码农UU手把手教你云服务器搭建linux环境,还用什么虚拟机啊

    直接安装在物理机上 . 但是由于 Linux 桌面使用起来非常不友好, 不推荐. 使用 虚拟机软件 , 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. 使用 云服务器 , 可以直接在 腾讯云, 阿里云或华为

    2024年02月06日
    浏览(47)
  • 手把手教你用Python编写邮箱脚本引擎

    版权声明:原创不易,本文禁止抄袭、转载需附上链接,侵权必究! 邮箱是传输信息方式之一,个人,企业等都在使用,朋友之间发消息,注册/登录信息验证,订阅邮箱,企业招聘,向客户发送消息等都是邮箱的使用场景;邮箱有两个较重要的协议:SMTP和POP3,均位于OSI7层

    2024年02月06日
    浏览(59)
  • 手把手教Python项目环境的导出与导入

    当我们尝试 复现别人的项目 或 在新设备上 重新部署项目 时,需要确保使用的软件包与原项目中使用的软件包版本一致。(这是因为不同版本的软件包可能会有不同的行为和功能,可能会导致项目的行为和结果不同,也可能会导致与其他软件包的冲突。) 在 大型项目的开发

    2024年02月06日
    浏览(45)
  • 手把手教你用Python实现2048小游戏

    感觉好久没有写小游戏玩了,今天恰巧有空.这次我来用Python做个2048小游戏吧.废话不多说,文中有非常详细的代码示例,需要的朋友可以参考下 目录 一、开发环境 二、环境搭建 三、原理介绍 四、效果图 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 安装

    2024年04月28日
    浏览(75)
  • HTAP应该是一种需求 而不是一种产品

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 华为云 MVP , 腾讯云TVP , 滴滴Kafka技术专家 、 LogiKM PMC(改名KnowStreaming) 。 LogiKM(改名KnowStreaming) 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导

    2024年01月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包