视频链接:https://www.bilibili.com/video/BV1Fs411A7HZ?p=11.
1 愉快的开始
- Python的应用范围:操作系统、WEB、3D动画、企业应用、云计算
2 我和Python的第一次亲密接触
- Python是脚本语言:脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
语法和结构通常比较简单
学习和使用通常比较简单
通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
程序的开发产能优于运行性能
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
- IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。
- print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell窗口)
- Python中的乘号是*(星号)
- 在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本
3 用Python设计第一个游戏
- BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)
- 在 Python 或 IDLE 中,输入 dir(builtins) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个
- 对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误
- Python中最重要的就是缩进,在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)
- C语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!
- 在一些编程语言,我们可以将两个字符串“相加”在一起,如:‘I’ + ‘Love’ + ‘FishC’ 会得到 ‘ILoveFishC’,在 Python 里,这种做法叫做拼接字符串。
print("-------------我爱鱼C工作室---------------")
temp=input("不妨猜一下小甲鱼现在心里想的是那个数字:")
guess=int(temp)
if guess==8:
print("你猜对了!")
else:
print("猜错了,应该是数字8")
print("游戏结束!不玩了")
name=input("请输入你的姓名:")
print("你好"+name+"!")
temp=input("请输入1-100之间的数字:")
num=int(temp)
if 1<=num<=100:
print("输入对了")
else:
print("输入正确")
4 小插曲之变量和字符串
- 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存在内存中,称之为变量(Variable),在大多数语言中。都把这种行为称为“给变量赋值”或“把值存储在变量中”。
- 不过Python与大多数其它计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边
- 所以有些[Python程序员会说"Python"没有"变量“,只有”名字“。
- 在使用变量之前,需要对其先赋值
- 变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
- 字母可以是大写或者小写,但是大小写是不同的。也就是说fishc和Fishc对于Python来说是完全不同的两个名字。
- 要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号。Python不挑引号,但是必须成对,你不能一边是单引号,一边是双引号。
- 如果对于一个字符串中有很多反斜杠,可以使用原始字符串。原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:str=r"C:\now"。原始字符串最后是不能加上反斜杠的"/"。
- 如果希望得到一个跨越多行的字符串,我们就需要使用到三重引号字符串!
5 改进我们的小游戏
- Python中一行可以书写多个语句,只要语句之间用分割号隔开即可
- Python3中一行过长的语句可以使用反斜杠或者括号分解成几行
import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
guess = int(temp)
times = times - 1 # 用户每输入一次,可用机会就-1
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")