基础知识
一、标识符
二、保留字
三、变量与常量
a=10
pi=3.14
print(a)#如果变量未被声明则不能使用
print("a")#加引号是字符串,不加双引号的是变量
print(pi)
四、注释
单行注释用#
多行注释用三个“或三个'包裹,共计6个
数据类型
一、主要数据类型:
数值型(整数)
print有自动转换十进制的功能
数值型(浮点数)
数值型(复数)
可以获得复数的实部和虚部
复数的实部和虚部输出的是浮点数
num=5+4j
print(num.real)
print(num.imag)
字符串
单引号,双引号引出的都是字符串,使用print输出的不带引号
三引号也可以,可以用来输出换行的字符串
print("HELLO WOROLD")
print('hello world1')
print('''大家好
可以换行''')
逻辑型
true和false
二、type()函数
三、数据类型转换
a="16"
b=int(a)#将变量a转换成整数类型并赋值给B
print(type(b))
前提是数据是那样一种形式
小数是小数部分直接切除
整数类型没有浮点,浮点数类型必须有浮点,浮点数没有十进制,十六进制,八进制等
复数的实部和虚部都是浮点数
运算符
一、算数运算符
二、字符串连接符
打印出4个同样的字符串
三、赋值号
变量交换,这种print中加,的方法可以适用于所有情况
a=1
b=2
a,b=b,a
print(a,b)
a=1
print("字符串a的值是"+str(a))#字符串幅值
a=b=c=13#支持多重幅值
s1=s2=s3="helloworld'
a=5
b=5
print(a==b)#输出的是True
print(a!=b)#输出的是False
四、逻辑运算符
五、input函数
age=input("请输入年龄")#输入一个数
print(age)
age=input("请输入年龄")#输入一个数
print("输入的年龄为"+age)#默认输入的是字符串
age_new=10+int(age)
print("计算后的年龄"+str(age_new))
流程控制
一、if else语句
if语句需要冒号
score=63
if(score>=60):
print("及格")
print("成绩大于60")
if的括号取决于缩进
通过input输入非字符型数据
score=float(input("请输入数"))
这里的else if 是elif加:
grade=float(input("成绩"))
if grade>80:
print("成绩优秀")
elif grade<80 and grade>60:
print("成绩合格")
else:
print("不合格")
二、循环语句
遍历循环for 无限循环while
i=0
while i<10:
print("nihao")
i=i+1
Continue
可以直接 跳出本次循环
#输出10之内的所有奇数
i=0
while i<10:
i=i+1
if i%2==0:
continue
print(i)
Break
直接跳出本次循环
#输出100之内的前3个偶数
count=0
i=0
while i<=10:
i=i+1
if i%2==0:
print(i)
count=count+1
if count==3:
break
三、Try Catch 处理异常
异常类型就是报错时前面出来的内容
函数
一、函数的基本格式
def add(a,b):
print(b)
return a+b
m=1
n=2
add(m,n)
s=add(3,4)
print(s)
函数中可以有多个return语句
二、函数的参数
def add(a,b):
print(b)
return a+b
m=1
n=2
add(m,n)
在这里m,n是实参
def add(a,b=1):
print(a+b)
add(2)
add(2,3)
#会输出3和5
可选参数放在后面
global n
print(n)#输出的就是全局变量n
三、print输出不换行的办法
a=26
print(a,end='')#添加了一个end之后不换行,然后''可以额外添加一项东西
print(15)
字符串
一、字符串操作符
判断是否在字符串内用in
s1="How are you doing"
print("are" in s1)
二、字符串索引和切片
s="How are you doing"
print(s[0])
切片不包含结束索引的位置,支持空格
s="How are you doing"
print(s[1:6])
print(s[1:])
支持负数逆序排列
s="How are you doing"
print(s[1:11:2])#隔一个取一个
print(s[::-1])#逆序排列
s[-1]指倒数第一位
三、FOR循环
s="How are you doing"
for i in s:
print(i)#依次输出每一个字符
四、字符串常用函数
unicode编码使用16位二进制数代表一个字符
chr可以返回数字代表的字符,Ord功能与他相反
先有一个字符串,再调用字符串的这些属性。不会改变原字符串的值
str.replace 第一个old是老字符,第二个new是新字符,起到替换子串的作用
str.center使字符串变成width宽,不足的用fillchar填充。如果width太小,直接返回原字符串内容
str.strip()默认删除空格
str.count(sub,数字)数字指开始时间
str.split()返回列表
补充字符串:
str.capitalize():把字符串首字母大写
str.index(sub,begin,end)返回sub在字符串str中第一次出现的位置,若未出现,报错。begin,end可以指定字符串指定的范围
str.find(sub,begin,end)返回sub在字符串str中第一次出现的位置,若未出现,返回-1。begin,end可以指定字符串指定的范围
begin和end不会改变绝对位置,只有一个默认是begin
Format方法的运用
一、基础知识
print("{}说今天天气不错".format("小米"))
print("{}说今天天气不错,{}".format("小米","对吗"))
print("{1}说今天天气不错,{0}".format("小米","对吗"))
可以加数字代表顺序
不支持一个参数两个槽
s="二级考试"
print("{:25}".format(s))#强制输出25宽度的,这些都可以自由使用
适用于嵌套
s="二级考试"
y="+"
print("{0:{1}^25}".format(s,y))
#返回值
++++++++++二级考试+++++++++++
千分位符功能
print("{:+^25,}".format(234567890))
#返回值
+++++++234,567,890+++++++
截取功能
print("{:.5}".format("全国二级计算机考试"))
#返回值
全国二级计
类型:
b:整数对应的二进制数
c:整数对应的Unicode字符
d:整数对应二进制
o:整数对应八进制
X:大写16进制 x:小写16进制
e,E:浮点数对应的字母e指数形式
f:标准浮点数
%输出浮点数的百分比形式
组合数据类型
一、基础知识
二、集合类型
无序:print输出是混乱的
不重复:多个只显示1个
t={123,23,444,666}
s={123,23,555}
print(t-s)#666,444差集
print(t^s)#补集,非共同所有555,666,444
print(t&s)#123,23交集
print(t|s)#并集 23,555,666,123,444
t={3.13,234,123,5,14}
print(len(t))#长度5
print(123 in t)#在集合内 True
print(123 not in t)#不在集合内 False
t.add(666)
print(t)#多加了666
创建空集合
s=set()
三、序列类型
列表类型
lb=[123,234,"你好",'t']
print(lb)
print(type(lb))
max,min用在字符串身上会报错
strls=["a","b","c","d","e"]
print(max(strls))
print(min(strls))
都是字符串会按字母顺序比较
创建空列表
ls=list()#创建空列表
#ls=[]效果相同
print(ls)
print(type(ls))
insert会把原位置的数据往后挪
pop基于位置,从0至N-1
remove基于内容,有重复元素删除第一个
reverse倒叙
index找不到会报错
如下的列表赋值是指针,copy是复制
a=[1,3,4,5]
b=a
c=a.copy()
a[2]=6
print(a)
print(b)
print(c)
元组类型
元组的操作和列表一致
除了不能修改以外其他都和列表相同
四、字典类型
字典的定义:(dict)
索引是键
d={100:"张三",200:"李四",300:"王二麻子"}
print(d)
print(type(d))
print(d[200])
赋值可以直接修改内部值
如果没有这个键,那可以额外添加
返回值是键
假设一字典d
d.keys():返回所有键
d.values():返回所有值
d.items():返回所有键值对
循环结合字典
d={100:"张三",200:"李四",300:"王二麻子"}
for i in d.values():
print(i)
for i in d.keys():
print(i)
for i in d.items():
print(i)
字典类型是无序的,只有序列类型是有序的
d={100:"张三",200:"李四",300:"王二麻子"}
print(d.get(400,"查无此人"))#找不到返回查无此人
print(d[100])#找不到报错
文件
一、基础知识
文件的打开
二、相对路径和绝对路径
下面分别代表相对和绝对
f=open("est.txt",encoding="UTF-8")
s=f.read()
f.close()
print(s)
path="E:\Python\pythonProject3\est.txt";
f=open(path,encoding="UTF-8")
s=f.read()
f.close()
print(s)
\n换行
\b退格
\t tab
\\ 真正的\
电脑两个方向的\/都是认识的
三、读文件
多次readline 可以一行一行读
四、写文件
可以写一个不存在的文件,自动生成后加进去
path="E:/Python/pythonProject3/new.txt";
f=open(path,"w",encoding="UTF-8")
s=f.write("今天早起睡大觉")
f.close()
按行写可以写列表
path="E:/Python/pythonProject3/new.txt";
f=open(path,"w",encoding="UTF-8")
f.writelines(["早起\n","睡大觉"])
f.close()
模块引用
一、库的引用
#引用标准库
from random import *
print(randint(1,10))
二、内置函数
for i in range(100):
print(i)#默认从0-99的100个数
for i in range(1,101,1):#最后一个切片
print(i)#默认从0-100的100个数
三、Random库
四、第三方库
使用 window+r打开命令行窗口,输入cmd
全模式:找到所有分词的可能,有点冗余
搜索模式:和全模式差不多,比全模式结果少一点
Python绘图
一、画笔函数
forward 简写fd,默认海龟脑袋向右
setheading函数,默认角度为0度朝右,90度朝上
pencolor ()括号内写一个颜色的英文(如yellow),或者rgb颜色(三个0-1的数)
color第一个是画笔颜色,第二个是填充颜色
二、窗体函数
circle默认e为360,还有一个step参数,step=3可以画一个三角形