2020-02-01
Python学习笔记(一)
P1:愉快的开始
Python的应用范围
- 操作系统(Linux和Mac自带Python的解释环境)
- 3D动画(maya、blender嵌入python)
- WEB(Youtube、豆瓣是使用python开发的)
- 云计算(谷歌云开发平台)
- 企业应用(open yapi)
课程内容
- Python3的所有语法
- 面向对象思想
- 运用模块进行编程
- 游戏编程
- 计算机仿真
P2:第一次亲密接触
Python安装
从IDLE启动Python
- IDLE是一个Python Shell,shell的意思是“外壳”,就是一个通过键入文本与程序交互的途径。
- #表示注释
- alt+n 是重复上一条语句
print("I love u")
print(5+3)
5+3
99999999999*9999999999
print("I love u" * 8)
print("I love u\n" * 8)
print("I love u" + 8) #错误的
P3:第一个游戏
猜数字小游戏
print("猜数字游戏开始")
temp = input("输入数字:")
guess = int(temp)
if guess == 8:
print("猜对了")
else:
print("猜错了")
BIF
BIF(Built-in Functions):内置函数
dir(__builtins__)
查看所有内置函数
help(input)
查看某个内置函数的说明
2020-02-02
Python学习笔记(二)
P4:变量和字符串
变量
- 变量名就相当于现实社会的名字,把一个值赋值给一个名字时,ta会存储在内存中,称之为变量,在大多数语言中,都把这种行为叫做“给变量赋值”
- python和其他语言稍有不同,ta并不是把值存储在变量中,而更像是把名字贴在值的上面
- 所以有些Python程序员会说“Python没有变量,只有名字”
需要注意的地方
- 在使用变量前,需要对其先赋值
- 变量名可以包括字母、数字、下划线、但不能以数字开头
- 字母可以是大写或者小写,但大小写不同
- 等号是赋值的意思,左边是名字,右边是值
- 变量名尽量取有意义的名字
字符串
- 到目前为止,字符串就是引号内的一切东西,我们把字符串叫做文本,文本和数字是截然不同的
- 要创建字符串就要用引号(单双皆可,但是要匹配)括起来
- 如果要在字符串中出现单双引号:
- 反斜杠加单双引号,转义字符
- 外面用双引号,里面用单引号
原始字符串
在字符串前加上英文字母r即可作为原始字符串,比如:
str = r'C:\now' ##打印结果:C:\\now
注意:原始字符串在最后不能加反斜杠,否则会报错
长字符串(三重引号字符串)
使用左右各三个引号括起来可以得到一个跨越多行的字符串,比如:
str = """我是Ice,
Ice,
Ice。"""
#打印结果会将换行符自动转义
P5:改进小游戏
条件分支
比较操作符
|符号|含义| |:-:|:-:| |>|大于号| |>=|大于等于| |<|小于号| |<=|小于等于| |==|等于| |!=|不等于|
while循环
引入外援
改进后的代码
import random
print("开始猜数字小游戏")
num = random.randint(1,10)
count = 0
while count < 3:
temp = input("请输入你猜的数字:")
guess = int(temp)
if guess > num:
print("大了")
elif guess < num:
print("小了")
else:
print("猜对了!")
break
count += 1
if(count >= 3):
print("次数用尽")
P6:闲聊python的数据类型
- 整型(python3将整型和长整型合并了)
- 浮点型
布尔类型(特殊的整型)
- True = 1
- False = 0
True + True#2 True + False#1 True * False#0 True / False#error
e记法(就是科学计数法)
```python a = 0.000000000000000002
print(a)#2e-18
1.5e11#150000000000.0,会被转换为浮点数
### 类型转换
```python
a = '520'
b = int(a)#520
c = 5.99
d = int(c)#5,浮点数转整数采取截断处理
e = '520'
f = float(e)#520.0
获取类型
type()函数
a = '520'
type(a)#<class 'str'>
type(5.2)#<class 'float'>
type(True)#<class 'bool'>
isinstance()函数:判断某变量是否是某个数据类型
a = '你好'
isinstance(a, str)#True
2020-02-09
Python学习笔记(三)
P5:Python常用操作符
算术操作符
+ - * / % ** //
简化操作符
a = 5
a = a + 3
a += 3#简化写法
a = b = c = d = 10
a += 1
b -= 3
c *= 10
d /= 8
关于除法
注意:早在python2版本中,整数除法采用“地板除”规则,即整数除以一个整数计算结果向下取整,这一规则在python3版本之后,就改为取实际计算结果了(也就是会精确到浮点数),如果还想使用“地板除”,则应该使用两个斜杠来做除法,即 d //= 8
幂运算操作符
**是幂运算操作符,即次方,在使用幂运算操作符的时候需要考虑优先级的问题。
3 ** 2 #9
运算符优先级
先乘除,后加减,括号里的优先算
幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低,比如说:
-3 ** 2 #-(3 ** 2)
操作符运算顺序图解:
比较操作符
一个比较特殊的语法:
3 < 4 < 5#True
这个语法在python中是可行的,会被解释成(3 < 4) and (4 < 5)
逻辑操作符
and or not
not
not True#False
not False#True
not 0#True
not 4#False
P7:分支和循环(一)
P8:分支和循环(二)
elif
相当于C语言的else if
python可以有效避免“悬挂else”
悬挂else就是比如以下代码:
if(hi > 2)
if(hi > 7)
printf("好棒!");
else
printf("切~");
以上代码在其他语言中由于缩进不规范容易被误读为else属于第一个if,实际上else属于第二个if。
python中使用缩进控制流程,避免了悬挂else
分数评级小程序
score = int(input('请输入一个分数:'))
if
条件表达式(三元操作符)
语法:x if 条件 else y
,eg:
small = x if x < y else y
断言(assert)
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常,eg:
assert 3 > 4
我们可以用它在程序中插入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
分支和循环(三)
while循环
只要条件为真,就会一直执行
while 条件:
循环体
for循环
虽然python是由C语言编写来的,但是它的for循环跟C语言的for循环不太一样,Python的for循环更为强大。
for 目标 in 表达式:
循环体
eg:
name = 'IceFloe_Rot'
for i in name:
print(i, end = ' ')
#I c e F l o e _ R o t
member = ['aaa','bbb','ccc','d']
for each in member:
print(each, len(each))
#aaa 3
#bbb 3
#ccc 3
#d 1
range()
语法:range([start,] stop[, step=1])
- 这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的
- step=1表示第三个参数的值默认值是1
- range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列
- 注意:stop是不包括的,也就是range的范围是包左不包右
list(range(5))#[0,1,2,3,4]
list(range(2,5))#[2, 3, 4]
list(range(2,9,3))#[2,5,8]
list(range(2,4,2))#[2]
break
终止当前的循环,跳出循环体
continue
for i in range(10):
if i%2 != 0:
print(i)
continue
i += 2
print(i)
#2 1 4 3 6 5 8 7 10 9
分析:range(10):[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
遍历这个list,如果i不是奇数和0就打印出来,并执行下一个循环:
0 –> 0 += 2 print 2
1 –> print 1 continue
2 –> 2 += 2 print 4
3 –> print 3 continue
…
打印结果:偶数和奇数错开打印
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
如果你觉得本文对你有帮助,不妨请我喝杯咖啡