从 IDLE 启动 Python
-
IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是同一个通过键入文本与程序交互的途径。
-
hello,world
python 的注释符号是 #
向上翻语句:alt + p
向下翻语句:alt + n
python之前版本的print格式在3.0之后不能使用
c语言的print语法格式也不能使用 -
试试简单的计算
字符串+数字:报错
做一个简单的猜数游戏
- 在 IDLE 中,输入部分然后按Tab,出现提示
- 点击菜单栏的file,新建一个窗口,输入以下内容,保存
ps:缩进位置若没有缩进就会报错
input 是 python 的内置函数
BIF:built-in functions 内置函数
按F5或者菜单栏上的 run–》run module
- 查看内置函数和函数的功能
help(函数名)
变量
把一个值赋值给一个名字时,它会存储在内存中,称之为“变量”,这个行为称之为“给变量赋值”或“把值存储在变量中”。
Python 和其他大多数计算机语言的区别在于,它不是把值存储在变量中,而更像是把名字贴在值的上边。
所以有些程序员称,python没有“变量”,只有名字。
- 数字的计算
- 字符的拼接
- 使用变量时需要注意
使用变量之前,需要对其先赋值
变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
变量名区分大小写
python3 支持中文变量名 - 交换变量值
字符串
- 文本和数字是截然不同的
注意:单引号和双引号是成对出现的,不能一边单引号,一边用双引号。 - 在字符串中使用单引号或双引号
使用转义字符或者单引号、双引号岔开使用
原始字符串
符号 | 说明 |
---|---|
\ | 反斜杠(\) |
\’ | 单引号(’) |
\" | 双引号(") |
\a | 响铃(BEL) |
\b | 退格键(BS) |
\n | 换行符(LF) |
\t | 水平制表符(TAB) |
\v | 垂直制表符(VT) |
\r | 回车符(CR) |
\f | 换页符(FF) |
\ooo | oo 为八进制数 |
\xhh | hh 为十六进制数 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
利用字母 r 对字符串进行转义
这里注意,不能在字符串结尾使用反斜杠
原因是因为最后的反斜杠转义了后面跟着的引号
因此我们需要对转义进行反转义,然后删除最后一个反义字符
长字符串
使用三个引号可以得到一个跨越多行的字符串
三个双引号或者三个单引号都可以,但是一定要成对出现
条件分支
- python 的条件分支语法
if 条件:
条件为真(True)执行的操作
else:
条件为假(False)执行的操作
while 循环
while 条件:
条件为真(True)执行的操作
while 1<2:
print("I love python")
开始循环刷屏,点击ctrl+c停止
- 改进猜数小游戏
import random
print("------ This is a game ------")
counts = 3
num = random.randint(1,10)
temp = input("请从1~10中猜一个数:")
while counts > 0:
guess = int(temp)
if guess == num:
print("bingo! 猜对了!答案就是:",num)
break
else:
if guess < num:
print("小啦~")
else:
print("大啦~")
counts = counts - 1
temp = input("请重猜:")
print("game over!答案是:",num)
random 生成伪随机数
伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。伪随机数可以用计算机大量生成,在模拟研究中为了提高模拟效率,一般采用伪随机数代替真正的随机数。模拟中使用的一般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。
- 重现random随机数
实现对伪随机数的攻击,需要拿到它的种子,默认情况下random使用当前操作系统的系统时间作为随机数种子。 - random.getstate()
x = random.getstate()
# 将随机数内部的生成器状态保存到名为 x 的变量当中
查看x中的内容,右击view一串数字,不用管它是什么
生成几个随机数,再调用setstate函数
常见数值类型
- 整型
- 浮点型
- 字符型
- e记法
1.2e10 = 1.2*1010
e记法生成数都是浮点型的 - 布尔型
True 和 False 可以当做1和0进行计算,但是这种做法并不妥当,不推荐在实际应用中使用
类型转换
- 转化为整型
- 转化为浮点型
- 转化为字符串
- 变量起名错误
如果给一个变量起名为str,会有什么样的后果呢
再使用str来进行类型转换的时候就会报错,因为此时的str已经被赋予了变量的身份。
获取变量类型
- type()
- isinstance(参数,类型)
返回布尔类型的值,True表示两个参数类型一致,False表示两个参数类型不一致。
常用操作符
- 真除法、地板除法、截断除法
【真除法】:x/y,在python2.7之前,这个操作对于整数会省去小数部分,对于浮点数会保持小数部分;在python3版本中,变为和实际的数学运算结果一致。
【地板除法(floor)】:math.ceil/math.floor 在python2.7版本的返回值是‘浮点数’,在python3.5版本是‘整数’
math.ceil 是返回大于或者等于当前值的‘最小整数’
math.floor 是返回小于或者等于当前值的‘最大整数’
【截断除法】:math.trunc 在python2.7 或者是python3.5 版本中最终的结果都是‘截断’之后的‘整数’。 - 取余
- 幂运算
3 ** 2 = 32
优先级问题
写算式的时候不要吝惜使用括号,使用括号可以让代码不易出错,也有更好的可读性。
优先级数(级数越小优先级越高) | 运算 | 表示 |
---|---|---|
1 | 幂运算 | ** |
2 | 正负号 | +x -x |
3 | 算术运算符 | * / // + - |
4 | 比较运算符 | < <= > >= == != |
5 | 逻辑运算符 | not and or(not 比 and 高,and 比 or 高) |
逻辑操作符
- and 全真才真
- or 一真则真
- not 取反
在一般编程语言中不被允许的这种逻辑运算形式,在python中被理解为(3 < 4)and (4 < 5)