第0关 千寻的名字( print()函数与变量 )
一、Python:人工智能时代的立身武器
如果把编程语言比作一把刀:
图片来自 极速创业
Python的强大之处在于:
(1)它背后有着最庞大的免费“代码库”,给初学者足够的资源搞实现自己想要的功能。
(2)它是人工智能、大数据分析的重要支持语言。
(3)它被称为“胶水语言”,能很好包装和调用其他编程语言写的库。
(4)它是一个脚本语言,和其它编程语言相比更加简洁、高效。
最最重要的是,python应用领域广泛,例如:爬虫,数据分析,科学计算,自动化办公,自动化运维,网站开发,多媒体处理,机器学习,深度学习等。下图展示了学习python的知识框架。
图片来自 极速创业
此外,对于自动化办公,python绝对是一大神器,四大会计事务所会使用python实现审计底稿的批量自动化处理。
在这个过程中,除了需要掌握python的基础知识,你会逐步掌握几项『办公室逆袭』的绝招:
文档管理:shutil和zipfile,自动完成复制/移动/改名/删除/读取/解压/压缩
数据处理:openpyxl和csv,自动处理excel和csv数据
文字处理:docx和pyPDF2,处理word和pdf文档
信息传输:使用Python发送邮件/微信/短信
二、Print():开启Python世界的问候
(一)print()函数
恭喜你已经步入了python新世界,让我们使用print()开启对python的第一声问候!
1. print()函数的原理
图片来自 极速创业
我们能够实现与计算机交互的“初体验”,离不开print()函数的帮忙。这也是我们即将解锁的第一个Python语法知识点。
虽然只是输入了一个简单的print,但在背后,这段Python代码却帮我们做了这样的一些事情:
(0)我们向计算机发出指令:“打印‘520’”;(1)Python把这行代码编译成计算机能听懂的机器语言;(2)计算机做出相应的执行;(3)最后把打印结果呈现在我们面前。
这,就是我们通过Python这个工具,成功与计算机实现沟通的方式。
2. print()函数的类型
Print()函数的用法有以下四种:不带引号、搭配单引号、搭配双引号、搭配三引号,我们逐个见识下吧!
(1)无引号
样例:
print(520)
print(1+1)
(在这里,计算机并没有再原样打印“1+1”,因为print(1+1)是计算机能直接读懂的数学运算,所以,它会直接打印出最终的运算结果:“2”。这就是计算机“读懂内容”的表现。)
应用场景:括号里是数字等计算机可以直接理解/运算的内容。
(2)单引号
样例:
print(‘千寻’)
不难发现,在print(‘千寻’)里,多了一对单引号。
那么问题又来了:这个单引号是干啥用的?为什么打印文字的时候需要加上引号呢?
这是因为,计算机的脑回路比较特别:只能理解数字,却读不懂文字。因为数字和数学运算是标准化、有固定格式的,而文字却能够千变万化。
如果我们直接让计算机print(千寻),它会一脸懵并大声报错:“这两个字啥意思,你没有定义清楚,不懂诶……”
这,便是print()函数中引号的用法:当括号内有引号的时候,就相当于告诉计算机——你不需要执行多余的操作,我输入什么,你就打印什么。
应用场景:括号里包含了文本等计算机不能直接理解/运算的内容,且仅需计算机做“显示/打印”的作用。
图片来自 极速创业
(3)双引号
样例:
print(“Let’s play”)
在print()函数内不仅能使用单引号,还能使用双引号,两者的效果没什么区别,都能让你打印出一行文本。有些时候,单引号和双引号可能会在括号内同时出现。这种情况下,需要注意区分清楚哪个引号是属于print()函数结构,哪个引号是属于你要让计算机打印的内容,可别“混搭”了。
应用场景:括号里的文本已含有单引号’,为了和’进行区分。
(4)三引号
样例:
print(”’我愿意留在汤婆婆的澡堂里工作两年,
第一年在锅炉房和锅炉爷爷一起烧锅炉水,
将在这个世界变成一头猪。
”’)
应用场景:实现“自动换行”的效果。
3.小结
现在我们已经学习了print()函数的四种情况--无引号,单引号,双引号,三引号。现在来回顾一下它们之间的差别,巩固一下。
图片来自 极速创业
图片来自 极速创业
注意,【前方高能预警】,接下来,我要告诉你一个99%的初学者都踩过的代码bug。在Python中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)。
图片来自 极速创业
(二)转义字符
前面带三引号的print()函数,可以实现换行功能,转义字符也可以实现这样的功能。
print(‘我愿意留在汤婆婆的澡堂里工作两年,\n如果我违背工作内容的话,\n将在这个世界变成一头猪。’)
除了\n之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。
比如换行\n代表【+newline】;退格\b代表【+backspace】;回车\r代表【+return】。大家可以按照这种方法记住转义字符的含义。
图片来自 极速创业
(三)变量和赋值
在信息纷繁的代码世界里,我们应该如何更好地储存信息,让计算机能够在你需要的时候帮你调用出你想要的信息呢?我们需要借助【变量和赋值】的力量,将繁杂的信息给一一“收纳”好。
1. 赋值
(1)原理
我们先来看看下面这行代码:
name=’千寻’
这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。
这就好比,为了让千寻在日后能在计算机中更方便地找到她的名字,我们帮她把名字收纳进了一个小盒子里,并在这个盒子上贴了个叫“name”的标签。
回想一下,我们平时在收拾东西的时候,是不是会把散落各处东西放进不同的盒子里,并且做好标记?这样的“收纳”动作,能够让空间变得整齐,也更方便我们自己取用东西。
图片来自 极速创业
同理,计算机也是这么做的,它会把成千上万的数据放在不同的“盒子”里,这样才方便它存储和操作数据。这个“盒子”在Python中被称为变量,你可以在这个“盒子”里放任何你想放的内容。而这个往盒子里装东西的过程,在代码的魔法世界被称为【赋值】。
图片来自 极速创业
(2)多次赋值
在千寻签完合约后,汤婆婆就把【name】这个『标签』从装有她名字【千寻】的『盒子』撕下来,贴到了装有【小千】这个名字的『盒子』。
这时,取出贴有【name】这个『标签』的盒子,读出的内容变成了『小千』:
终端上出现的结果是不是【小千】?可这又是为什么呢?我们对“name”这个变量第一次的赋值不是【’千寻’】吗?为什么打印的结果是第二次的赋值呢?
这就涉及到了变量的特点:变量之所以称为变量,是因为它保存的数据是可以随意变化的。
刚才我们讲,我们可以将变量当作一个盒子,你可以在这个盒子里放任何内容,但盒子都有它的最大容量,不能无限制地塞东西。
偏偏在代码世界里,盒子的容量又特别小,仅为1。所以当你需要放进新的东西时,只能寻找一个新的盒子。
图片来自 极速创业
在我们上面的案例中,第一行代码:name=’千寻’表达的意思是:把千寻这个名字放到name这个变量“盒子”中。
由于,计算机是一行行自上而下执行代码的,所以当运行到第二行代码name=’小千’时,变量“name”里存储的【’千寻’】就被替换成了【’小千’】。
所以,当运行到第三行print(name)时,我们打印出的结果,就自然而然的是小千了。
其实,不仅是千寻,名字对于我们每个人来讲都是有意义的,它帮助你“定位”自己,让别人能轻松地找到你。所以,人的名字不能乱取,同理,给变量的命名也需要遵循一定的规范。
2. 变量命名的规范
对于变量的命名,我们可以遵循以下规范:
图片来自 极速创业
比如说,如果信息是姓名,那么变量可以命名为name;如果信息是数字,那么变量名则应该叫做number。
3. 赋值符号和比较运算符
除了变量命名之外,还要注意的是:在代码世界中,赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的盒子中。
代表左右两边相等的符号,是比较运算符==,虽然他俩长得像,但代表的却是完全不同的意思,可千万不要搞混了。
图片来自 极速创业