变量

变量名就像我们现实社会的名字,把一个值赋值给一个名字时,它会存储在存储中,称之为变量(Variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。

而Python与大多数其他计算机语言的做法稍有不同,它并不是把值存储在变量中,而更像是把名字贴在值上面。

所以有些Python程序员会说“Python”没有“变量”,只有“名字”。

变量的命名理论可以取任何合法的名字,但是作为一个优秀的程序员,请将变量取一个专业点的名字。

# 将字符串'Python'赋值给study
>>> study = 'Python'
# 打印study
>>> print(study)
'Python'

可以看到,赋值就是这么简单。之所以这个叫变量,是因为“它”是可变的

>>> study = 'Python'
>>> study
'Python'
>>> study = 'Java'
>>> study
'Java'

看吧,换个赋值,study就变成“Java”了

其实变量就像小学学的代数一样,x = 1, y = 2求 x + y是多少。不用想x + y = 3啦,变量就是这么好理解

>>> x = 1
>>> y = 2
>>> print(x + y)
3

当然也可以将字符串赋值给变量,然后变量相加进行拼接

>>> a = 'yy'
>>> b = 'hh'
>>> a + b
'yyhh'

如果变量没有赋值,直接打印变量,就会报错哦

>>> name
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
name
NameError: name 'name' is not defined

需要注意的地方

Python的变量名不能以数字和特殊字符开头

>>> $a = 'a'
SyntaxError: invalid syntax
>>> 5a = 'a'
SyntaxError: invalid syntax

Python可以使用BIF来命名变量,但是最后不要用,不然赋值将会覆盖BIF自己的特性

# 打印呵呵
>>> print('hehe')
hehe # 觉得打印太麻烦了,把print赋值吧。
>>> print = 'hehe' # 直接打印print,可以成功打印
>>> print
'hehe' # 我不想hehe了,我想haha,结果使用print打印时,报错。这就是BIF来命名变量的下场
>>> print('haha')
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
print('haha')
TypeError: 'str' object is not callable

字符串

到目前为止,我们所认识的字符串就是引号内的一切东西,我们野把字符串叫做文本,文本和数字截然不同的

# 整型相加
>>> 2 + 2
4 # 字符串相加
>>> '' + ''
'' # 整型与字符串相加,报错
>>> 2 + ''
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
2 + ''
TypeError: unsupported operand type(s) for +: 'int' and 'str'

如果变量加上了引号,那就不是变量了,而是字符串。所以操作变量和字符串拼接的时候,要注意了

>>> x = 1
>>> y = 2
# 直接打印x + y
>>> print(x + y)
3
# 如果想打印x + y = x + y 的话,就不能这样操作了。
>>> print('x + y = x + y')
x + y = x + y # 正确应该这样写,由于x + y得到的值是整型,而整型与字符串不能相加,所以要将整型转换成字符串
>>> print('x + y = ' + str(x + y))
x + y = 3

所以要告诉Python在创建一个字符串时,就要在字符串两边加上引号,可以是单引号或者双引号,Python表示不挑剔的。但是必须是成对的,不能一边单引号,另一半确实双引号结尾。Python它会“愤怒”的告诉你“SyntaxError”。

>>> 'Python"
SyntaxError: EOL while scanning string literal

如果字符串中需要出现单引号或者双引号怎么办?

---例如我想打印字符串:Let's go !

有两种方法,第一种方法比较常用,就是使用我们的转义符号(\)对字符串中的引号进行转义:

>>> print('Let\'s go!')
Let's go!

还有一种方法就是双引号中,使用单引号

>>> print("Let's go!")
Let's go!

多行字符串

多行字符串可以使用一对三引号来表示

>>> print('''aaaaa
bbbbb
ccccc
ddddd''')
aaaaa
bbbbb
ccccc
ddddd

Python中,无法使用中文的引号来表示字符串,不然会报错的。

>>> “aaa”
SyntaxError: invalid character in identifier

学习总结

这次学习了变量与字符串

需要注意的是:

变量不要以BIF来命名,否则会覆盖了BIF的特性

字符串不能用中文引号来表示,不然会报错

Python学习笔记(2)的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  3. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  4. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  5. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  6. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  7. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  8. Pythoner | 你像从前一样的Python学习笔记

    Pythoner | 你像从前一样的Python学习笔记 Pythoner

  9. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  10. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

随机推荐

  1. fight

    为啥用block  copy. 从栈到拷贝到堆 循环引用,控制器引用block. block里面调用 self self引用控件,控件引用block,block里面引用self http://www. ...

  2. phpcms 导航栏点击栏目颜色定位方法和phpcms list页实现分页

    另:一个栏目下面如果没有子栏目,那么它调用的模板就是列表页模板(及list_为前缀的模板):如果一个栏目下面有子栏目,那么它调用的就是栏目首页模板(category_为前缀的模板). 当你这个栏目添加 ...

  3. 协程并发框架gevent及其用法

    gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单 gevent的docs:http://www.gevent.org/contents.html 一个最简单的例子: i ...

  4. 统一的mvc异常处理

    mvc异常处理 using System; using System.Configuration; using System.Web.Mvc; using Infrastructure.Excepti ...

  5. js注册验证提示!

    <script> var ifEmail =false; var ifPassword; function ainf() { var txtEnun=document.getElement ...

  6. sql sp_xml_preparedocument 函数运用实例

    表结构: CREATE FUNCTION f_splitSTR( ), --待分拆的字符串 ) --数据分隔符 ))) AS BEGIN --创建分拆处理的辅助表(用户定义函数中只能操作表变量) DE ...

  7. 用oop分析场景,写出代码。房间里,有人、猫、老鼠在睡觉,然后猫醒了发出叫声,叫声惊醒了人,人从床上坐起来,惊醒了老鼠,老鼠开始逃跑。

    首先分析有哪些类: 应该有房子.动物类.人类.猫类.老鼠类. 房子不仅仅是一个容器,因为猫在房子里叫,惊醒了人和老鼠,所以猫叫是一个事件,通过这个事件触发人和老鼠的惊醒. 可以定义一个委托,利用委托绑 ...

  8. Ant安装、环境变量配置及验证

    一.安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包.将其解压到你的硬盘 ...

  9. SQL2012新特性一次一个数据块----特殊的查询分页

    对于数据库人员来说,在软件项目开发的过程中,或多或少的不可避免的就是经常遇到类似“UI查询结果设计”这样的说法,当听到UI设计的时候,多数人的第一反应是“靠!关我毛事!~这是其他人的问题!”. 然而, ...

  10. 数据库中 关于不能用in 不能用exist 等关键字 查询不出现字段的问题

    这是之前在网上见到的一道题,后来心里略微想了想 觉得应该可能,所以就一闪而过了,之前去面试晨光的时候面试者问了我这道问题,当时也只是把自己的想法说了一下,可能因为当时面试的感觉不太好,面试官也没有追究 ...