代码块不使用大括号{}来控制类,函数。主要特色是用缩进分层来写模块。
3个单引号(’’’)或3个多引号(""")
input (prompt)。 prompt是可选参数,用来显示用户输入的提示字符串。
如,x=input("请输入:") print(x)
// 输入,水果,输出,水果(提示字符不输出)
格式:print(value,…,sep= ’ ‘,end= ’ \n’)
value 是用户输出信息,用逗号分开。
sep 是多个输出信息之间的分隔符,默认分隔符为一个空格。
end 是所有输出信息之后添加的符号,默认值为换行符(\n)。
注意:如果输出内容既包含字符串,又包含变量值,要将字符串和变量之间以(%)符号分隔开 。
如,x=100 print("我有%d元钱"%x) #输出我有100元钱
如果有多个变量输出,必须将这些变量以元组处理
x=200 y=100 print("我原有%d元钱,还剩下%d元"%(x,y)) #输出多个变量,将变量以元组处理
数字类型
int(整数),float(浮点数),
boll(布尔值)(包括True和False,只与1和0有关系。True1,True。False0,False),
complex(复数)(如,a=2.6+0.8j。a.real 取出实部,得到2.6。a.imag取出虚部,得到0.8 。complex(real,imag)将两个值转化为复数)
注意:数值的除法(/)总返回一个浮点数,获取整数要使用(//)操作符
字符串类型
创建字符串时,将多个字符以英文单引号(’ ‘)、双引号(" ")、或三引号(字符串长度超过一行必须用三引号)包含起来.
第一个字符索引值永远是0(如’Pattot’[0],获取第一个字符’P’)
1、集合类型(Sets){ }
无序不重复的集。主要功能是自动清除重复的元素。如,goods={'冰箱','洗衣机','空调','洗衣机'} print(goods)
建立空集合必须用 set()函数
2、列表类型(List) [ ]
列表中元素可以不相同,支持数字,字符串,列表(就是嵌套)。s[0]返回第一个元素,s[1]返回第二个元素,以此类推;s[-1]返回最后一个元素。
3、元组类型(Tuple) ( )
一群有序对象的集合,对象不可以新增、删除、修改。
4、字典类型(dict) {键值1:数值1,键值2:数值2, … }
键值必须是字符串、数字或元组,数值可以是任何数据类型。
如,dd={“名称”:“冰箱”,’‘产地’’:“北京”}
字典的元素排列无序。
算数,比较,赋值,逻辑,位
成员运算符 in 和not in。x in y表示若x在y序列中则返回True
身份运算符 is 和n is not 。is判断两个标识符是不是引自同一个对象,is not 判断是不是引自不同对象。
type()函数查询变量所指的对象类型。如,a=20 print(type (a))
得到<class ‘int’>
1、获取某个元素返回值
aa.index("冰箱") #返回元素("冰箱")的索引值
2、改变对象的元素值
aa[1]="却话巴山夜雨时"#修改列表aa中的第二个元素
3、插入新元素
aa[3:]=["插入",11] #第4个位置插入,后面舍去
4、删除元素
del aa[2] #删除列表中第三个元素
+号操作符用于字符串和列表元素的组合。
aa=[1,2,3]+[3,4,5] #得到aa=[1, 2, 3, 3, 4, 5]
*号用于重复列表中的元素。
aa=[1,2,3]*2 #得到aa=[1,2,3,1,2,3]
len() 返回列表的长度(元素个数)。
max()最大值,min()最小值;其中的元素数据类型必须一致。
解释器内输入dir([ ]),显示内置列表方法。
1、append(object),列表结尾加上新对象object
2、clear(),清空列表
3、copy(),复制列表
4、count(value),列表中相同元素value的数目
7、insert(index,object),在索引值为index的元素前加入元素object
8、pop([ index ]),将索引值为index的元素删除
9、remove(value),将值为value的元素删除
创建只有一个元素的元组
必须要在元素后加上逗号(,),否则会默认是赋给变量的值。
元组对象不能修改
删除整个元组
del aa
len(),max(),min(),sum()
字典是一种可变容器模型,可存储任意类型对象。
获取字典中元素值
通过键值作为索引,返回字典中的元素
dd[“名称”]
dd={"名称":"冰箱","产地":"北京"} dd["名称"] '冰箱'
修改元素值
dd[“产地”]=“上海”
dd={"名称":"冰箱","产地":"北京"} dd["产地"]="上海" dd {'名称': '冰箱', '产地': '上海'}
删除元素
del dd [“产地”]
dd={"名称":"冰箱","产地":"北京"} del dd["产地"] dd {'名称': '冰箱'}
注意:
1、同一个键值不允许出现多次;若出现多次,只有最后一个有效,前面重复的自动删除。
2、键值不可变,可用数字,字符串,元组充当;不能用列表。
len(),str(),type()
1、clear()
2、copy()
3、get(k [,d]),k是索引值(键值),d是索引值的默认值,如果k存在,返回它的值,不存在则返回d。
dd={"名称":"冰箱","产地":"北京"} dd.get("名称","不存在") '冰箱' dd.get("价格","不存在") '不存在'
4、dd.items(),创建一个由元组对象组成的列表
5、keys(),使用键值创建一个列表对象
7、setdefault(k [,d]),若k不存在,返回d,并将新元素添加到字典中
8、update(E),由字典对象E来更新字典
9、values(),使用字典的键值的数值创建一个列表对象
1、capitalize(),将第一个字符转化为大写,其他字符转化为小写。
若第一个字符不是字母,则只是后面字母转为小写。
2、count(sub,start,end),统计字符串中字符(sub)出现的次数,start与end可选择,start默认0,end默认字符串长度
str="the best girl is you bad hah hah best hah" s="b" print("字符b出现的次数为:",str.count(s)) #count() 默认start=0,end s="best" print("字符best出现的次数为:",str.count(s)) #得出次数为2 print("字符best出现的次数为:",str.count(s,0,10)) #count()中start=0,end=10 ,得出次数1
3、find(str,beg,end),检测字符串中是否包含子字符串(str),若包含,返回开始的索引值,否则返回-1。
str1="桃花潭水深千尺" str2="潭水" print(str1.find(str2)) #检索字符串1中是否包含字符串2,含,返回开始索引值
4、index(str,beg,end),检测字符串中是否包含子字符串(str),若包含,返回开始的索引值,否则报异常。
5、isalnum() ,检测字符串是否只由字母或数字组成。所有字符都是字母或数字,返回True,否则返回False。
7、isalpha() ,检测是否只由字母或汉字组成。所有字符都是字母或汉字,返回True,否则返回False。
8、isdigit() ,检测是否只由数字组成。所有字符都是数字,返回True,否则返回False。
6、join(sequence) ,将元素以指定字符连接成一个新的字符串,sequence为要连接的元素。
9、lower() ,将所有大写字符转化为小写。
10、max()
11、min()
12、replace(old,new [,max]) ,把字符串中的旧字符串替换为新字符串,max可选,表示替换不超过max次。
s1="最近采购货物为冰箱" print(s1.replace("冰箱","洗衣机")) #洗衣机替换冰箱 s2="一片,两片,三片,四片,五片" print(s2.replace("片","块",3)) #块替换片,替换3次
13、swapcase() ,大小写字母转换。就是大写转化为小写,小写转化为大写。
14、title() ,标题化,即所有单词首字母大写,其他字母小写。
str="I want to go to school" print(str.title())
得到 I Want To Go To School
1、序列解包
x,y,z=1,2,3
2、链式赋值
a=b=c=1
3、其他赋值
n+= n*+ n=a+b等
布尔表达式的值:True 或 False(True1 , False0)
x=100.88 y=100.66 print(x==y) #x与y不相等,结果为False print(x!=y) #x与y不相等,结果为True print(x>=y)
if 语句
if 条件:
语句
elif 另一条件:
语句
else:
语句
for语句
for 变量名 in 列表:
语句
else:
语句
continue语句 ,跳过当前循环块中的剩余语句,继续下一轮循环
1、abs(x),返回数值x的绝对值,若x是复数,返回复数的大小。
2、char(i),返回ASCII码中字符码数 i 对应的字符。
print(chr(65)) #返回ASCII码中65对应的字符A
ord(c),返回单字符c 的ASCII字符码
print(ord("a")) #返回字符a的ASCII字符码,97
3、complex(real [ ,imag]),创建一个复数,值为 real+imag*j 。若第一个参数为字符串,则不需要指定第二个参数。
[ ]表示有可能没有。
5、divmod(a,b),将a除以b的商与余数以元组类型返回
print(divmod(6,3)) #返回值为(a/b,a%b)
7、float(x),将x转化为浮点数(x可以是数值或字符串)
8、int(x [,radix]),将数值或字符串转化为整数。若是字符串则需要设置radix的值,表示进制数。
9、max(s [,args…]),若只有一个参数,返回序数对象s中的最大值;若多个参数,返回最大的序数。
10、min()
12、pow(x,y [,z]),若没有z,返回x的y次方;若有z,返回x的y次方再除以z的余数。
print(pow(2,3)) #返回2的3次方 print(pow(2,3,5)) #返回2的3次方,再除以5的余数
13、tuple(sequence),使用sequence创建一个元组
def 函数名(参数1,参数2,…):
<语句>
return [表达式] //表示结束函数
可变参数
如果在声明参数时不确定要使用多少个参数,就使用可变参数
def 变量名(a,*args): //一个不可变参数,其他为可变参数
或者def 变量名(**args): //都为可变参数
<语句>
return[ 表达式]
指不再使用def语句这样的标准形式定义一个函数。(lambda)
用户的函数只有一个表达式,可以用lambda运算符来定义。
lambda语句中, //冒号前面是参数(可以有多个),用逗号隔开,冒号右边是返回值
f=lambda x,y:x**y #返回值是x的y次方 print (f(3,2))
先加载tkinter模块,再使用Tk()方法创建主窗口
import tkinter #Tk方法创建你一个主窗口 win=tkinter.Tk() #窗体标题 win.title(string="创建图形用户界面") #创建标签控件 tkinter.Label(win,text="快快完成").pack() #创建按钮控件 tkinter.Button(win,text="关闭窗体",command=win.quit).pack(side="bottom") win.mainloop()
运行后结果:
控件共同属性
1)anchor:定义控件在窗口内的位置。包含:N、NE、E、CENTER等
2) backgtound(bg):定义控件背景颜色
3) relief:定义控件边框形式
4) borderwidth:定义控件边框宽度
5) bitmap:定义显示在控件内的bitmap图片文件
6) command:当控件有特定动作发生时,定义动作发生时调用的函数
7) cursor:鼠标移到控件上,鼠标指针类型
8) font:定义标题文字的格式
9) text:定义控件的标题文字
10) height:定义Button、Label、Text控件的高度。(以字符数目为单位)
11) width:定义Button、Label、Text控件的宽度。(以字符数目为单位)
1、pack() 方法
pack() 方法按照它的属性设置,将控件放置在Frame控件(窗体)或窗口内。若不设置任何选项,控件将会从上而下排列
选项:
1)expand:让控件使用所有剩下的空间。范围0~1,expand=0,当窗口改变大小时,窗体不变;expand=1时,窗体占满整个窗口剩余空间
2)fill:决定如何填满parcel空间(此选项在expand=1时才有用)
3)side:定义控件放置的位置。有TOP(靠上)、BOTTOM、LEFT、 RIGHT
2、grid() 方法行列
grid() 方法将控件按照表格的行列方式,来放置在窗体或窗口内
选项:
1)row:设置控件在表格中第几列
2)column:设置控件在表格中第几行
3、place() 方法
place() 方法设置控件在窗体或窗口内的绝对地址或相对地址
选项:
1)anchor:定义控件在窗体或窗口内的位置,默认NW,表示左上角
2)height:
3)width:
4)in(in_) 定义控件相对于参考控件的位置。
5)reheight:定义控件相对于参考控件(使用in_选项)的高度
6)relx:定义控件相对于参考控件(使用in_选项)的水平位移
如:键盘,鼠标等动作
在控件内处理这些事件,语法如下:
def function (event): ... widget.bind("<event>",function)
参数:widget是tkinter控件的实例变量;< event >是事件名称;function是事件处理例程