热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python变量和简单的数据类型

1、运行hello_world.py时发生的情况运行hello_world.py时,Python都做了些什么呢?实际上,即便是运行简单的程序,Python所做的工作也相当多:#!u

1、运行hello_world.py时发生的情况

  运行hello_world.py时,Python都做了些什么呢?实际上,即便是运行简单的程序,Python所做的工作也相当多:

技术分享技术分享
#!/usr/bin/env python
# -*- coding:utf-8 -*-

print("Hello Python world!")
View Code

  运行上述代码时,你将看到如下输出:

Hello Python world!

  运行文件hello_world.py时,末尾的.py指出这是一个python程序,因此编译器将使用python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。

 

2、变量

  下面尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第二行代码进行修改,如下所示:

技术分享技术分享
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:jie.fang

message = "Hello Python world!"
print(message)
View Code

  运行这个程序,输出与之前的一样:

Hello Python world!

  我们添加了一个message变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本"Hello Python world!"。

  添加变量导致python解释器需要做更多的工作。处理第一行代码时,它将文本"Hello Python world!"与变量message关联起来;处理第二行代码时,它将与变量message关联的值打印到屏幕。

  下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加如下两行代码:

技术分享技术分享
#!/usr/bin/env python
# -*- coding:utf-8 -*-

message = "Hello Python World!"
print(message)

message = "Hello Python Crash Course world!"
print(message)
View Code

  现在运行这个程序,将看到两行输出:

技术分享技术分享
Hello Python World!
Hello Python Crash Course world!
View Code

  在程序中可以随时修改变量的值,而python将始终记录变量的最新值。

2.1 变量的命名和使用

  在python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。

  1. 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命令为message_1,但不能将其命令为1_message。
  2. 变量名不能包含空格,但可以使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量greeting message会引发错误。
  3. 不要将python关键字和函数名作为变量名,即不要使用python保留用于特殊用途的单词,如print。
  4. 变量名应既简介又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_person_name好。
  5. 慎用小写字母l和大写字母O,因为它们可能被人看成数字1和0。

  要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着编写的程序越来越多,并开始阅读别人编写的代码,越来越善于创建有意义的变量名。


   注意  就目前而言,应使用小写的python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个比较好的习惯。


2.2 使用变量名时避免命名错误

  编写程序的时候,定义变量和变量的引用时要注意变量名是否有误。错误实例如下:

技术分享技术分享
#!/usr/bin/env python
# -*- coding:utf-8 -*-

message = "Hello Python World!"
print(mesage)
View Code

  在上面的代码中定义的变量名是message,但是print引用的时候却是mesage,运行该程序,将会有如下报错:

技术分享技术分享
Traceback (most recent call last):
  File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in 
    print(mesage)
NameError: name mesage is not defined
View Code

  程序存在错误时,python解释器将竭尽所能地帮助你找出问题所在。程序无法成功运行时,解释器会提供一个Traceback。Traceback是一条记录,指出了解释器在尝试运行代码时,在什么地方遇到了错误。下面就是刚刚变量名引用错误的一个Traceback:


Traceback (most recent call last):
File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in
print(mesage)
NameError: name ‘mesage‘ is not defined


  计算机一丝不苟,但不关心拼写是否正确。因此创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。

  很多编程错误都很简单,只是在程序的某一行输出了一个字符。为找出这种错误而花费很长时间的大有人在。


 注意  要理解新的编程概念,最佳的方法就是尝试在程序中使用它们。


未完待续...

python变量和简单的数据类型


推荐阅读
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • Android开发技巧:使用IconFont减少应用体积
    本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
author-avatar
灵通vs砖头_836
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有