4招教你创建一个程序代码

2023-05-16

Python 有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。相信大部分读者已经了解二者的不同,但是不管怎样,我们还是再来复习一下。语句使用关键字来组成命令,类似告诉解释器一个命令。你告诉 Python 做什么,它就为你做什么,语句可以有输出,也可以没有输出。下面我们先用 print 语句完成程序员们老生常谈第一个编程实例,Hello World。

>>> print 'Hello World!' Hello World!
而表达式没有关键字。它们可以是使用数学操作符构成的算术表达式,也可以是使用括号调用的函数。它们可以接受用户输入,也可以不接受用户输入,有些会有输出,有些则没有。(在 Python 中未指定返回值的函数会自动返回 None,等价于 NULL)下面举一个例子,函数 abs()接受一个数值输入,然后输出这个数值的绝对值。

>>> abs(4)4>>> abs(-4)4
本章中我们将分别介绍语句和表达式。我们先来研究 print 语句。

1.1 程序输出,print 语句及“Hello World!”

有些语言,比如 C,通过函数输出数据到屏幕,例如函数 printf()。然而在 Python 和大多数解释执行的脚本语言中,则使用语句进行输出。很多的 shell 脚本语言使用 echo 命令来输出程序结果。

核心笔记:在交互式解释器中显示变量的值

通常当你想看变量内容时,你会在代码中使用print语句输出。不过在交互式解释器中,你可以用 print 语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。

在下面的例子中,我们把一个字符串赋值给变量 myString,先用print 来显示变量的内容,之后用变量名称来显示。

创建电商平台,你需要API数据数据调用

>>> myString = 'Hello World!'>>> print myStringHello World!>>> myString'Hello World!'
注意,在仅用变量名时,输出的字符串是用单引号括起来了的。这是为了让非字符串对象也能以字符串的方式显示在屏幕上——即它显示的是该对象的字符串表示,而不仅仅是字符串本身。引号表示你刚刚输入的变量的值是一个字符串。等你对 Python 有了较深入的了解之后,你就会知道 print 语句调用 str()函数显示对象,而交互式解释器则调用 repr()函数来显示对象。

下划线( _ )在解释器中有特别的含义,表示最后一个表达式的值。所以上面的代码执行之后,下划线变量会包含字符串。

>>> _Hello World!
Python 的 print 语句,与字符串格式操作符(%)结合使用,可实现字符串替换功能,这一点和 C 语言中的 printf()函数非常相似。

>>> print "%s is number %d!" % ("Python",1)Python is number 1!
%s 表示由一个字符串来替换,而%d 表示由一个整型来替换,另外一个很常用的就是%f,它表示由一个浮点型来替换。我们会在本章中看到更多类似的例子。Python 非常灵活,所以即使你将数字传递给 %s,也不会像其他要求严格的语言一样引发严重后果。参阅 6.4.1 节以了解更多关于字符串格式操作符的信息。Print 语句也支持将输出重定向到文件。这个特性是从 Python2.0 开始新增的。符号 >> 用来重定向输出,下面这个例子将输出重定向到标准错误输出。

import sysprint >> sys.stderr, 'Fatal error: invalid input!'
下面是一个将输出重定向到日志文件的例子。

logfile = open('/tmp/mylog.txt', 'a')print >> logfile, 'Fatal error: invalid input!'logfile.close()
1.2 程序输入和 raw_input()内建函数

从用户那里得到数据输入的最容易的方法是使用 raw_input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。你可以使用 int() 内建函数将用户输入的字符串转换为整型。

>>> user = raw_input('Enter login name: ')Enter login name: root>>> print 'Your login is:', userYour login is: root
上面这个例子只能用于文本输入。下面是输入一个数值字符串(并将字符串转换为整型)的例子:

>>> num = raw_input('Now enter a number: ') Now enter a number: 1024>>> print 'Doubling your number: %d' % (int(num) * 2) Doubling your number: 2048
内建函数 int()将数值字符串转换成整型值,这样才可以对它进行数学运算。参阅第 6.5.3 节以了解更多有关内建函数 raw_input()的知识。

核心笔记:从交互式解释器中获得帮助

在学习 Python 的过程中,如果需要得到一个生疏函数的帮助,只需要对它调用内建函数 help()。通过用函数名作为 help()的参数就能得到相应的帮助信息。

>>> help(raw_input)Help on built-in function raw_input in module __builtin__:raw_input(...)      raw_input([prompt]) -> string
从标准输入读取一个字符串并自动删除串尾的换行字符。如果用户键入了 EOF 字符(Unix: Ctrl+D, Windows: Ctrl+Z+回车),则引发 EOFError,在 Unix 平台,只要可用,就使用 GNU readline 库。如果提供提示字符串参数,则显示该字符串并自动删去字符串末尾的换行字符。(本段是 help(raw_input)的输出,译文是对其加以解释,方便读者理解——译者注)

核心风格: 一直在函数外做用户交互操作

新手在需要显示信息或得到用户输入时,很容易想到使用 print 语句和 raw_input()内建函数。不过我们在此建议函数应该保持其清晰性,也就是它只应该接受参数,返回结果。从用户那里得到需要的数据,然后调用函数处理,从函数得到返回值,然后显示结果给用户。这样你就能够在其他地方也可以使用你的函数而不必担心自定义输出的问题。这个规则的一个例外是,如果函数的基本功能就是为了得到用户输出,或者就是为了输出信息,这时在函数内使用 print 语句或 raw_input() 也未尝不可。更重要的是,将函数分为两大类,一类只做事,不需要返回值(比如与用户交互或设置变量的值),另一类则执行一些运算,最后返回结果。如果输出就是函数的目的,那么在函数体内使用 print 语句也是可以接受的选择。

1.3 注释

和大部分脚本及 Unix-shell 语言一样,Python 也使用 # 符号标示注释,从 # 开始,直到一行结束的内容都是注释。

>>> # one comment... print 'Hello World!'    # another commentHello World!
有一种叫做文档字符串的特别注释。你可以在模块、类或者函数的起始添加一个字符串,起到在线文档的功能,这是 Java 程序员非常熟悉的一个特性。

def foo():   "This is a doc string."   return True   
与普通注释不同,文档字符串可以在运行时访问,也可以用来自动生成文档。

1.4 操作符

和其他绝大多数的语言一样,Python 中的标准算术操作符以你熟悉的方式工作。

+    -    *    /    //   %    **
加、减、乘、除和取余都是标准操作符。Python 有两种除法操作符,单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。传统除法是指如果两个操作数都是整型的话,它将执行的是地板除(取比商小的最大整数)(关于“地板除”请参考第 5 章——译者注),而浮点除法是真正的除法,不管操作数是什么类型,浮点除法总是执行真正的除法。你可以在第 5 章学到更多有关传统除法、真正的除法及浮点除法的知识。

还有一个乘方操作符,双星号(**)。尽管我们一直强调这些操作符的算术本质,但是请注意对于其他数据类型,有些操作符是被重载了,比如字符串和列表。让我们看一个例子。

>>> print -2 * 4 + 3 ** 21
就像你看到的,操作符的优先级和你想象的一样:+和−优先级最低,*、/、//、%优先级较高,单目操作符+和−优先级更高,乘方的优先级最高。(3**2)首先求值,然后是(−2*4),然后是对两个结果进行求和。

Python 当然也有标准比较操作符,比较运算根据表达式的值的真假返回布尔值。

<    <=   >    >=   ==   !=   <>
试一试,看看这些比较运算会得到什么结果。

>>> 2 < 4True>>> 2 == 4False>>> 2 > 4False>>> 6.2 <= 6False>>> 6.2 <= 6.2True>>> 6.2 <= 6.20001True
Python 目前支持两种“不等于”比较操作符,!=和<>,分别是 C 风格和 ABC/Pascal 风格。目前后者慢慢地被淘汰了,所以我们推荐使用前者。

Python 也提供了逻辑操作符。

and   or   not
使用逻辑操作符可以将任意表达式连接在一起,并得到一个布尔值。

>>> 2 < 4 and 2 == 4False>>> 2 > 4 or 2 < 4True>>> not 6.2 <= 6True>>> 3 < 4 < 5True
最后一个例子在其他语言中通常是不合法的,不过 Python 支持这样的表达式,既简洁又优美。它实际上是下面表达式的缩写:

>>> 3 < 4 and 4 < 5
核心风格:合理使用括号增强代码的可读性

在很多场合使用括号都是一个好主意,而没用括号的话,会使程序得到错误结果,或使代码可读性降低,引起阅读者困惑。括号在 Python 语言中不是必须存在的,不过为了可读性,使用括号总是值得的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4招教你创建一个程序代码 的相关文章

  • MySQL OCP888题解031-使用X509加密连接

    文章目录 1 原题1 1 英文原题1 2 中文翻译1 3 答案 2 题目解析2 1 题干解析2 2 选项解析 3 知识点3 1 知识点1 xff1a X509 X 509 3 2 知识点2 xff1a 创建需要X509加密的账户 CREAT
  • 【PIL】验证码验证

    import random from PIL import Image ImageDraw ImageFont ImageFilter 图片的写文本的基础使用 img 61 Image new mode 61 34 RGB 34 size
  • 解决80端口被占用的问题

    先前在安装warmpsever的时候 xff0c 图标颜色总是橘黄色的不正常状态 xff0c 弹出系统错误提示框 xff1a 无法启动此程序 xff0c 因为计算机中丢失 MSVCR110 dll 尝试重新安装该程序以解决此问题 百度了一下
  • 《Python程序设计(第3版)》配套教学大纲

    配套教材 xff1a Python程序设计 xff08 第3版 xff09 xff0c xff08 ISBN xff1a 978 7 302 55083 9 xff09 xff0c 董付国 xff0c 清华大学出版社 xff0c 2020年
  • ROS学习番外篇11—Winows的WSL2(Linux子系统)下安装ROS并搭建开发环境

    一般ROS的开发是在Ubuntu下面进行的 自从今年6月份微软为WSL装配上了gui神器之后 我们又多出了一种新的玩法 那就是在Windows下用WSL2来安装Ubuntu虚拟机来做ROS的开发 虽然可能有老哥要说 之前搞个虚拟机不也一样
  • 数据结构5 栈和队列

    1 1 分数 2 作者 DS课程组单位 浙江大学 Run the following operations on a stack S Push S 1 Push S 2 Pop S Push S 3 Pop S Pop S The outp
  • git命令之快速搭建远程仓库

    首先使用系统管理员账号登录远程服务器 xff0c 具体步骤如下所示 xff1a 1 安装git应用程序 sudo apt get install git 2 创建git用户组和git用户 xff0c 具体命令如下所示 xff1a group
  • AM5728(AM5708)开发实战之使能u-boot看门狗

    一 看门狗介绍 为了使嵌入式系统能够在异常情况下自动复位 xff0c 一般需要引入看门狗 看门狗可以分为如下几类 xff1a 1 CPU自带的看门狗模块 优点 xff1a 可以灵活配置溢出时间 xff0c 可以随时禁用 缺点 xff1a 需
  • AM5728(AM5708)开发实战之调试DP83822 LED

    一 LED寄存器分析 MLEDCR即Multi LED Control Register 地址为0x0025 MLEDCR 1 0 设置MLED路由功能 具体如下所示 0x00表示MLED功能路由到COL PIN29 0x03表示MLED功
  • AM5728(AM5708)开发实战之移植OpenCV-3.4.11

    一 概述 OpenCV是一个开源的跨平台计算机视觉库 xff0c 可以运行在Linux Windows Mac OS等操作系统上 xff0c 它为图像处理 模式识别 三维重建 物体跟踪 机器学习提供了丰富的算法 由于OpenCV依赖包特别多
  • 国外大神深度评测Firefly-RK3399 Android8.1固件

    国外大神深度评测Firefly RK3399 Android8 1固件 Review of Firefly RK3399 Board with Android 8 1 Firmware 内容详细介绍了组装Firefly RK3399 xff
  • 设备树之I2C和SPI实例

    I2C实例 clock frequency i2c总线频率 xff0c 常用值有100000 xff0c 400000 address cells 该属性值必须为1 size cells 该属性值必须为0 i2c具体实例如下图所示 xff1
  • 设备树之GPIO和中断实例

    概述 设备树不仅仅描述常规硬件信息 xff0c 还可以描述中断 xff0c GPIO xff0c DMA xff0c PINCTRL xff0c 时钟 xff0c 电源管理等内核基础设施信息及其使用情况 xff0c 下面重点介绍中断 xff
  • 设备树之HDMI输出实例

    一 HDMI输出实例详解 图1 图2 图3 图1 xff0c 图2和图3构成了一个典型的HDMI输出链路 图1 xff1a HDMI接口设备结点 xff0c 该HDMI接口使用TYPE A接口 注意 xff1a HDMI接口结点名称为con
  • 设备树之MMC总线实例

    MMC总线重要属性 address cells 61 lt 1 gt 该属性值必须为1 size cells 61 lt 0 gt 该属性值必须为0 max frequency mmc总线最大时钟频率 bus width mmc总线位宽 x
  • Coursera计算概论A(李戈)教授课程

    昨天 xff08 4月29日 xff09 结束了 计算概论A的课程 xff0c 我对C语言有了更多的了解 这部课程算是我踏入程序设计领域的一个敲门砖吧 对C程序语言的理解 xff1a C语言简单 高效 易懂 xff0c 重点在于 1 结构
  • linux 命令行报bash command not found的解决办法

    命令行报bash command not found的解决办法 xff08 几乎所有命令 xff09 命令行输入命令执行后报 bash command not found 这是由于 系统PATH设置问题 xff0c PATH没有设置对 xf
  • cprintf函数调用到屏幕(cga)输出流程分析

    本文所有代码均为JOS内核源代码 xff0c 可以从MIT 6 828课程网站下载 概述 xff1a 所有向屏幕输出的过程 xff0c 一定是经过参数处理 xff0c 最后组织成一个字符数组 BUFFER xff0c 这个数组 xff08
  • laravel API 接受PUT请求Content-Type:application/x-www-form-urlencoded

    微信小程序 xff1a wx request url https m sybmfw cn api ys user 43 openid method put data that data formdata header content typ

随机推荐

  • 咕咕东的奇妙序列

    题意 xff1a 咕咕东 正在上可怕的复变函数 xff0c 但对于稳拿A Plus的 咕咕东 来说 xff0c 她早已不再听课 xff0c 此时她在睡梦中 突然想到了一个奇怪的无限序列 xff1a 112123123412345 这个序列由
  • w15作业--ZJM 与霍格沃兹(必做)

    题意 xff1a ZJM 为了准备霍格沃兹的期末考试 xff0c 决心背魔咒词典 xff0c 一举拿下咒语翻译题 题库格式 xff1a 魔咒 对应功能 背完题库后 xff0c ZJM 开始刷题 xff0c 现共有 N 道题 xff0c 每道
  • 实现WSL2固定IP效果+开机启动

    重启wsl2的发行版后 xff0c 系统分配给发行版的ip每次都不同 想要远程ssh过来或者运行其他需要外部访问的任务时 xff0c windows不知道要把端口转发给哪个ip 解决思路 启动wsl2后 xff0c 运行一个脚本 xff0c
  • Windows连接不上linux虚拟机的问题排查

    Windows连接不上虚拟机的问题排查 今天使用windows连接VMware上安装的linux虚拟机 xff0c 一直连接不上 xff0c 最后花了两个小时才解决了问题 xff0c 这里记录一下 xff0c 供日后参考 说明一下 xff0
  • UE4编写H5遇到的问题

    UE4自从4 16之后 xff0c 就采用emscripten技术进行h5编译 xff0c 游戏H5运行的过程中 xff0c 遇到这么一个问题 xff0c 记录一下 xff1a 数据服务器是一个独立的网站 xff0c 地址为 xff1a h
  • UE4开发HTML5遇到的问题

    最近要做一个基于UE4的HTML5仿真项目 xff0c 没真正做过HTML5的小白 xff0c 表示很无所畏惧 首先 xff0c 找一篇UE4下H5的教程 xff0c 简单学习一遍 xff1a 安装 xff0c 环境 xff0c 项目配置
  • redis windows版本编译

    1 redis for windows 下载地址 xff1a https github com tporadowski redis 2 下载后解压 xff0c 用vs2019打开 redis version msvs RedisServer
  • Ubuntu子系统VcXsrv黑屏compiz (core)

    在windows10上安装图形化ubuntu桌面的步骤 xff1a 1 安装 windows 子系统 ubuntu 1 xff09 在启用或关闭Linux 的 Windows子系统 2 xff09 在Microsoft Store中搜索ub
  • 虚幻引擎5.1版本新增功能

    虚幻引擎5 1版本新增功能 虚幻引擎5 1现已发布 xff01 2022年11月15日 其他应用 功能 广播与实况活动 建筑 影视 模拟 汽车与运输 游戏 虚幻引擎5 1 虚拟制片 我们很高兴地宣布 xff0c 虚幻引擎5 1现已推出 在这
  • vc与dev-c++混合编程 动态链接库c函数调用

    上回书说道 xff0c 如何在vc中使用dev c 43 43 中的类 xff0c 这次说一个更简单的问题 xff0c 如何实现vc调用dev c 43 43 的函数 1 打开dev c 43 43 新建工程 xff0c 选择dll xff
  • 【译】你可能不知道的iOS性能优化建议(来自前Apple工程师)

    作者丨凉介 来源丨掘金 链接 xff1a https juejin im post 5e4cfa4f6fb9a07cce74dba7 今天在推特上看到一篇关于性能优化不错的文章 xff0c 是前苹果开发人员写的 xff0c 翻译了一下与大家
  • c++20 concept

    Visual Studio 2019今天发布了16 3版本更新 xff0c 加入了C 43 43 20的concept支持 xff0c 在此记录一下concept的用法 xff1a concept示例 1 限制只能打印int类型 span
  • 解决STM32程序一烧录进去断电或复位即丢失问题

    分享一下个人错误经验 xff0c 之前焊接了一块STM32F103RCT6芯片 xff0c 配了ISP自动下载电路 xff0c 焊接好后上电烧写发现可以烧录进去 xff0c 但是怎么一断电或者一复位怎么程序就没了 xff0c 连一个简单的L
  • 阿里云ECS Windows服务器MySQL无法启动排查的解决方法

    问题现象 Windows主机 xff0c 部署MySQL程序后 xff0c 重启开机无法自动启动 xff0c 同版本在其他服务器运行正常 问题原因 排查Windows系统日志 xff0c 发现有如下报警记录 xff1a Microsoft
  • C规范编辑笔记(三)

    往期文章 xff1a C规范编辑笔记 一 C规范编辑笔记 二 正文 xff1a 继上篇我们的C规范编辑笔记 二 后 xff0c 我们今天开始分享第三篇笔记 xff0c 话不多说 xff0c 我们开始 1 一个 tab 键盘等于四个空格键 我
  • linux免费证书申请教程

    linux免费证书申请教程 直接去阿里云 菜单有个证书服务 进去有个购买证书菜单 选择免费的 然后会提示写个人资料 然后系统生成csr 然后提交审核 查看原文 xff1a http newmiracle cn p 61 963
  • wsl2迁移镜像虚拟磁盘

    wsl2备份 迁移 ubuntu 虚拟磁盘镜像 Author once day Date 2022年11月13日 1 引言 默认的wsl2会把Linux子系统虚拟磁盘文件放在C盘下 xff0c 如果在wsl2里面安装了太多的程序 xff0c
  • Gitlab-标准流程配置[总结多篇文章并实践多次,小白零基础亦可上手]

    谈谈这几天的感受吧 xff1a 公司因为以前的gitlab服务器出了一点问题 xff0c 让半路出家的我来看一下 xff0c 最后说模拟搭建一个gitlab服务器 xff0c 先看一下里面是跑些什么东东 xff0c 需要配置的内容是什么等
  • C语言之数组(数组赋值的三种形式)

    在C语言中 xff0c 对数组进行赋值的三种形式 1 通过循环的形式 即 xff1a 数组名 下标 对数组的元素进行依次赋值 include lt stdio h gt int main int i int a 10 61 0 for i
  • 4招教你创建一个程序代码

    Python 有两种主要的方式来完成你的要求 xff1a 语句和表达式 xff08 函数 算术表达式等 xff09 相信大部分读者已经了解二者的不同 xff0c 但是不管怎样 xff0c 我们还是再来复习一下 语句使用关键字来组成命令 xf