1.python简介
一种多范式编程语言,是一门解释型语言。
1.1python发展历史
创始人:Guido van Rossum
- 1994.python1.0
- 2000.python2.0
- 2008.python3.0
1.2python优缺点
优点:
- 简单明确
- 开源
- 学习曲线低
- 解释型语言
- 支持面向对象和函数式编程
- 可扩展性和可扩展性、可移植性
- 代码规范程度高。可读性强。
缺点:
- 无法加密
- 执行效率低
2. 编辑器
2.1sublime
常用的快捷键
- 保存 ctrl+s;
- 注释和取消注释 ctrl+/;
- sublime中的编译执行 ctrl+b;
- ctrl+c/v 复制/粘贴;
- ctrl+a 全选;
- ctrl+z 撤销;
- ctrl+shift+z 反撤销;
- ctrl+x 剪切;
- ctrl+f 查找;
- shift按住不放+鼠标左键 部分选;
- ctrl按住不放+鼠标左键 多光标操作;
2.2pycharm
3.python基本语法
3.1 注释
- 单行注释 #;
- 多行注释 '''或者""",一般使用双引号;
3.2 标识符
程序中专门用来命名的符号叫标识符;
python中标识符的要求:所有标识符必须是由字母数字下划线构成,且开头不能位数字;(SyntaxError:语法错误)
3.3缩进
每行代码前的空格叫缩进;python中每行代码前的缩进个数是有规范的,不能随意出现缩进,也不能在该出现所进的地方没有缩进;(IndentationError:缩进错误)
3.4关键字
系统保留下来具有特殊功能或者特殊意义的标识符。
import keyword #导入关键字;
print(keyword.kwlist) #输出关键字列表;
3.5常用数据类型
- int 整型(整数);例如:1, 100, -100;
- float 浮点型(小数) 例如:2.5, 5.35, -3.14;
- str 字符串 例如:'yangcheng', '今天天气真好', ‘123’;
- bool 布尔值 只有True和False两个。
- list(列表), dict(字典), set(集合), tuple(元祖),function,迭代器,生成器;
3.6两个常用的内置函数
- 输出函数 print(),在控制台输出括号里的内容;
print(1)
message=111
print(100,'abc',message)
#注意:一个print打印的数据独占一行,如果一个print同时打印多个数据,多个数据之间显示的时用用空格隔开;
- 输入函数input(),从输入设备获取输入内容到程序中;输入结果=input(提示信息);
result=input('请输入账号:')
password=input('请输入密码:')
print('结果:',result,password)
#注意,当程序执行到input函数时,程序回停下来等待输入完成后再继续执行(线程阻塞);
#练习:写程序用来收集一个人的姓名和年龄,并打印。
name=input('姓名:')
age=input('年龄:')
print('姓名:',name, '年龄:',age)
4.python的变量
变量是用来在内存中开辟空间保存数据。
4.1声明变量
语法: 变量名 = 数据
说明:a.变量名 -标识符,不能是关键字。(要求)
见名知义,所有字母都要小写,如果变量名变量名是由多个单词组成,
单词之间用下划线隔开(规范) 例如:student_name = 狗蛋儿
b.= -赋值符号,将赋值符号右边的数据赋给左边的变量(必须是变量)
c.数据 -数据可以是不同类型的值,也可以是已经声明的变量或者运算表达式
num=10 #声明一个值为10的变量
num2=12.3
num3=num #把num的值赋给num3
num4=12+10*num2
print(num4)
num=100 #已经声明的变量可以重新赋值,新赋的值会覆盖原来的值。
同时声明多个变量:
a=b=c=100 同时声明多个变量,赋相同的值。
a1,a2,a3=10,20,30 同时声明多个不同值得变量。
python中声明变量和给变量赋值的基本原理:
先开辟空间将数据存起来,数据需要多大的内存空间就开发多大的内存。然后再将变量指向对应的内存区域。
数据大小单位换算:
8位(bit)=1b;
1024b=1Kb
1024Kb=1Mb
5.运算符
python支持的运算符:数学运算符;比较运算运算符;逻辑运算符;赋值运算符;(位运算)。
5.1数学运算符
- +加号
- -减
- *乘
- /除
- //整除
- %取余
- **幂运算
#数学运算符:+,-,*,/,//(整除),%(取余),**(幂运算)
print(1+2) #运算结果:3
print(3-2) #运算结果:1
print(5*6) #运算结果:30
print(5/2) #运算结果:2.5
print(4/2) #运算结果:2.0
#取商,结果只取整数部分
print(5//2) #运算结果:2
print(4.2//2) #运算结果:2.0
#求余数
print(5%2) #运算结果:1
print(8%3) #运算结果:2
#求幂 x**y -求x的y次方
print(2**3) #运算结果:8
#优先级:**最高,其次乘除,最后加减;
print(10+2*3**5-15/3) #运算结果:491
5.2比较运算符
比较 运算符:>, <, ==, !=, >=, <=.
注意:所有比较运算符运行结果都是布尔值。
print(100>10) #运行结果:True
print(100>10000) #运行结果:False
print(100<10) #运行结果:False
print(100<1000) #运行结果:True
print(100==100) #运行结果:True
print(100!=100) #运行结果:False
print(100!=10) #运行结果:True
5.3逻辑运算符
逻辑运算符:and(与), or(或), not(非)
注意:所有逻辑运算符的结果也是布尔值,且操作对象也是布尔值
- 逻辑运算符:and 运算规则:两个都为True,结果才是True;有一个False, 结果为False 。 应用:要求多个条件同时满足,使用and将条件连接在一起。
#逻辑运算:and
#进入公司的条件:分数不低于90,年龄25岁以上
score=98
age=56
print(score>=90 and age>25) #运行结果:True
#判断num是否在0到100之间
num=10
print(0<=num<=100) #写法一 运行结果:True
print(0<=num and num<=100)#写法二 运行结果:True
- 逻辑运算符:or 运算规则:两个都为False,结果才是False;有一个True, 结果为True 。 应用:要求多个条件中只需要满足一个,使用or将条件连接在一起。
#逻辑运算:or
# 或者奖学金的条件:学习成绩不低于90或者操评分大于95.
score1=80
score2=96
print(score2>95 or score1>=90) #运行结果:True
- 逻辑运算符: not 运算规则:取反。True变False,False变True。 应用:对一个条件进行否定。
#逻辑运算:not
#进入网吧的条件:年龄不小于18岁
age=17
print(not age<18) #运行结果:False
注意:不要让数字参与逻辑运算。
5.4赋值运算符
赋值运算符:=, +=, -=, *=, /=, %=, **=
注意:所有赋值运算符左边必须是变量,复合赋值运算符左边必须是赋值过的变量
- = :直接把右边的值赋值给左边变量
- +=, -=,*=,/=等等复合赋值符:先把变量取出来,再和后面值相加,最后得到值再赋值给变量
5.5运算符的优先级
运算符的 优先级:数学运算符>比较运算符>逻辑运算符>赋值运算符,如果有括号,先算括号里面的。
6.turtle库
turtle是python的标准库,是一个入门级的绘图库。
6.1turtle库的基本核心函数
- 绘制状态函数:penup()、pendown()、pensize(), 其对应别名pu()、pd()、width();
- 颜色控制函数:color()、pencolor()、begin_fill()、end_fill();
- 运动控制函数:forward()、backward()、left()、right()、setheading()、goto()、circle()。
6.2 turtle库的引用
引用turtle库需要用到保留字import, 共三种方法。
- import turtle
调用函数需要使用turtle.<函数名>() 例如:turtle.circle(); - from turtle import *
用此方法调用函数直接采用<函数名>() - import turtle as t
用此方法调用函数采用t.<函数名>()
6.3turtle库常用函数介绍
- penup() 抬起画笔,之后移动画笔将不再绘制形状
- pndown() 放下画笔,之后,移动画笔将绘制形状
- pensize() 设置画笔线条宽度
- color() 设置画笔颜色或者背景颜色 color(colorstring)或者color(colorstring,colorstring)。
- begin_fill(color) 在绘制带有填充色彩的时候使用,表示填充开始
- end_fill(color) 填充结束
- forward(distance) 画笔向前走的距离,distance为像素值。
- backward(distance)
- right(angle) 当前行进角度为原点,行进方向向右改变指定角度angle。
- left(angle) ...............左.........
- setheading(to_angle) 设置画笔当前前进方向为to_angle。to_angle为绝对方向的角度值。
- goto(x,y) 将画笔移动到绝对位置(x,y)。
- circle(radius,extend=None) 根据半径radius绘制角度为extend的弧形。