VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python基础学习

Created: November 28, 2023 6:48 PM
Tags: Beginning

值得思考的一些事情

构建一项软件设计有两种方式:一种是将软件设计得足够简单以至于明显找不到缺陷;另一种是软件设计得足够复杂以至于找不到明显的缺陷。 ——查尔斯·安东尼·理查德·霍尔爵士(C. A. R. Hoare)
在人生中取得成功,与其说靠天才与机会,不如说靠专注与毅力。 ——C. W. Wendte
安装Python
各大网站已有详细教程故不赘述。

注意,终端退出Python(Windows):[Ctrl + z ] [Enter] 。
如何在终端上保存/ 运行Py文件:
以在终端上使用mkdir命令,如

jsx
mkdir /tmp/py 

重要提示:你需要经常确认并确保你为文件赋予了 .py 扩展名,例如 foo.py。
使用 cd 命令来改变目录到你保存文件的地方,例如 cd /tmp/py 。

通过输入命令 python hello.py来运行程序。程序的输出结果应如下方所示:

jsx
$ python hello.py
hello world

注释
注释 是任何存在于 # 号右侧的文字,其主要用作写给程序读者看的笔记。

举个例子:

jsx
print('hello world') #注意到 print 是一个函数

# 注意到 print 是一个函数
print('hello world')

数字/常量
数字
整数(Integer)
浮点数(Float)
没有单独的 long 类型。 int 类型可以指任何大小的整数。
字符串
单引号
你可以使用单引号来指定字符串,例如 '将我这样框进来' 或 'Quote me on this' 。
所有引号内的空间,诸如空格与制表符,都将按原样保留。

双引号
被双引号包括的字符串和被单引号括起的字符串其工作机制完全相同。例如 "你的名字是?" 或"What's your name?" 。

三引号

jsx
'''这是一段多行字符串。这是它的第一行。
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''

字符串是不可变的:
这意味着一旦你创造了一串字符串,你就不能再改变它。尽管这看起来像是一件坏事,但实
际上并非如此。我们将会在稍后展现的多个程序中看到为何这一点不是一个限制。

格式化方法
有时候我们会想要从其他信息中构建字符串。这正是 format() 方法大有用武之地的地方。
将以下内容保存为文件 str_format.py :

jsx
age = 20
name = 'Swaroop'
print('{0} was {1} years old when he wrote this book'.format(name, age))
print('Why is {0} playing with that python?'.format(name))

输出:

powershell
$ python str_format.py
Swaroop was 20 years old when he wrote this book
Why is Swaroop playing with that python?
How does it work ?

一个字符串可以使用某些特定的格式(Specification),随后, format 方法将被调用,使用这一方法中与之相应的参数替换这些格式。

在这里要注意我们第一次应用这一方法的地方,此处 {0} 对应的是变量 name ,它是该格式化方法中的第一个参数。与之类似,第二个格式 {1} 对应的是变量 age ,它是格式化方法中的第二个参数。请注意,Python 从 0 开始计数,这意味着索引中的第一位是 0,第二位是1,以此类推。

我们可以通过联立字符串来达到相同的效果:

powershell
name + 'is' +str(age) + 'years old'

但这样实现是很丑陋的,而且也容易出错。其次,转换至字符串的工作将由 format 方法自动完成,而不是如这般需要明确转换至字符串。再次,当时用 format 方法时,我们可以直接改动文字而不必与变量打交道,反之亦然。
同时还应注意数字只是一个可选选项,所以你同样可以写成:

jsx
age = 20
name = 'Swaroop'
print('{} was {} years old when he wrote this book'.format(name, age))
print('Why is {} playing with that python?'.format(name))

Python 中 format 方法所做的事情便是将每个参数值替换至格式所在的位置。这之中可以有更详细的格式,例如:

jsx
# 对于浮点数 '0.333' 保留小数点(.)后三位
print('{0:.3f}'.format(1.0/3))
# 使用下划线填充文本,并保持文字处于中间位置
# 使用 (^) 定义 '___hello___'字符串长度为 11
print('{0:_^11}'.format('hello'))
# 基于关键词输出 'Swaroop wrote A Byte of Python'
print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))

输出

jsx
0.333
___hello___
Swaroop wrote A Byte of Python

由于我们正在讨论格式问题,就要注意 print 总是会以一个不可见的“新一行”字符( \n )结尾,因此重复调用 print 将会在相互独立的一行中分别打印。为防止打印过程中出现这一换行符,你可以通过 end 指定其应以空白结尾:

jsx
print('a', end='')
print('b', end='')

输出:

jsx
ab

或者你通过 end 指定以空格结尾:

jsx
print('a', end=' ')
print('b', end=' ')
print('c')

输出:

jsx
a b c

转义序列
想生成一段包含单引号(’)的字符串,为了让Python不把他当作字符串的开头/结尾,我们使用反斜杠(\)来指定单引号。

另一种指定这一特别的字符串的方式是这样的: "What's your name?" ,如这个例子般使用双引号。类似地, 你必须在使用双引号括起的字符串中对字符串内的双引号使用转义序列。同样,你必须使用转义序列 \ 来指定反斜杠本身。

除此之外,和C语言一样,Python也有\n(换行)、\t(制表符)

还有一件需要的事情,在一个字符串中,一个放置在末尾的反斜杠表示字符串将在下一行继续,但不会添加新的一行。来看看例子:

jsx
"This is the first sentence. \
This is the second sentence."

相当于:

powershell
"This is the first sentence. This is the second sentence."

原始字符串
如果你需要指定一些未经过特殊处理的字符串,比如转义序列,那么你需要在字符串前增加r 或 R 来指定一个 原始(Raw) 字符串 。下面是一个例子:

powershell
r"Newlines are indicated by \n"

变量
标识符命名
变量是标识符的一个例子。标识符(Identifiers) 是为 某些东西 提供的给定名称。在你命名标识符时,你需要遵守以下规则:

第一个字符必须是字母表中的字母(大写 ASCII 字符或小写 ASCII 字符或 Unicode 字符)或下划线( _ )。
标识符的其它部分可以由字符(大写 ASCII 字符或小写 ASCII 字符或 Unicode 字符)、下划线( _ )、数字(0~9)组成。
标识符名称区分大小写。例如, myname 和 myName 并不等同。要注意到前者是小写字母 n 而后者是大写字母 N 。
有效 的标识符名称可以是 i 或 name_2_3 ,无效 的标识符名称可能是
2things , this is spaced out , my-name 和 >a1b2_c3 。
数据类型
变量可以将各种形式的值保存为不同的数据类型(Data Type)。基本的类型是我们已经讨论过的数字与字符串。在后面的章节中,我们会了解如何通过 类(Classes) 类创建我们自己的类型。

对象
需要记住的是,Python 将程序中的任何内容统称为 对象(Object)。这是一般意义上的说
法。我们以“某某对象(object)”相称,而非“某某东西(something)”。

针对面向对象编程语言用户的提示:
Python 是强(Strongly)面向对象的,因为所有的一切都是对象, 包括数字、字符串与
函数。

接下来我们将看见如何使用变量与字面常量。你需要保存以下案例并试图运行程序。

本文链接: https://www.cnblogs.com/zhen021/p/18081832


相关教程