python学习的第一天

python 学习的第0天

python可以用来干什么:
文档管理: shuitil和zipfile,自动完成复制/移动/改名/读取/压缩
数据处理: openpyxl和csv,自动处理excel和csv数据
文字处理: docx和pyPDF2,处理word和pdf文档
信息传输: 使用python发送邮件/微信/短信

知识小结
知识小结

import requests
from aip import AipOcr
image = requests.get('https://res.pandateacher.com/python_classic.png').content
APP_ID = '16149264'
API_KEY = 'yxYg9r4OuAs4fYvfcl8tqCYd'
SECRET_KEY = 'yWg3KMds2muFsWs7MBSSFcgMQl8Wng4s'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
res = client.basicGeneral(image)
if 'words_result' in res.keys():
    for item in res['words_result']:
        print(item['words'])
else:
    APP_ID = '11756541'
    API_KEY = '2YhkLuyQGljPUYnmi1CFgxOP'
    SECRET_KEY = '4rrHe2BF828bI8bQy6bLlx1MelXqa8Z7'
import urllib.parse
import hashlib
import time
import random
import string
import requests
import sys
import readline
def curl_md5(src):
    m = hashlib.md5(src.encode('UTF-8'))
    # 将得到的MD5值所有字符转换成大写
    return m.hexdigest().upper()

print()函数

print()函数的用法有以下几种:

不带引号/搭配单引号/搭配双引号/搭配三引号

无引号
print(560)

注意:正式敲代码之前,必须切换成英文输入状态,保证print()函数的括号是用【英文括号】,不然会报错
*[切换英文输入的Tips]:Mac系统请按command+空格键切换中英文输入,Windows系统请按ctrl+shift键切换中英文输入.

课堂练习

import time
print ('在'+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+',我写了人生中第一行Python代码\n它的内容虽然简单,不过是平凡的一句print(520)\n但我知道:我的编程之路,将从最简单的520开始\n在我点击运行的同时,一切在这一刻起开始变得不同\n以下,是这行代码的运算结果:' )
print(520)#(0)我们向计算机发出指令:“打印‘520’”;
#(1)Python把这行代码编译成计算机能听懂的机器语言;
#(2)计算机做出相应的执行;
#(3)最后把打印结果呈现在我们面前。

课程小任务——《千与千寻》

千寻与爸爸妈妈误入了鬼怪神灵休息的世界,为了拯救因为贪食而被变成猪的父母,千寻需要在这个世界里为汤婆婆打工,在卖身契上签下自己的名字。

print('千寻')
#打印的意思是:让计算机把你给它的指令结果,显示在屏幕的终端上。
单引号的用法
print(520)

print('千寻')
#【注意⚠️:单引号是英文输入法下的单引号!】

打印文字的时候需要加上引号:这是因为,计算机的脑回路比较特别:只能理解数字,却读不懂文字。因为数字和数学运算是标准化、有固定格式的,而文字却能够千变万化。

直接输出print(千寻)终端会输出

erro:'千寻'not be define.
双引号的用法

在print()函数内使用单引号/双引号,两者的效果没什么区别,作用输出文本。
【注意⚠️:双引号是英文输入法下的双引号,而不是两个单引号!】

print("Let's play")# 这种情况下,需要注意区分清楚哪个引号是属于print()函数结构,哪个引号是属于你要让计算机打印的内容,可别“混搭”了。

说这么多,运行一下代码就懂了。直接在下面代码框中点击运行,观察运行结果。(点击运行前先思考一下,在第三个print()函数中,哪个引号才属于print()函数结构)

课堂练习

# 括号内是单引号的情况。
print('一起玩吧')
# 括号内是双引号的情况。
print("一起玩吧")
# 括号内单双引号同时存在的情况。
print("Let's play")

回到print()函数,在print(“Let’s play”)中,没有被打印出来的引号就属于print()函数结构啦。
不过,在print()函数中,引号里的内容其实也不一定非得是文字,还可以是英文和数字。
相应地,在括号内没有引号的情况下,我们应该往括号内放入计算机能够“理解”的内容,如:数字或数学运算。
此时,print函数会让计算机尝试去“读懂”括号里的内容,并打印最终的结果。
因此,当计算机读懂数据数字后,就打印这个数据。当读懂数字运算后,则打印得到运算结果。

课程任务

为了让千寻替自己工作,汤婆婆拟了一份反人类的“血汗条款”:

我愿意留在汤婆婆的澡堂里工作两年,如果我违背工作内容的话,将在这个世界变成一头猪。
icon
那么,这份合约在Python中要如何显示呢?请你在下面的代码框中将这份合约打印出来(注意:使用print()函数,文字部分可直接复制上面的内容)。

print('我愿意留在汤婆婆的澡堂里工作两年,如果我违背工作内容的话,将在这个世界变成一头猪。')
三引号的用法

But,苛刻的汤婆婆觉得卖身契的排版还不够好看,希望你能让卖身契文字的每一个逗号后面都换行显示,打印出“自动换行”的效果。

答案是:在print内部使用三引号’’’ 来实现跨行输出。
【注意⚠️:三引号是英文输入法下的三个单引号!】
嘿嘿,没想到吧,除了单引号和双引号之外,print()里面居然还能放三引号。直接运行下面这段代码,看这次能不能实现汤婆婆想要的效果。

课堂练习

print('''我愿意留在汤婆婆的澡堂里工作两年,
2
第一年在锅炉房和锅炉爷爷一起烧锅炉水,
3
将在这个世界变成一头猪。
4
''')

常见错误:

在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)。
我们在debug(解决程序报错)的时候,需要下意识地找找自己是否犯了这样细小却致命的错误。
重要提示说完。此时此刻,你已经完成了这一关60%的进度条,通关成就达成近在眼前!

转义字符

千寻的卖身契

print('''我愿意留在汤婆婆的澡堂里工作两年,
第一年在锅炉房和锅炉爷爷一起烧锅炉水,
将在这个世界变成一头猪。
''')

#其实,还有第二种实现换行的办法:使用转义字符\n,像这样:

print('我愿意留在汤婆婆的澡堂里工作两年,\n如果我违背工作内容的话,\n将在这个世界变成一头猪。')
#除了\n之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。
#比如换行\n代表【+newline】;退格\b代表【+backspace】;回车\r代表【+return】。大家可以按照这种方法记住转义字符的含义。

常用的转义字符
转义字符总结


变量和赋值

到这里,你已经成功地打印出了千寻的名字和卖身契。与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己“姓名”的信息。

name='千寻'
print(name)

#这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。
#这就好比,为了让千寻在日后能在计算机中更方便地找到她的名字,我们帮她把名字收纳进了一个小盒子里,并在这个盒子上贴了个叫“name”的标签。
#而这个往盒子里装东西的过程,在代码的魔法世界被称为【赋值】。

在千寻签完合约后,汤婆婆就把【name】这个『标签』从装有她名字【千寻】的『盒子』撕下来,贴到了装有【小千】这个名字的『盒子』。
这时,取出贴有【name】这个『标签』的盒子,读出的内容变成了『小千』:

#name='小千'
name='千寻'
name='小千'
print(name)

终端上出现的结果是不是【小千】?可这又是为什么呢?我们对“name”这个变量第一次的赋值不是【‘千寻’】吗?为什么打印的结果是第二次的赋值呢?
这就涉及到了变量的特点:变量之所以称为变量,是因为它保存的数据是可以随意变化的。
刚才我们讲,我们可以将变量当作一个盒子,你可以在这个盒子里放任何内容,但盒子都有它的最大容量,不能无限制地塞东西。
偏偏在代码世界里,盒子的容量又特别小,仅为1。所以当你需要放进新的东西时,只能寻找一个新的盒子。
在我们上面的案例中,第一行代码:name='千寻’表达的意思是:把千寻这个名字放到name这个变量“盒子”中。
由于,计算机是一行行自上而下执行代码的,所以当运行到第二行代码name='小千’时,变量“name”里存储的【‘千寻’】就被替换成了【‘小千’】。
所以,当运行到第三行print(name)时,我们打印出的结果,就自然而然的是小千了。


变量的命名规范
变量命名规范

对于变量的命名,我们可以遵循以下规范:
比如说,如果信息是姓名,那么变量可以命名为name;如果信息是数字,那么变量名则应该叫做number。

很多新手在刚入门的时候会习惯给变量命名为a、b、c等英文字母。这样的变量名会让你无法从诸多信息中分辨出变量里装的东西是什么,这无异于给自己的孩子取名叫做“张小红”、“王小明”,一下就淹没于茫茫人海之中了。

除了变量命名之外,还要注意的是:在代码世界中,赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的盒子中。
代表左右两边相等的符号,是比较运算符==,虽然他俩长得像,但代表的却是完全不同的意思,可千万不要搞混了。关于比较运算符== 大家先不用着急它的用法,在之后的关卡它会再与大家见面的。

测验

输出千寻

魔法少女千酱
千寻
夏目千千

参考代码

name='魔法少女千酱'
name='夏目千千'
name='千寻'
print(name)

小游戏

注意:在小埋问你她的年龄时,要记得在【终端】输入你猜的数字哦。

import random
import time
###提示语部分
print('你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧~(◆◡◆)')
time.sleep(2)
print('''
=============================
   干物妹!うまるちゃんの年齢
=============================
''')
time.sleep(1)
print('小埋的真实年龄在1到10之间哦~')
time.sleep(1)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值