一python内置集合:
1.tuple
#tuple:元组
tuple
tup=('python',2.7,64)
for i in tup:
print(i)
按照顺序输出
2.dict
#字典 字典输出无序
dic={}
dic['lan']='python'
dic['version']=2.7
dic['platform']=64
for key in dic:
print(key,dic[key])
dic输出是无序的。
3.set
#set集合 重复元素只输出一个
s=set(['python2','python','python','12'])
for i in s:
print(i)
set输出集合会去重,输出为:python, python2, 12
4.可变参数&关键字参数
#可变参数 *表示可变参数 list或者tuple
def report(name,*grades):
total_grade=0
for grade in grades:
total_grade+=grade
print(name,'total grade is',total_grade)
#调用可变参数
report('mike',8,9)
#关键字参数 dict
def portrait(name,**aa):
print('name is',name)
for a,b in aa.items():
print(a,b)
portrait('Mike',age=26,country='China',education='postgraduate')
5.局部变量
#局部变量
def fun():
a=10
#print(a)
#return a+100
return a+100,a+10
print(fun())
#局部变量
APPLE=100 #全局变量
def fun():
a=100 #局部变量
return a+20
print(APPLE)
print(a)
#局部变量a不能被外部调用
#外部调用局部修改的变量
APPLE=100
a=None
def fun():
global a #使用之前定义的全局变量
a=20 #a是全局变量
return a+100
print(APPLE)
print('a past:',a)
fun()
print('a now:',a)
6.读写文件
#读写文件 \n换行
text='This is my first test. This is the second line'
print(text)
text='This is my first test. \n\tThis is the second line'
print(text)
# 读写文件 open() 函数
my_file=open('/Users/kqq/Documents/学习资料/python/file.txt','w')
my_file.write(text)
my_file.close()
#读写文件 给文件添加内容 append
append_text='\nThis is append file'
my_file=open('file.txt','a') #a=append
my_file.write(append_text)
my_file.close()
#读取文件内容 file.read()
file=open('file.txt','r')
content=file.read()
print(content)
#按行读取 file.readline(),readline与使用次数有关,使用一次打印一行,以此类推
print('按行读取:')
file=open('file.txt','r')
content1=file.readline()
print(content1)
#按行读取 file.readlines(),读取所有的行,放入list
print('按行读取,读取所有行:')
file=open('file.txt','r')
content2=file.readlines()
print(content2)
#for 循环迭代输出
for i in content2:
print(i)
7.定义类
#定义class
class Calculator:
name='Good Calculator'
price='10'
def add(self,x,y):
print(self.price)
result=x+y
print(result)
def minus(self,x,y):
print(self.name)
result=x-y
print(result)
#定义自变量calcu
calcu=Calculator()
calcu.name
calcu.add(2,9)
calcu.minus(5,6)
#class 的 __init__
class Calculator:
name='Good Calculator'
price='10'
def __init__(self,name,price,hight,width,weight):
self.name=name
self.pri=price #price与__init__一样
self.hight=hight
self.width=width
self.weight=weight
def add(self,x,y):
print(self.price) #self.price和self.pri都可以
result=x+y
print(result)
c=Calculator('qwe',22,5,7,9)
c.name
c.add(12,13)
c.width=15 #更改初始化参数的值
print(c.width)
8.input
#input
a_input=input('Please give a number:') #默认string类型
a_input=int(input('Please give a number:'))
#print('This input number is:',a_input)
if a_input==1:
print('This is a good one')
elif a_input==2:
print('See you next time')
else:
print('Good luck!')
9.元组,列表,字典
#元组 小括号表示或者无括号()
a_tuple=(12,3,4,7,6)
for index in range(len(a_tuple)):
print('index=',index,',number=',a_tuple[index])
#列表 list 中括号表示[]
a_list=[21,22,29,33,39]
for i in range(len(a_list)):
print('i=',i,'number=',a_list[i])
#list添加
a_list.append(1) #在a_list最后添加1
print(a_list)
a_list.insert(2,0) #在指定位置添加,在位置2处添加0;后面的依次后移
print(a_list)
#list移除
a_list.remove(21)
print(a_list)
#list索引
a=[1,2,3,4,1,1,-1]
print(a[0]) #显示列表a的第0个位置的值
print(a[-1]) #显示列表a的最末位的值
print(a[0:3]) #显示列表从0位置到2位置
print(a[5:]) #显示第5位以及以后的值
print(a[-3:]) #显示列表倒数第三位以及以后的值
#打印列表中某个值的索引
print(a.index(2))
#统计列表中都个数出现的次数
print(a.count(1))
#list排序
a.sort() #默认从小到大排序
print(a)
a.sort(reverse=True) #从大到小排序
print(a)
#多维列表
a=[1,2,3,4,5]
multi_dim_a=[[1,2,3],
[2,3,4],
[4,5,6]]
print(a[4])
print(multi_dim_a[1][1])
#dictionary ,List是有顺序的输出输入,字典无顺序 字典定义用{}
a_list=[1,2,3,4,5,6,7,8]
d1={'apple':1,'pear':2,'orange':3}
d2={1:'a',2:'b',3:'c'}
d3={1:'a','b':2,'c':3}
#print(d1['apple'])
#print(d2[3])
#print(d3['b'])
#print(d3)
#字典元素可以是一个List,或者可以是一个列表,一个function.
def func():
print(1)
d4={'apple':[1,2,3],'pear':{0:4,4:'a'},'orange':func} #'pear':{0:4,4:'a'} (key:0,value:4) (key:4,value'a')
print(d4['orange']) #???
10.import模块
##import模块
import time
print(time.localtime())
#方法二 import time as _;_下划线表示自己定义,在代码中把time定义成t
import time as t
print('方法二:')
print(t.localtime())
#方法三 :只import自己想要的功能
from time import localtime
print('方法三:' )
print(localtime())
#print(time())
#方法四:import输入模块的所有的功能
from time import*
print('方法四:' )
print(localtime())
#import 自己写的模块
import m1
m1.printdata('It is shazi')
11.continue与break
#跳出循环
a=True
while a:
b=input('type somesthing') #输入默认string类型
if b=='1':
a=False
else:
pass
print('still is while')
print('finish run')
#break #break用法,在循环语句中,使用 break, 当符合跳出条件时,会直接结束循环,这是 break 和 True False 的区别
while True:
b=input('type somesthing')
if b=='1':
break
else:
pass
print('still is while')
print('finish run')
#continue 在代码中,满足b=1的条件时,因为使用了 continue , python 不会执行 else 后面的代码,而会直接进入下一次循环。
while True:
b=input('input something')
if b=='1':
continue
else:
pass
print('still is while')
print('finish run')
12.zip lambda map
#zip: zip函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple列表
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
print(list(ab))
for i,j in zip(a,b):
print(i/2,j*2)
#lambda: lambda定义一个简单的函数,实现简化代码的功能,看代码会更好理解。
# fun = lambda x,y : x+y, 冒号前的x,y为自变量,冒号后x+y为具体运算。
fun=lambda x,y:x+y
x=int(input('x=')) #这里要定义int整数,否则会默认为字符串
y=int(input('y='))
print(fun(x,y))
#map: map是把函数和参数绑定在一起
def fun(x,y):
return x+y
list(map(fun,[1],[2])) #list(map(fun,(1),(2)));list(map(fun,1,2)) 都不对:'int' object is not iterable
#list(map(fun,[1,2],[3,4]))