连续复制
一键复制
一键打包

01讲:我和Python的第一次亲密接触

本期内容介绍:

Python语言介绍;
Python程序下载安装过程;
IDLE功能介绍;
字符串类型说明;
print()函数功能说明;
在Python中的“*”和“+”号运算符的功能;


内容详细说明

1. Python即可用作解释其他高级语言的脚本语言,也是一门面向对象的高级语言;较之C语言和java编程效率要高得多。
2. 推荐在Python官网下载3.0以上版本并安装,下载地址见www.python.org/downloads/
3. IDLE是Python程序自带的辅助开发工具,也就是一个能与程序进行交互的文本框,在开始菜单下的输入框内输入“IDLE”并回车, 便能找到并打开IDLE界面,初学者可以靠它进行交互式学习。
4. 字符串类型在Python中被定义为以双引号或单引号引起来的字符,例如,

在Python中只有字符串变量,没有像C语音一样字符变量的概念,例如

5. print()函数用于将字符串或数字等在屏幕上显示,例如
        >>> print('小甲鱼')
        小甲鱼
       >>> print(3+5)
       8

6. 在Python中“*”连接一个字符串和数字时表示将字符串重复多少次,例如
        '赞赞赞赞赞'
        而两个字符串之间以“+”号连接表示将两个字符串拼接,例如
        >>> '小甲鱼'+'醉酒青牛'
        '小甲鱼醉酒青牛'
        另 外“+”号两边必须是同样的数据类型,如果是一个字符串和一个数字则报错,例如
        >>> '小甲鱼'+5
        Traceback (most recent call last):
          File "<pyshell#4>", line 1, in <module>
            '小甲鱼'+5
        TypeError: Can't convert 'int' object to str implicitly
7.在Widnwos下 ,在IDLE下的快捷键小知识:

1)组合 Alt + P 表示上一个命令,Alt + N表示下一条命令

02讲:用Python设计第一个游戏

上期内容回顾:

Python语言介绍
Python程序下载安装过程
IDLE功能介绍
字符串类型说明
print()函数功能说明
在Python中的“*”和“+”号运算符的功能
IDLE中一些常用快捷键

本期主要内容导读:

主要是通过一个文字小游戏,使得大家了解Python程序的基本格式以及相应程序的流程图和关于内置函数的相关介绍。废话不多说,入正题!

1. Python程序的基本格式介绍

Python程序的的基本格式是缩进,通过不同的缩进代表不同的作用域,这是有别于C及JAVA等高级语言最显著的特点,而且缩进使得程序变得更加简洁和整齐。另外,我们需要掌握几个快捷键来提高编程效率:在IDLE窗口下,Crtl +n表示新建一个Python程序文件,Crtl +s表示保存当前编辑的Python 程序文件,F5表示执行程序文件;还有一个Tab键对初学者也非常重要。它有三个作用:1)通过按Tab键可实现程序代码缩进,IDLE现在支持选择多行代码,实现多行缩进的效果; 2)调用内置函数时,如果只记得头几个字母,可以输进去之后按Tab键, 会显示该头字母开头的所有内置函数。

2. 绘制流程图

我们主要了解一个程序包含的基本要素,任何一个程序最基本的要素为”开始“,”程序体“,”结束“ 三部分组成,程序体内除了一些按先后顺序执行的语句外,还有条件语句和循环语句,他们是程序体的核心。本期的程序对应的流程图见附件。

3. 内置函数

内置函数,英文为Bulit-in functions,我的理解就是可以在Python的IDLE里面直接使用的函数,而其他函数使用是需要通过import语句调入扩展包后才能使用。在IDLE下通过键入dir(__builtins__)回车可以列出所有Python的内置函数,而每个内置函数的功能及使用方法可以使用help(内置函数名)的方法显示出来。这一期里面,我们要掌握input()函数以及int()函数的用法,关于这两个函数用法由于过于简单,这里就不再赘述。

4. 一点补充

Python程序内不需要事先声明变量,可以直接赋值使用,另外需要注意if和else语句的使用方法,赋运算符值"="和比较运算符 "==" 的使用和区别来。

文字游戏代码:


03讲:小插曲之变量和字符串

上期内容回顾:

Python程序的基本格式介绍;
绘制流程图;
内置函数介绍;

本期主要内容简介:

变量;
转义字符使用介绍;
原始字符串用法;
长字符串的用法;

详细内容说明:

变量:在Python中变量不需要事先声明,但是需要先赋值后再使用,变量更像是贴在值上的标签,这给Python带来了很大便捷。变量的名字和C及java编程语言一样,由字母、数字、下划线组成,且首位不允许是数字,而且变量名最好能专业些,让人一看就知道其含义。
字符串: 在Python中字符串就是以双引号或者单引号括起来的内容,但是单、双引号不能混用。例如"小甲鱼",‘小牛’都是合法的字符串,而“ 小甲虫’则会报错。
转义字符:刚才说了,在Python里面''和‘主要起到定义字符串的作用,但是如果一个字符串中本身又包含字符串呢,不要急,这里轮到我们的转义 字符华丽登场了!转义字符就是反斜杠'\',对于想要将其作为一个字符处理的单引号或者双引号而言,前面只要加上转义字符就可以了。例如对于字符串Let's go!,我们就可以这样写'Let\'s go!'。另外,我们也可以使用"Let's go!"来表示。最后,转义字符加上一个字母可以表示特殊的含义,比如最常见的'\n','\t'等。感兴趣的鱼油可以看鱼神的总结http://bbs.fishc.com/forum.php?mod=viewthread&tid=39140&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403

原始字符串:

在Python中,反斜杠主要用来作为转义字符的,当我们需要用其本身含义时,可以对其自身前面加一个转义字符处理。但是对于一些特殊的字符串,如果里面频繁用到反斜杠,再手动的去一个个加就显得繁琐,这个时候可以在其字符串前面加上一个字母r,轻松解决,这就是原始字符串的含义,让字符串中的反斜杠回归原始的本意。例如字符串C:\Program File\Intel\WiFi\Help,定义只要r'C:\Program File\Intel\WiFi\Help',他的实现方法其实很简单,就是程序会自动对每一个反斜杠前面再加一个反斜杠。但是r不能对末尾是反斜杠的字符串进行定义,'C:\Temp\'。这个时候如果非要使用r进行原始字符串操作的话可以采用如下形式解决:r'C:\Temp' '\\' 或者r'C:\Temp'+'\\'。

长字符串:

一般情况下,使用单引号或者双引号只能引一行的字符串,如果字符串是有多行组成,则需要使用三引号.
例如:'''我爱鱼C,
正如我爱小甲鱼。
他那呱唧、呱唧的声音,
总萦绕在我的脑海里,
久久不肯散去。'''

特别注意:

Python里面所有的操作符如单引号、双引号、冒号、小括号等等都必须是英文字符,否则会报错。



04讲:改进我们的小游戏

上期内容回顾:

变量;
转义字符使用介绍;
原始字符串用法;
长字符串的用法;

本期内容详解:

通过对比可以发现,
1):小牛的程序里面在循环体内外都有输入数字和判断语句,显得有些重复;
2): 如果第三次输入也没有输对的话,小牛的代码里并没有判断输入的数是大了还是小了;
而鱼神代码里面,在循环体外并没有让用户输入一个值,而是对guess赋了一个初值0,并保证这个值绝对不与答案相等;
在循环体内,首先要求用户输入一个数,并让次数总数减1,然后先判断是否与答案值相等,等了就结束,否则继续判断值是大了还是小了,大了则输出值偏大了并接着判断输入次数是否用尽,小了同样输入小了并判断次数是否用尽,接着判断程序体条件是否为真以判断是否继续循环,直到用户输入正确或次数用尽则结束循环。最后一条语句声明游戏结束。
![](http://blog.baidu120.cc/usr/uploads/2017/05/3785765130.png)
![](http://blog.baidu120.cc/usr/uploads/2017/05/106595204.png)

05讲:闲聊之Python的数据类型

小牛有话说:

亲爱的鱼油们,大家好,我是小牛,我又过来班门弄斧啦,这一期里面鱼神主要是对Python中的数据类型进行了介绍,主要涉及到了字符串。整形和浮点型及布尔类型等基本的数据类型概念介绍,对于浮点类型而言的“e记法”的概念和应用,类型转换和获取类型信息的方法~~~~~~

本期内容介绍:

1. 基本数据类型:

1)整型,在Python3中长整形和整形归为一类,所有的整数都属于整型,例如1,0,1000,1203等等
2)浮点型,数字中有小数点的数,如12.1   1.85   10.0  等等,另外1e10也表示浮点数
3)字符串,所有以单引号或双引号括起来的值都叫做字符串,例如“小甲鱼”  '小甲虫'    '醉酒青牛'
4)布尔类型, 布尔类型只有两个值,True 或False ,记得在Python里面这两个值首字母均大写。

2. e记法;

如果数位很多的话,一般将其表示为e记法形式,例如0.000000000000135用e记法表示为1.35e-13,它是一个浮点数类型,
例如用e记法表示为1e3,表示的是1000.0是个浮点数,这里e也可以改写成E。

3. 数据类型转换

整型强制转换函数 int(),可以将纯数字的字符串或浮点型强制转换为整形,如int('0012')为12;  int(12.5)为12
浮点型强制转换函数float(),可以将包含一个小数点的数字字符串或者整形转换为浮点型,如float('0012')为12.0,float('.123')为0.123; float(12)为12.0
字符串强制类型转换函数str(),可以将任何类型转换为字符串类型,例如str(1e28)为‘1e+28'  str(1e2)为'100.0'等等

4. 数据类型信息获取;

函数type(),直接给出数的数据类型,例如type(12.0)则返回float,type(1000)返回int, type(False)返回bool等
函数isinstance()需要给出需要判断的数和一个数据类型,是则返回True,否则返回False,如isinstace(1,int)返回
True ,isinstance(12.5,float)返回True,isinstance('I love u',float)返回False,而isinstance('I love u',str)返回True

06讲:Pyhon之常用操作符

本期主要内容导读:

亲爱的鱼油们,大家好,我是小牛,这一期我们归纳一下鱼神第六讲Python常用运算符。这一期里面鱼神主要是对Python中常用运算符进行了简要系统讲解,主要涉及到了算数运算符、比较运算符和逻辑运算符三大类,并归纳了整个运算符在使用过程中的优先级问题。

本期内容详解:

1. 算术运算符: 加(+),减(-),乘(),除(/),幂运算(*),地板除(//)

1) /和//的区别
在Python中的除运算符与其它程序语言的不太一样,/表示真正的除号,例如1/3=0.3333333333333333,而4/2的值为2.0。说明两个数相除的值是一个浮点数,而其它程序语言/却表示两个整数相除,只返回一个整数。Python后来为了兼容这种用法,引入了//来实现。例如3//2的值为1,而3.0//2的值为1.0,且3//2.0的值也为1.0。说明在Python中//符号两边同为整数时的值才为整数,否则则为一个浮点数(后面带'.0')。
2)**运算符与负号(-)运算符的优先级问题
在Python中,‘-’在一个数字前面表示成负号,例如-3,-5.12等。**在-的右边时,其优先级高于-,例如-2**2相当于-(2**2)等于-4,而当其在右边时优先级低于-,如2**-2则相当于2**(-2)等于0.25.
3)允许运算符与等号一起使用,表示变量本身参加运算并重新赋值给变量,例如 x =5,x+=5后,x的值为10

2.逻辑操作符: and or not

x and y 的值计算过程为先判断x的值,如果为0则返回0,否则返回y的值,  例如 3 and  4 值为4;0 and 4 值为0
x or y 的值计算过程为先判断x的值,如果为0则返回y的值,否则返回x的值,例如 3 or 4的值为 3;0 or 4的值为4
not x 的值的计算过程为先判断x的值,如果为0则返回True,否则返回False 例如 not 0的值为True; not 0.12 值为False
三者的优先级  not > and >or

3. 比较运算符: < <= > >= == !=

满足条件为True 否则为False,例如  3>4的值为False  3<4的值为True,且允许使用x<y<z表达式,等同(x<y) and (y<z)

4. 赋值运算符: =

平时我们用到最多的就是赋值运算符,例如为变量赋初值等。Python中允许  x=y=z=2,表示x,y,z的值均为2

5. 运算符优先级问题:

首先理解一个概念,几元运算符指的是运算符的操作数有几个;一般而言优先级上一元运算符高于二元运算符,算数运算符优先级>比较运算符>逻辑运算符,具体见附件。

07讲:了不起的分支和循环1

本期主要内容导读:

亲爱的鱼油们,大家好,我是小牛,这一期我们归纳一下鱼神第七讲了不起的分支与循环1。这一期里面鱼神主要从大面上讲了分支和循环在程序体内的重要作用并以一个打飞机的游戏为例,详细叙述了分支和循环在编程过程中的应用。这里,小牛就循着鱼神的思路,归纳一下打飞机的这个小游戏里面如何用到分支和循环的吧~~~~~~。
首先小牛给出了打飞机的框架代码和相应流程图。在这里面用到了一个总的while循环,在循环体内部有很多的条件分支语句,例如判断用户是否关闭按钮,循环体次数是否超过50次,用户鼠标是否移动以及我方飞机是否与小飞机相撞等等。这些条件语句会将程序引向不同的分支内。详情请看下述代码和流程图,希望能帮助到更多的鱼油们理解分支和循环在编程中的重要作用!!!

08讲:了不起的分支和循环2

本期主要内容导读:

亲爱的鱼油们,大家好,我是小牛,这一期我们归纳一下鱼神第八讲了不起的分支与循环2。这一期里面鱼神主要讲了在Python中条件语句三种用法及特点,条件表达式(三元操作符)的用法以及断言(assert)语句的用法,下面我们就来详细介绍一下各个知识点吧归~~~~~~

1. 条件语句三种用法:

首先是一个具体的程序实现问题:按照100分制,90分以上为A,80~90为B,70-80为C,60~70为D,60以下为E,当用户输入分数自动以ABCDE显示并打印。这里介绍三种条件语句实现,并分析各个操作过程。方式一代码中每次输入一个数,需要将程序中所有代码走完,然而当程序判断出来分数属于哪个字母并打印后并不需要将后续条件继续执行。方式二代码中巧妙用到了else语句,使得程序执行变得简洁,但形式上层次分得过多;方式三代码与方式二执行效果上是一样的,引入了新的条件语句elif相当于将else 和 if 两条语句归并在一起的功能,从形式上看程序也显得比较整洁对称。

2. 条件表达式(三目运算符)

这是Python为了使得程序更加简洁而新引入过来的一个三目操作符,顾名思义就是有三个参数。形式为 x if 条件表达式 else y,先判断条件表达式真假,真则取x的值,否则取y的值。举个例子 3 if 4>3 else 4  值为3,而3 if 4<3 else 4 的值为4 

3. 断言语句assert

assert后面跟一个条件表达式,如果条件表达式的值为假是程序自动崩溃并报异常AssertionError,如果为真则继续执行后面的语句,主要用于在程序中植入检查点,只有assert后面的条件永远为真时程序才能正常运行,否则就崩溃。例如 assert 3>4,程序就会执行这一条语句后崩溃并报出异常,而assert 4>3则正常执行



09讲:了不起的分支和循环3

本期主要内容导读:

亲爱的鱼油们,大家好,我是小牛,这一期我们归纳一下鱼神第九讲了不起的分支与循环3。这一期里面鱼神主要讲了在Python中的while循环和for循环,重点介绍了for循环的用法并介绍了for循环里面经常使用的一个内置函数range(),最后介绍了终止循环的两个语句break和continue的用法和区别,下面我们就来详细介绍一下各个知识点吧归~~~~~~

1.while循环

其基本形式是      while 条件:

循环体

例如下面的代码,while循环中首先判断条件是否成立,成立则执行循环体,然后再次判断条件是否成立,如此循环下去直到条件不成立 

#循环体,i的值每循环一次自身加1
则打印到屏幕 0 1 2

2.for循环

在Python中for循环又叫计数器循环,其功能非常强大,能够自动调用迭代器的next方法并自动获取stop iteration异常并结束循环。for语句的形式为:
for 目标 in 表达式:
        循环体
在这里,目标指的的每次迭代的变量的值,表达式一般是序列(字符串,列表,元组等),下面以几个例子来说明for循环的用法:

 #循环体
则打印出来 F i s h C

则打印出  小甲鱼 3 小布丁 3 黑夜 2 醉酒青牛 4

3.range()内置函数

生成一个数字序列的内置函数,经常作为for循环的表达式存在,其形式是range([start,] stop [step=1])
中括号内的值表示可选项,range()函数有3个参数,start表示数字起始值,stop表示结束值且不包含该值,从start到stop为一个等差数列,默认等差数列的公差是step等于1. 例如 list(range(3))的值为[0,1,2] list(range(1,3))值为[1,2]而list(range(0,3,2))的值为[0,2]。如果step值为负时,则start的值必须大于stop,例如list(range(3,1,-1))的值为[3,2]
最后举一个for循环中使用range()函数的例子:

则打印出 0 1 2

4.break和continue语句

Python中在循环体内也可以终止循环,这个语句就是break和continue,不同的是break是结束所在循环,continue是结束本轮循环并判断循环条件。下面分别举一个例子说明。
break语句例子:执行break之后,直接跳出循环,因此程序中只要输入“小甲鱼是帅哥”整个循环即结束

10讲:列表,一个打了激素的数组1