变量

变量名就像我们现实社会的名字,把一个值赋值给一个名字时,它会存储在存储中,称之为变量(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' + '2'
'22' # 整型与字符串相加,报错
>>> 2 + '2'
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
2 + '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入门学习:9.文件和异常

    python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件  首先创建一个pi_ ...

  2. python入门学习:8.类

    python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类   面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...

  3. python入门学习:7.函数

    python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数   使用关键字def ...

  4. python入门学习:6.用户输入和while循环

    python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...

  5. python入门学习:5.字典

    python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典   在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...

  6. python入门学习:4.if语句

    python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试   if语句基本格式如下,注意不要漏了冒号 1if 条件 :2     ...

  7. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  8. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  9. Python入门学习:1.变量和简单的数据类型

    python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用   变量,顾名思义是一个可变的量, ...

  10. Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!

    Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式!       推荐两本书,一本作为 ...

随机推荐

  1. seajs引入jquery框架问题

    seajs引入jquery框架时出现的问题 原因:由于seajs是遵循cmd规范,而jquery是遵循amd规范,所以在seajs调用jquery框架时,需要将amd转换为cmd 转换方法:jquer ...

  2. 【leetcode】429. N-ary Tree Level Order Traversal

    problem 429. N-ary Tree Level Order Traversal solution1:Iteration /* // Definition for a Node. class ...

  3. [LeetCode&Python] Problem 257. Binary Tree Paths

    Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...

  4. js的一些方法

    input的值: value.toUpperCase();//value.toUpperCase()把字符窜转换为大写 random方法: Math.floor对数字向下舍入 Math.random( ...

  5. tgp助手开启逆战游戏无反应

    tgp助手开启逆战游戏无反应(一直显示正在运行游戏)就是没有游戏的登录界面 解决的一些方法(不一定有效): 检查显卡的驱动 检查游戏文件是否损坏 检查是否开启的防护软件程序

  6. 解决ansible上传速度慢的问题

    问题: 假如有A.B.C.D....等机器,机器A为Ansible服务器,机器B.C.D...等为Ansible管理的节点服务器,A机器与其他机器都不在同一个网络,也就是A机器必须添加VPN之后才能与 ...

  7. js 判断是否可以打开本地软件

    js判断时候可以打开本地的软件或者插件 点击一个按钮,打开本地的软件,比如问题反馈,需要调起本地的邮箱,填入一些信息. 这个功能<a>标签有提供支持,但是如果本地没有安装邮箱,则无法打开, ...

  8. 乐乐课堂_leleketang.com

    乐乐课堂_leleketang.com https://www.baidu.com/sf?pd=video_page&sign=12394301609542619800&word=抛物 ...

  9. angularjs 的模型无法绑定到隐藏域(input hidden)

    描述一下问题: 在操作表单中的隐藏域的时候发现angularjs的模型无法绑定,比如: <input type="hidden" name="someData&qu ...

  10. Spring生态研习【四】:Springboot+mybatis(探坑记)

    这里主要是介绍在springboot里面通过xml的方式进行配置,因为xml的配置相对后台复杂的系统来说,能够使得系统的配置和逻辑实现分离,避免配置和代码逻辑过度耦合,xml的配置模式能够最大限度的实 ...