当前位置: 首页 > news >正文

python与C系列语言的差异总结(3)

与其他大部分编程语言不一样,Python使用空白符(whitespace)和缩进来标识代码块。也就是说,循环体、else条件从句之类的构成,都是由空白符加上冒号(:)来确定的。大部分编程语言都是使用某种大括号来标识代码块的。下面的C语言代码将会计算9的阶乘,结果保存在变量r中:

/* C语言代码 */

int n, r;

n = 9;

r = 1;

while (n > 0) {

    r *= n;

    n--;

}

使用python时,如果你想用{}来表示一个代码块,不好意思,{}已经被用来表示字典了。那就只能另辟蹊径,用:和缩进来实现代码块。下面是python对上述代码的等价实现。

n = 9

r = 1

while n > 0:

    r =  r * n

    n = n - 1

print(r)

Python不用大括号标识代码结构,而是用缩进本身来标识。上述最后两行代码就是while循环体,就是因为它们紧随while语句的冒号后面,并且比while语句缩进一级。如果这两行代码没做缩进,就不会构成while循环体。(别忘了冒号)

在大多数情况下,Python文件中符号#之后的任何内容都是注释,将会被编译器忽略。有一种情况明显例外,即字符串中的#只是一个普通字符:

C/java等语言注释都是用//系列实现。

# 将5赋给x

x = 5

x = 3          # 现在x成了3

x = "# This is not a comment"

赋值是最常用的Python命令,用法也与其他编程语言很类似。下面用Python代码新建变量x,并赋值为5:

x = 5

与很多其他计算机语言不同的是,Python既不需要声明变量类型,也不需要在每行代码后面添加结束符。代码换行即表示结束,变量在首次被赋值时会自动创建。也就是没有了C/java 等语言的声明过程。

Python中的变量性质更加类似于java引用的概念。大家可以通过下面的例子体会。

a = [1, 2, 3]

b = a

c = b

b[1] = 5

print(a, b, c)

我们可以将赋值语句看做两步:等号右侧分配内存创建实际的对象,等号左侧创建引用。然后将等号左侧的引用指向等号右侧的对象。

Python变量可以被设为任何对象,也就是说python变量是没有类型的。而在C和许多其他语言中,变量只能存储声明过的类型的值。下面的Python代码是完全合法的:

x = "Hello"

print(x)

x = 5

print(x)

如果去掉类型检查的话,java的引用和C的指针也可以做到一样的效果。

用del语句删除变量

x = 5

print(x)

del x

整个Python系统中只有1个None的实例,所有对None的引用都指向同一个对象,None只等价于它自身。

python推荐编码风格
在这里插入图片描述

相关文章:

  • 《论区块链技术及应用》审题技巧 - 系统架构设计师
  • smolagents学习笔记系列(五)Tools-in-depth-guide
  • 每日一题-设计内存分配器;详细分析思路以及多解法
  • 如何防止 Docker 注入了恶意脚本
  • C++学习之C概述、数据类型、进制转换与数据存储
  • IntelliJ创建Springboot项目
  • spark的一些指令
  • 链式二叉树
  • 在 Ansys Mechanical 中解决干涉拟合
  • <modal>修改取消按钮样式
  • 半导体芯片制造中 W CVD(钨化学气相沉积)
  • Android开发弹框在底部显示
  • Markdown
  • 深入理解指针2
  • 【一条龙教程】用AI DS+创作原创音乐 (配合Midjourney漫画)制作原创MTV
  • vue3:vue3项目安装并引入Element-plus
  • 深入探讨分布式事务解决方案:从二阶段提交到现代模式
  • Github项目管理之 其余分支同步main分支
  • pip太慢了怎么办 换源下载
  • 【Uniapp-Vue3】导入uni-id用户体系
  • 网站如何做流量赚钱/互联网营销推广怎么做
  • 教师资格证中职网站建设与管理/口碑营销的案例有哪些
  • wordpress 搭建教育/seo的优缺点
  • 做网站什么都不懂 怎么做/域名排名查询
  • 毕业设计做网站好的想法/整站优化系统
  • 上海诚杰华建设工程咨询有限公司网站/拓客公司联系方式