其实从一开始知道广州初中要教Python的时候,我就知道我之前所报班学的Python可以派上用场了,不过时隔一年,我也忘记的差不多了。
做程序员的人似乎都对自己惯用的编程语言感到非常满意,经常diss其他写其他语言的,或是鄙视,但出乎意料的是,他们似乎都对Python很友好。
Python的语言精练,易学的特点让它在诞生至今的三十多年里,逐渐变成主流。我们所熟知的很多网站都有它出现的痕迹,甚至于有一些网站及软件所用的语言就是Python。如下是一些有使用Python的网站:
· Youtube - 视频社交网站
· Reddit - 社交分享网站
· Dropbox - 文件分享服务
· 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
· 知乎 - 一个问答网站
· 果壳 - 一个泛科技主题网站
· Bottle - Python微Web框架
· EVE - 网络游戏EVE大量使用Python进行开发
· Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件
· Inkscape - 一个开源的SVG矢量图形编辑器。
· ……
话不多说,我们开始学习吧!
首先我们学习Python,要从最基础的开始,先把Python给安装了。
Python下载地址:https://www.python.org/
VS code下载地址:https://code.visualstudio.com/docs/?dv=win64user
本文使用的版本为Python 3.9.0(下载时请注意自己的操作系统版本是哪个,避免安装之后使用不了,xp系统只能使用Python2的版本)Python3的版本所使用的语言都是通用的。
除去安装Python,我们还需要安装VS Code(一个集成开发环境,写完代码可以先试运行是否正确)或者pycharm。也可以不安装,直接使用Python自带的 IDLE直接编译。
本文采用的是vs code。
print()函数
print()绝对是我们学习Python最常用的一个单词,每一个Python文件里都会出现print这个单词,它的作用就是将我们的代码以我们能看懂的方式输出显示给我们。
可复制下方代码直接运行(标颜色的都是代码部分)
import requests, json, time, random
feature_text = '''
大家好!我是你的聊天机器人吴小枫。
我有问必答,有人会问我“今天深圳天气怎么样?”,也有人问我“你喜欢我吗?”
快来问我问题呀,欢迎来撩!
【温馨提示】如果你要删除自己输入的内容,要按两次删除,才可以删掉一个汉字奥!
(因为在计算机世界里,中文是占两个字符的!)
>'''
user1 = input(feature_text)
time.sleep(1)
userid = str(random.randint(1, 1000000000000000000000))
apikey = 'd81c0b99c260440980a140440be200ec'
#超过1w有风险,19-01-19
tulingdata1 = json.dumps({ "perception": {
"inputText": {
"text": user1
},
},
"userInfo": {
"apiKey": apikey,
"userId": userid
}
})
robot1 = requests.post('http://openapi.tuling123.com/openapi/api/v2', tulingdata1)
jsrobot1 = json.loads(robot1.text)['results'][0]['values']['text']
print(jsrobot1)
time.sleep(2)
user2 = input('''
再来问我点啥吧!我把我知道的都告诉你,嘻嘻!
>''')
tulingdata1 = json.dumps({
"perception": {
"inputText": {
"text": user2
},
},
"userInfo": {
"apiKey": apikey,
"userId": userid
}
})
robot1 = requests.post('http://openapi.tuling123.com/openapi/api/v2', tulingdata1)
jsrobot1 = json.loads(robot1.text)['results'][0]['values']['text']
time.sleep(1)
print(jsrobot1)
user3 = input('''
我有点饿了,再和你聊完最后一句,我就要下线啦!你还有什么要问我的?
>''')
tulingdata1 = json.dumps({
"perception": {
"inputText": {
"text": user3
},
},
"userInfo": {
"apiKey": apikey,
"userId": userid
}
})
robot1 = requests.post('http://openapi.tuling123.com/openapi/api/v2', tulingdata1)
jsrobot1 = json.loads(robot1.text)['results'][0]['values']['text']
time.sleep(1)
print(jsrobot1)
time.sleep(1)
print('\n我走啦,下次见!')
print()函数的用法有以下几种:单枪匹马——不带引号、搭配单引号、搭配双引号、搭配三引号,我们逐个见识下吧!Python当中所使用的标点符号都需要使用英文的标点符号,因为中文的标点符号Python无法识别。
不带引号
Print(13)
运行程序我们发现,它直接运行显示了13这个数字。
虽然你只是输入了一个简单的print,但在背后,这段Python代码却帮你做了这样的一些事情:
(0)我们向计算机发出指令:“打印‘13’”;(1)Python把这行代码编译成计算机能听懂的机器语言;(2)计算机做出相应的执行;(3)最后把打印结果呈现在我们面前。
我们也可以采用变量命名,直接打印变量名。会输出显示我们的变量值。
单引号
Print(‘小明’)
运行程序,我们可以看到电脑显示出来的内容为 小明
为什么我们要加上单引号,而不能直接print(小明呢)
这是因为,计算机的脑回路比较特别:只能理解数字,却读不懂文字。因为数字和数学运算是标准化、有固定格式的,而文字却能够千变万化。
如果你直接让计算机print(小明),它会一脸懵并大声报错:“这两个字啥意思,你没有定义清楚,不懂诶……”
这就是print()函数引号的用法:括号内有引号的时候,就相当于告诉计算机——你不需要执行多余的操作,我输入什么,你就打印什么。
双引号(英文符号的双引号)
Print(“Let’s play”)
运行之后可以观察到,我们括号内的双引号没有出现,但是句子中的单引号就出现了。这一个就是我们print()函数输出显示单引号的方法
在print()函数内不仅能使用单引号,还能使用双引号,两者的效果没什么区别,都能让你打印出一行文本。
单引号和双引号可能会在括号内同时出现,比如print("Let's play")
这种情况下,需要注意区分清楚哪个引号是属于print()函数结构,哪个引号是属于你要让计算机打印的内容,可别“混搭”了。
在print()函数中,引号里的内容其实也不一定非得是文字,还可以是英文和数字
相应地,在括号内没有引号的情况下,我们应该往括号内放入计算机能够“理解”的内容,如:数字或数学运算。
print函数会让计算机尝试去“读懂”括号里的内容,并打印最终的结果。
因此,当计算机读懂数据数字后,就打印这个数据。当读懂数字运算后,则打印得到运算结果。
三引号(3个单引号)
print('''我愿意留在汤婆婆的澡堂里工作两年,
第一年在锅炉房和锅炉爷爷一起烧锅炉水,
将在这个世界变成一头猪。
''')
运行程序之后,可以看到三引号里的内容给我们分行显示了。在print()函数中使用三引号,不仅可以显示单引号,更是可以直接分行。
在Python中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。
在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)
除了使用三引号进行换行,我们也可以使用转义字符进行换行。
print('我愿意留在汤婆婆的澡堂里工作两年,\n如果我违背工作内容的话,\n将在这个世界变成一头猪。')