python-2-变量和简单数据类型

Posted 莫黎_MOLI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-2-变量和简单数据类型相关的知识,希望对你有一定的参考价值。

变量和简单数据类型

变量

python3

message=“Hello Python World!”

print(message)

我们添加了一个名为message的变量,运行之后的结果是

Hello Python World!

变量的命名和使用:(这部分和C基本是一样的)

  1. 变量名只能包含字母、数字和下划线。变量名可以以字母或下划线打头,但是不能以数字打头。
  2. 变量名不能包含空格
  3. 不能使用python中的函数名和关键字作为变量名
  4. 变量名应尽可能短而且有描述性
  5. 慎用小写字母l和o,可能会被误认为是数字0和1

字符串

字符串就是一系列字符,在py中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号;

“This is a string”

‘This is also a string’

这种自由性可以让你能够在字符串中包含引号和撇号

‘I told my friend,“pyhton is my favourite language!”’

使用方法修改字符串的大小写

观看下面的代码,试判断其作用

name = “ada lovelace”
print(name.title())

将这个文件保存运行,输出如下

Ada Lovelace

在这个示例中,小写的字符串“ada lovelace”存储到了变量name中。在print()语句中,方法title()出现在了这个变量的后面。

方法是py可对数据执行的操作。在name.title()中,name后面的(.)让py对变量name执行方法title()对应的操作。每一个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作,这种信息是在括号中提供的。函数title()不需要额外的信息,因此它后面的括号是空的。

title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写

还有几个很有用的大小写的处理方法,全部大写和全部小写的方法

name="Ada lovelace"
print(name.upper())
print(name.lower())

这些代码的输出如下

ADA LOVELACE
ada lovelace

合并(拼接)字符串

例如分开存储姓和名,在使用的时候将姓和名拼起来

first_name="ada"

last_name="lovelace"

full_name=first_name+" "+last_name

print(full_name)

py使用(+)来合并字符串,这个示例中使用+来合并first_name和空格和last_name,以便得到完整的姓名,上面的代码执行结果如下:

ada lovelace

你可以使用拼接来创建消息,再把整条消息都存储在一个变量中

first_name="ada"

last_name="lovelace"

full_name=first_name+" "+last_name

message="hello,"+full_name+"!"
print(message)

使用制表符和换行符来添加空白

>>> print("python")
python
>>> print("	python")
        python
>>> print("
python")

python
>>> print("
	python")

        python

删除空白

空白很重要,因为你经常要比较两个字符串是否相同。

py能够找出字符串开头和结尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip()。

>>> favourite_language=‘python ‘
>>> favourite_language
‘python ‘
>>> favourite_language.rstrip()
‘python‘
>>> favourite_language
‘python ‘

存储在favourote_language中的python后有一个空格,可以看到使用rstrip()方法后,python后面的空格被删除了,但是只是删除了输出的空格,并没有删除变量中的空格。

要永久删除这个字符串,必须将删除操作的结果保存到变量中

>>> favourite_language
‘python ‘
>>> favourite_language=favourite_language.rstrip()
>>> favourite_language
‘python‘

你还可以使用lstrip()和rstrip()只删除左边和右边的空白,strip()直接删除左右两边的空白

>>> favourite_language=‘ python ‘
>>> favourite_language.lstrip()
‘python ‘
>>> favourite_language.rstrip()
‘ python‘
>>> favourite_language.strip()
‘python‘

使用字符串时避免语法错误

下面是一个错误示例

message=‘one of python‘s strengths is its diverse community‘
print(message)

输出

>>> message=‘one of python‘s strengths is its diverse community‘
  File "<stdin>", line 1
    message=‘one of python‘s strengths is its diverse community‘
                           ^
SyntaxError: invalid syntax

单引号中间有一个撇,编译器会无法正确确定字符串结束的位置。

从上述输出可知,错误发生在第二个单引号后面。这种语法错误表明,在解释器看来,有些错误不像是有效的py代码。

注意:编写程序时,编辑器的语法突出功能可帮助你快速找出某些语法错误。看到python代码以普通句子的颜色显示,或者普通句子以python代码颜色显示时,就可能意味着文件中存在引号不匹配的情况。

py2中的print语句

在py2中,无需要将打印的内容放在括号里。从技术上说,py3中的print是一个函数,因此括号必不可少,有些py2print语句也包含括号,但其行为与py3中稍有不同。简单的说,在py2代码中,有些print语句包含括号,有些不包含。

数字

在py中可对整数执行+,-,*,/运算

>>> 2+3
5
>>> 2-3
-1
>>> 2*3
6
>>> 2/3
0.6666666666666666

python使用两个乘号表示乘方运算

>>> 2**3
8

python还支持运算优先级

>>> 2+3*3
11

空格不影响python计算表达式的方式

浮点数

python将带有小数点的数字都称为浮点数

很大程度上说,使用浮点数无需考虑其行为,你只需输入要使用的数字,python通常会按你期待的方式处理它们

>>> 2*0.3
0.6
>>> 2+0.5
2.5

但是需要注意的是,结果包含的小数位数可能是不确定的

>>> 0.2+0.1
0.30000000000000004
>>> 3*0.1
0.30000000000000004

所有语言都存在这种问题,没有什么可担心的。python会尽力找到一种方式,以尽可能精确地表示结果,但是鉴于计算机内部表示数字的昂是,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可;在第二部分的项目中,你将学习在需要时处理多余小数位的方式。

使用函数str()避免类型错误

你经常需要在消息中使用变量的值。例如,假设你要祝某人生日快乐,可能会编写以下代码。

age=23
message = "Happy " + age + "rd Birthday!"
print(message)

运行时会报错

>>> message = "Happy" + age + "rd Birthday!"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

这是一个类型错误,意味着python无法识别你使用的信息。在这个示例中,python发现你使用了一个值为整数的变量,但它不知道该如何解释这个值。python知道这个值表示的可能是数值23,也可能是字符2和3.

像上面这样在字符串中使用整数时,需要显式地指出你希望将这个整数用作字符串,为此可以调用str()函数,它让python将非字符串值表示为字符串

age=23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

运行

Happy 23rd Birthday!

大多数情况下,在python中使用的字符串都非常简单。如果结果出乎意料,请检查python是否按你期待的方式解读为了数值或字符串。

python2中的整数

在python2中,将两个数相除得到的结果略微有一点不同

>>> 3/2
1

python返回的结果是1,而不是1.5。

在python2中,整数除法的结果只包含整数部分,小数部分被删除。

注意:计算整数结果时,采用的方法不是四舍五入,而是将小数部分直接删除

在python2中,如果想要避免这种结果,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数:

>>> 3/2.0
1.5
>>> 3.0/2
1.5

从python3转而使用python2或从python2转而用python3时,这种除法行为常常会令人迷惑。使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为

注释

在python中,注释用(#)标识。#后面的内容会被python解释器忽略,如下所示:

#向大家问好
print("Hello Python people!")

python解释器将忽略第一行,直接解释第二行。

Hello Python people!

python之禅

编程语言perl曾在互联网领域长期占据统治地位,早期大多数交互式网站使用的都是perl脚本。彼时,“解决问题的方法有很多个”被perl社区奉为座右铭。这种理念一度深受大家的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最后认识到,过于强调灵活性会导致大型项目难以维护。要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

经验丰富的程序员倡导尽可能避繁就简。python社区的理念都包含在Tim Peters撰写的“Python之禅”中,要获悉这些有关编写优秀python代码的知道原则,只需在解释器中执行命令import this。这里不打算赘述“python之禅”,只是分享几条原则。

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren‘t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you‘re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it‘s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let‘s do more of those!

以上是关于python-2-变量和简单数据类型的主要内容,如果未能解决你的问题,请参考以下文章

变量 returnValue 包含的数据类型和数据值是啥? [复制]

如何使用Android片段管理器传递变量[重复]

使用 ViewModel 和 LiveData 递增变量的简单片段示例 - 变量始终为空

在一些片段之间填充对象变量的最佳方法

变量和简单数据类型

python变量和简单的数据类型