第三章 成为高手前必须知道的一些基础知识
本章内容:
- 1、变量
- 2、字符串
- 3、原始字符串
- 4、长字符串
- 5、带着问题继续学习:思考,改进我们的小游戏
- 6、条件分支
- 7、while循环
- 8、引入外援:random模块
- 9、闲聊数据类型
- 10、常用操作符
- 作业
- 扩展阅读
1、变量
变量(variable),因为它是可以变化的,不是恒量。变量的内容可以是字符串、列表、元组等
teacher = '小甲鱼' print(teacher) teacher = '老甲鱼' print(teacher)
#变量的运算 #这种语法在python里叫字符串的拼接 myteacher = '小甲鱼' yourteacher = '老甲鱼' ourteacher = myteacher + yourteacher print(ourteacher)
使用变量需注意:
1、在使用变量之前,需要对其先赋值。
2、变量名可以包括字母、数字、下划线,但变量名不能以数字开头
2、区分大小写:字母可以是大写或者小写,但大小写是不同的。如(FishC 和 fishc是不一样的)
3、等号(==)是赋值的意思,左边是变量名,右边是值,不可写反
4、变量命名需要专业一点
2、字符串
字符串就是引号内的一切东西,也叫文本。
与数字是不一样的
字符串的创建:
#字符串的创建:使用单引号或者双引号,把内容括起来。(单引号或者双引号必须成对) 'python l love you' "python I love you"
如果字符串内容中需要出现单引号或者双引号怎么办?
#第一种方法:是使用转义字符(\)对字符串中的引号进行转义 'Let\'s go' #方法二:利用python既可以使用单引号,也可以使用双引号的特点 "Let's go "
3、原始字符串
使用原始字符串的一个目的,就是处理有反斜杠本事引起的问题,如'\n','c:\now'等
string1 = 'C:\\now' string2 = r'C:\now' print(string1,string2) 运行结果: C:\now C:\now
注意的是:无论是否是原始字符串,都不能以反斜杆结尾。反斜杆放在字符串末尾表示该字符串还没有结束,换行的意思

#反斜杆放在字符串末尾表示该字符串还没有结束,换行的意思 string = 'fishc\'' \ 'dsdfd \'' \ 'sfdfd ' print(string) 运行结果: fishc'dsdfd 'sfdfd
如何解决这一的问题呢,我们采用下面的方法:
#对反斜杠本身进行转义,在进行字符串的拼接
string = r'FishC' + '\\' print(string) 运行结果: FishC\
4、长字符串
使用三重引号字符串(“”“ 内容”“”)。多行注释也可以用三重引号
print(""" hello,python\ heleis ,'小甲鱼'\ OK """) 运行结果: hello,pythonheleis ,'小甲鱼'OK
注意:初学者容易犯的错是误用中文的标点符号。切记,编程中使用的标点符号都是英文的!
5、带着问题继续学习:思考,改进我们的小游戏
小甲鱼做了一下总结,大概有以下几个方面需要改进:
- 猜错的时候程序应该给点提示,例如告诉用户输入的值是大了还是小了。
- 每运行一次程序只能猜一次,应该提供多次机会给用户猜测。
- 每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案外泄。
6、条件分支
Python的比较操作符:

条件分支:

拼接程序: 写出第一个要求

if guess == 8: print('哇草,你是小甲鱼心里的蛔虫吗?') print('哼,猜中了也没有奖励') else: if guess > 8: print("哥,大了大了~~") else: print("嘿,小了!小了!!") print("游戏结束,不玩啦~~")
7、while循环
带着问题:第二个改进要求:程序应该提供多次机会给用户猜测,专业点来讲就是程序需要重复运行某些代码,继续学习

#写出游戏的第二个要求 while True: temp = ('不妨猜一下小甲鱼现在心里想的是哪个数字:') guess = int(temp) if guess == 8: print('哇草,你是小甲鱼心里的蛔虫吗?') print('哼,猜中了也没有奖励') else: if guess > 8: print("哥,大了大了~~") else: print("嘿,小了!小了!!") print("游戏结束,不玩啦~~")
用到新的知识点:
1、布尔类型: True 和False ,
2、使用and逻辑操作符
8、引入外援:random模块
第三个改进要求:每次运行程序产生的答案是随机的。
我们需要引入外援:random模块
这个random模块里边有一个函数叫做:randint(),Ta会返回一个随机的整数。
我们可以利用这个函数来改造我们的游戏!
import random secret = random.randint(1,10) print('------------------我爱鱼C工作室------------------') temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:") guess = int(temp) while guess != secret: temp = input("哎呀,猜错了,请重新输入吧:") guess = int(temp) if guess == secret: print("我草,你是小甲鱼心里的蛔虫吗?!") print("哼,猜中了也没有奖励!") else: if guess > secret: print("哥,大了大了~~~") else: print("嘿,小了,小了~~~") print("游戏结束,不玩啦^_^")
9、闲聊数据类型
#1、python 的变量像标签,想贴哪里就贴哪里 #2、无论是双引号还是单引号或者三引号,都是字符串 #不带引号的是数字 '520' 520 #字符串相加,叫字符串拼接 print('520'+'1314')
9.1整数
int(5)
9.2 浮点型
>>> a =0.0000000000000000000000025 >>> print(a) 2.5e-24 >>>
E记法,使用大E或者小e都可以,1.5x10000 ,可以写成1.5e4
9.3 布尔类型
True ,False,0,1
9.4数据类型的转换

9.5 获取关于类型的信息
使用type()函数
>>> type('520') <class 'str'> >>> type(520) <class 'int'> >>> type(5e20) <class 'float'> >>> type(True) <class 'bool'> >>>
使用isinstance()函数。
#这个BIF函数有两个参数,第一个是待确定类型的数据;第二个是指定一个数据类型 #isinstance()会根据两个参数返回一个布尔类型的值,True表示类型一致,False表示类型不一致 a ='小甲鱼' print(isinstance(a ,str)) print(isinstance(520 ,str)) print(isinstance(520 ,int))
运行结果:
True
False
True
10、常用操作符
10、1算数运算符


注释:/,真除法,
//地板除:计算结果取比商小的最大整型,也就是舍弃小数的意思。
%求余: 5%2,结果为1
比较运算

赋值运算

逻辑运算

成员运算

位运算:这个比较恶心,涉及到二进制移位操作

#!/usr/bin/env python # -*- coding:utf-8 -*- a = 50 #二进制表示50=110010 b = 150 #二进制表示150=10010110 c = a & b #与运算 print(c) #试了一把结果出来的值是18,这个的话尽量忘记吧。和后面的| ;^; ~ ;<< ;>>;这些玩意儿都一路货色 d = a | b print(d) #或运算,得到的结果182 e = a ^ b print(e) #异或的操作得到结果164 #f = a ~ b #print(f) g = a << 2 print(g) #左移位2下得到结果200 h = a >> 2 print(h) #右移位2得到结果12
其他的数据操作,请看此处的引用:http://www.runoob.com/python/python-operators.html
10.2 优先级的问题

逻辑操作符的顺序: not and or
作业:
[课后作业] 第003讲:插曲之变量和字符串 | 课后测试题
[课后作业] 第005讲:闲聊之Python的数据类型 | 课后测试题
[课后作业] 第006讲:Pyhon之常用操作符 | 课后测试题
扩展阅读

浙公网安备 33010602011771号