Python格式化输出
name = "laowang" age = 18 print(age) print(type(name)) print(name + str(age)) print("老王今年%d岁"%age) print("%s今年%d岁"%(name,name))
打印浮点数(指定保留小数点位数)**
print("His height is %.2f m"%(1.83)) 效果为 His height is 1.83 m print("hello") print("world") 要是她不换行显示,可以改为 print("hello",end="") print("world")print默认end ="/n"
input输入的东西为字符串 num = input("请输入数字:") print("输入的数字为%s"%num)运算符
a,b = 1,2 a,b = b,a #a,b可以直接交换
输入两个数并输出两数的和
num1 = input("请输入第一个数:") num2 = input("请输入第二个数:") result = int(num1)+int(num2) print("%s + %s = %d"%(num1,num2,result))字符串
给定一个单词,依次打印给定的字母
world = input("请输入一个单词:")for temp in world: print(temp)
字符串切片
name = 'abcdef'
name[0:2]-------->'ab'从0开始取到2前面的一个字符 name[:]----------->'abcdef'取全部 name[-1]---------->'f' 最后一个字符 name[0:-1]-------->'ancde' name[起始位置:结束位置:步长] name[::]---------->'abcdef'取全部 name[::2]--------->'ace'步长为2 name[::-1]-------->'fedcba'倒着输出列表
添加
append------------->向列表末尾添加元素
extend------------->向列表末尾添加列表 >>> a = [1,2] >>> b = [3,4] >>> a.append(b) >>> a [1,2,[3,4]] >>>a.extend(b) >>>a [1,2,[3,4],3,4] insert------------->在指定位置前插入元素 >>>a = [0,1,2] >>>a.insert(1,3) >>>a [0,3,1,2]查找
names =["xiaohong","xiaoming","laowang"] shuru = input("请输入你的名字:") if shuru in names: print("在花名册里") else: print("不在花名册里")
index------->返回下标,如果不存在,异常
count------->返回出现的次数,如果不存在,返回0删除
del----------->根据下标进行删除del names[]
pop----------->删除最后一个元素names.pop() remove-------->根据元素的值进行删除names.remove("")排序
sort()---------->由小到大排序
sort(reverse=True)----------------->由大到小排序 revserse()--------------->将列表中的所有元素拟过来元组
元组的值不允许修改,元组中只含有一个元素时,要加“,”,否则type 类型为元素的类型
字典
键值对:key不允许有相同的且不可修改。
修改元素:变量名['key']='修改后的值' 添加元素:变量名['键']=数据 删除元素:del 变量名[键] del 删除整个字典 clear 清空整个字典遍历
1.遍历字典的key
>>> for key in dict.keys(): ...print(key) 2.遍历字典的value >>> for value in dict.values(): ...print(value) 3.遍历字典的项 >>>for item in dict.items(): ...print(item) 4.遍历字典的key-value(键值对) >>>for key,value in dict.items(): ... print("key=%s,value=%s"%(key,value))函数
调用函数:函数名()
函数的文档说明
>>>def test(a,b)... "用来完成对2个数求和" ... print("%d"%(a+b)) >>> help (test)Help on function test in module _main_: test(a,b) 用来完成对2个数求和 (END)
函数定义前面不能加Tab键
那么程序不会出现语法错误,原因是第一个return被执行后,这个函数就结束了,所有接下来的return都不会被执行如果定义的两个函数名相同,执行函数时只执行下面的函数如果在函数中直接修改全局变量会产生异常如果真的需要进行修改,那么可以在函数里面进行声明+global,其他函数都修改了不定长参数
>>>def fun(a,b,*args,**kwargs): print(a) print(b) print(args) print(kwargs) test(11,22,33,44,55,66,77,88,99,mm=11,nn=44)>>>11 22 (33,44,55,66,77,88,99) {"mm":11,"nn":44}>>>A=[11,22,33] B={"aa":100,"bb":200}
引用
>>>a = 100>>>b = a>>>id(a) 10914880>>>id(b) 10914880>>>a = 200>>>b 100>>>id(b) 10914880>>>id(a) 10918080 >>>A = [11,22]>>>B = A>>>A.append(33)>>>A [11,22,33]>>>B [11,22,33]
可变数据类型:列表、字典
不可变数据类型:数字、字符串、元组 字典中的key为不可变类型a = a+a和a+=a 传递参数效果不一样 a = a + a:先把a取出来,重新组织一份,在放到新的地址中去 a+=a:直接对原来的a修改,地址不变匿名函数——————————lambda 参数:表达式
b.sort(key=lambda x:x['xuhao'])按xuhao从小到大排序
文件
打开文件 : open(文件名,访问模式)
关闭文件 :close()面向对象
定义一个类的方式为:
class 类名: #类属性(常用“类”访问类属性) # #实例方法 def 方法名(self): #实例属性 执行的程序 #如果类属性的名字和实例属性的名字相同,那么通过对象去获取的时候,会获取实例属性的值
类名:规则 大驼峰
给一个对象添加属性的方法为:
对象名.新的属性名 = 值获取这个对象的属性,2种方法:
1.对象.属性 2.定义一个方法,这个方法中,使用self.属性init()方法
1.是python自动调用的方法,调用的时间为:创建完对象之后,立马自动调用
2.不需要开发者调用,即 对象名.__inti__()
3.这个方法一般情况下会完成一些默认的事情,比如添加一些属性
4.
class XXXX: def __init__(self,new_a,new_b): self.a = new_a self.b = new_b
注意:new_a、new_b是局部变量,并不是对象的属性,如果在__init__方法中添加属性的话,需要使用类似self.属性名 = 值 的格式,此时self.a = new_a表示的是给对象添加一个属性,这个属性名为a,这个属性的值为局部变量new_a里面的值