Python学习笔记(1)集合,判断结构,文件的读写,循环结构,异常处理机制,类,函数,包,

集合
会保留下来唯一的元素

tang=[123,123,456,789]
tang=set(tang)
tang

{123,456,789}

tang=set()
type tang

set

tang=set([123,123,456,456,798])
tang

{123,456,789}

tang={1,1,1,3,4}
tang

{1,3,4}

集合的操作
a={1,2,3,4}
b={2,3,4,5}
a.union(b)
{1,2,3,4,5}
b.union(a)
{1,2,3,4,5}
a|b
{1,2,3,4,5}
a.intersection(b)
{2,3,4}
b.intersection(a)
{2,3,4}
a&b
{2,3,4}
a.difference(b)
{1}
b.difference(a)
{5}
a-b
{1}
b-a
{5}

a={1,2,3,4,5,6}
b={2,3,4}
b.issubset(a)
//True
a.issubset(b)
//False
b<=a
//True
b>a
False
a<=a
//True
a<a
//False
a={1,2,3}
a.add(4)
a
//{1,2,3,4}
a.update([4,5,6])
a
//{1,2,3,4,5,6}
a.remove(1)
a
//{2,3,4,5,6}
a.pop()
a
//{3,4,5,6}

赋值机制

tang=100
yudi=tang
id(tang)
//263811812688
id(yudi)
//2683811812688
tang is yudi
//True
yudi=123456
id(yudi)
//2683811812976
tang is yudi
//False
tang=1000
yudi=1000
id(tang)
//2683811813008
id(yudi)
//2683811812912
tang=1
yudi=1
id(tang)
//1932198384
id(yudi)
//1932198384

判断结构

tang=100
if tang>50:
	print ('OK')
//OK

tang=100
if tang>200:
	print('200')
elif tang<100:
	print('100')
else:
	print('100-200')
	
tang=[123,456,789]
if 123 in tang:
	print('ok')
//ok`

tang=['tang':123,'yudi':456]
if 'tang' in tang:
	print('OK')
	//OK

循环结构

tang=0
while tang<100:
	print(tang)
	tang+=1
tangs=set(['tang','yu','di'])
while tangs:
	tang=tangs.pop()
	print(tang)
//yu
//di
//tang	

tangs=set([‘tang’,‘yu’,‘di’])
for name in tangs:
print(name)
//yu
//di
//tang

for name in tangs:
	print(name)
	//yu
	//di
	//tang
tang=100
for i in range(10):
		print(i)
//0
//1
//2
//3
//4
//5
//6
//7
//8
//9
tang=[123,435,1234,53245,1124,1234]
for i in range(3):
	peinr (tang[i])
//123
//435
//1234
tang=[123,435,1234,513245,11243,1234,534,246]
for i in range(len(tang)):
	print(tang[i])
	//123
	//435
	//1234
	//513245
	//11243
	//534
	//246
tang=[10,11,12,13,14,15]
for i in range:
	if i%2==0:
		print(i)
	else:
		continue
	print(i)
	//10
	//10
	//12
	//12
	//14
	//14

函数

def print_value():
	print('a=',a)
print_value()
//a=10
def add_ab(a,b):
	print(a+b)//return (a+b)
add_ab(3,5)
	//8
tang=add_ab(a=3,b=5)
tang
//8
def add_number(a,*args):
	for i in args:
	a+=i
	return a
add_number(1,2,3,4)
//10
def add_number2(a,**kwargs):
	for arg,value in kwargs.item():
		print(arg,value)
add_number(1,2,3)
	y 3
	x 2
def add_number(a,*args):
	b=0
	for i in args:
		a+=i
		b+=a
	return a,b
a,b=add_number(1,2,3)
print(a,b)
//6 9

python的包
%%writefile tang.py
tang_v=10
def tang_add(tang_list):
tang_sum=0
for i in range(len(tang_list)):
tang_sum+=tang_list
return tang_sum
tang_list=[1,2,3,4,5]
print (tang_add(tang_list))
//Writing tang.py

%run tang.py
//15
import tang
//15
import tang

第二次导入的时候因为前面已经执行过了,所以不再执行了

print(tang.tang_V)
//10
tang.tang_V=100
tang.tang_V
//100

tang_list=[10,11,12]
tang.tang_add(tang_list)
//33
import tang as tg
tg.tang_V
//100
tg.tang_add(tang_list)
//33
from tang import tang_V,tang_add
tang_V
//100
tang_add(tang_list)
//33
from tang import *
tang_V
//100
tang_add(tang_list)
//15
import os
os.remove(‘tang.py’)
os.path.abspath(’.’)

异常处理模块
import math
for i in range(10):
try:
input_number=input(‘write a number’)
if input_number==‘q’:
break;
result=1/math.log(float(input_number))
print(result)
except ValueError:
#print(‘ValueError:input must>0’)
break
except ZeroDivisionError:
print(‘ValueError:input must>0’)
except Exception:
print(‘ubknow error’)

class TangError(ValueError):
	pass
cur_list=['tang','yu''di']
while Ture:
	cur_input=input()
	if cur_input not in cur_list:
		raise TangError('Invalid input:%s'%cur_input)
try:
	print('hello')
finally:
	print('finally')
//hello
//finally
try:
	1/0
except:
	print('==0')
finally:
	print('finally')
//==0
//finally

文件操作
txt=open(‘tang.txt’)
txt=open(’./data/tang/txt’)
tet_read=txt.read()
print (txt_read)
lines=txt.readlines()
print(lines)
for line in lines:
print(‘cur_line:’,line)
txt.close()
txt.open('tang_write.txt,‘w’)
txt.write(‘jintiantianqibucuo’)
txt.write(‘tang yu di’)
txt.close()

txt=open('tang_write.txt','w')
for i in range(100):
	txt.write(str(i)+'\n') 
txt.close()
txt2=open('tang_write.txt','r')
print(txt2.read())

open之后必须要.close
txt=open(‘tang_write.txt’,‘w’)
try:
for i in range(100):
10/(i-50)
txt.write(str(i)+’\n)
except Exception:
print(‘error:’,i)
finally:
txt.close()
with open(‘tang_write.txt’,‘w’) as f:
f.write(‘jin tian tian qi bu cuo’)
类:面向对象
class people:
#所有实例都会共享
number=100
#构造函数,初始化方法,当创建一个类的时候也,首先会调用它
def init(self,name,age):
self.name=name;
self.age=age;
def display(self):
print(‘number=:’,people.number)
def display_name(self):
print (self.name)
//people.doc
'帮助信息:XXXXXX‘
p1=people(‘tangyudi’,30)
p2=people(‘phthon’,40)
p1.name
//‘tangyudi’
p2.name
//‘python’
p1.display()
//number=:100
p2.name=‘hello’
//‘hello’
del p2.name
hasattr(p1,‘name’)
//True
hassattr(p1,‘sex’)
//False
getattr(p1,‘name’)
//‘tangyudi’
setattr(p1,‘name’,‘yudiTang’)
getattr(p1,‘name’)
// ‘tudiTang’
delattr(p1,‘name’)
类的属性操作

print(people._doc_)
print(peoplr._name_)
print(people._module_)
print(people._bases_)
print(people._dict_)
class Parent:#定义了一个父类
	number=100
	def _init_(self):
		print('调用父类构造函数’)
	def parentM (self):
		print('调用父类方法‘)
	def setAttr(self,attr):
		Parent.parentAttr=attr
	def getAttr(self):
		print('父类属性:’,Parent.parentAttr)
	def newM(self):
		print('父类要被重写的方法‘)
	class child (Parent):#d定义子类
		def _init_(self):
				print('调用子类构造函数‘)
		def childM(self):
				print('调用子类方法’)
		def  newM(self):
				print("子类把他给改掉了’)
		c=child()
		c.childM()
		c.parentM()
		c.setAttr(100)
		c.getAttr()
		c.newM()
		//调用子类构造函数
		//调用子类方法
		//调用父类方法
		//父类属性:100
		
	
	 ```

猜你喜欢

转载自blog.csdn.net/weixin_43428283/article/details/89294193
今日推荐