day01Python
2018-02-23 10:48 欢乐小汤勺 阅读(102) 评论(0) 编辑 收藏 举报linux下:vi 01.txt -->i或o--》进入编辑模式---》英文输入法按esc退出,在wq或x即可
---------------------------------第一个ptyhon程序----------------------------------
print("hello world")
单行注释#
多行注释""" """ 或''' '''
在有中文的情况下,程序第一行要写#-*- coding:utf-8 -*- 或 #coding=utf-8 建议第一种
执行py文件--》python 01.py即可
----------------------------------定义变量和使用变量-----------------------------
score=100
定义一个变量,变量名字score,里面存储一个数值100
price=3.5
count=2
money=price*count #定义一个新变量money
money=money*10 #改变变量的值
----------------------------------输入input--------------------------------
#########python3
name=input("请输入你的名字:")
age=18
print("age是:%d"%age)
print("age是:%s"%name)
ipython--》直接输入name也可以出来
#######python2
a=raw_input("请输入:")
a
-------------------------变量类型,转换,判断等---------------
if 条件:
语句
else:
语句
if 条件:
语句
elif 条件:
语句
elif 条件:
语句
else:
语句
age=19
if age==19:
print("true")
type(age)-->查看类型
input获取的所有数据是字符串类型
name='123'
int(name)
2**3--->8
'H'*3--->HHH
name='hsoh'
age=23
addr='jsoh'
print("姓名是:%s,年龄是%d,地址是%s"%(name,age,addr))
-------------------------while循环--------------
while 条件:
语句
--------------------------------------------------------
import random
random.randint(0,2)
0-2的随机数
---------------for循环------------------
name='laowang'
for i in name:
print(i)
i=1
while i<=10:
if i%2==0:
print(i)
i+=1
if i==3:
continue
if i==5:
break
-----------------存储----------------
1个字节最大值255
name='laowang'
下标:
name[-1]
name[1]
name[len(name)-1]
切片:
name='hishdfnIGI'
name[2:6]-->取3-6个元素
name[2:-2]
name[2:]
name[2:-1:2]--->[起始位置:最终位置:步长]
name[-1::-1]
name[::-1]
mystr='joso ihn oih'
mystr.find('ih')
mystr.rfind('ih')
mystr.index('ih')
mystr.rindex('ih')
mystr.count('ih')
mystr.replace('ih','ou','1')
mystr.split(' ')----->切割
a=['aaa','bbb','ccc']
b='-'
b.join(a)--->aaa-bbb-ccc
result='aa oisj \tsiohd \tjoisih'
result.split()
" ".join(result.split())
--------------------------------------列表--------------------
a1='ho'
a2='hw'
a3='ih'
names=['ho','hw']
nums=[11,33,'100','kaowj']
names[0]='oijns'
names.append("老赵")
names.insert(位置,添加内容)
names.insert(0,‘八戒’)
n1=['sd','dsf']
names.append(n1)
names.extend(n1)
names.pop()--->最后一个删除
names.remove('ho')--->从左边找,只删除一次
del names[0]
if 'ji' in names:
print('sh')
---------------字典------------
info={'k1':34,'k2':'sd'}
info['k1']
info.get('k1')
info['k3']=97
info['k1']=97
del info['k3']
info.keys()
info.values()
info.items()
for i,v in info.items():
print(i,v)
infor=[{'name':'aa','age':18},{'name':'bb','age':18}]
for i in infor:
print("%s\t%s\t"%(i['name'],i['age']))
a=(11,22)
b,c=a
-------------------元组--------------
a=(97,34,66)
a[0]=99
------------------函数------------
定义函数
def print_menu():
...
调用函数
print_menu()
参数的函数
def sum_nums(a,b):
print(a+b)
f=1
g=20
sum_nums(f,g)
return的作用
def ce():
wendu=22
return wendu---->把这个返回结果给调用函数
def ou(a):
a+=3
d=ce()
ou(d)
函数嵌套调用
def test1():
pass
def test2():
pass
def test3():
test2()
-----------------------局部变量-------------------
def test1():
a=100----->局部变量
def test2():
print(a)--->不能用
print(a)--->不能用
test2用不了test1的a
-----------------------全局变量-------------------
在函数外面定义,任何函数都可以用
a=100
def test1():
print(a)
a=100
def t1():
global a
a+=1---->改变全局变量
def sum(a,b,*args,**kwargs):
pass
A=(44,55,66)
B={'name':'laownag','age':15}
sum(1,2,3,4,5,6,7,8,A,B,task=99,done=89)
sum(1,2,3,4,5,6,7,8,*A,**B,task=99,done=89)
----------------------------引用----------------
a=100
b=a
id(a)
id(b)
------------------------递归---------------------
def getnums(n):
if nums>1:
return num*getnums(n-1)
else:
return num
getnums(4)
--------------------------匿名函数----------------
info=[{'name':'sd','age':34},{'name':'sdf','age':34},{'name':'sdh','age':34}]
info.sort(key=lambda x:x['name'])
a=input('请输入:')
eval(a)----》把a字符串的双引号去掉
----------------交换------------
a=4
b=5
第一种
c=0
c=a
a=b
b=c
第二种
a=a+b
b=a-b
a=a-b
第三种
a,b=b,a
--------------------文件-----------
f=open('test.py',"r")
f.close()
f.read()
f.write('ss')
f.seek(2,0)--->从文件开头跳2个字节
---------------------面向对象----------
定义类:
class Cat:
属性
初始化对象
def __init__(self,newname):
self.name=newname
def __str__(self):
return 'haha'
-----------------私有方法----------------
def __send(self):
pass
方法
def eat(self):
print("hsoh")
self.send
def drink(self):
print('%s:'%self.name)
tom=Cat()-->创建对象
调用对象方法
tom=Cat()
tom.eat()
添加对象属性
tom.name='汤姆'
lanmao=Cat()
lanmao.name='蓝猫'
lanmao.drink()
tom=Cat('汤姆')
tom.drink()
print(tom)
class dog:
当没有对象引用这个类,就调用这个方法
__del__(self):
print('999999')
dog1=dog()
dog2=dog1
del dog1
del dog2
print('----')
import sys
class t:
pass
a=t()
sys.getrefcount(a)
测出a的引用对象有多少
----------继承-----------
class Animal:
def eat(self):
pass
def drink(self):
pass
class dog(Animal):
------调用父类------------------
Dog.bark(self)
super().bark()
class C(A,B):
c.__mro__----->查询搜索的顺序
类方法
@classmethod
def add_num(cls):
@staticmethod
def add_num():
class Dog(object):
def __init__(self):
def __new__(cls):#cls是Dog指向的类对象
print('new')
return object.__new__(cls)-->必须调用父类的,创建对象
xtq=Dog()--》调用new方法来创建对象(=变量),再调用init方法(刚刚创建的对象),最后返回对象的引用
----------------异常-----------
try:
raise sharException()
except 异常的名字:
捕获到异常后的处理
except 异常的名字:
捕获到异常后的处理
except (异常的名字,异常的名字):
捕获到异常后的处理
except Exception as e:
如果用了这个,那么意味着只要上面的没有捕获到异常,则这个一定能捕获到
else:
没有异常执行的功能
finally:
无论什么情况都执行
except sharException as result:
自己定义的异常
class sharException(Exception):
...
安装模块
sudo pip install pygame
安装pygame模块,到python2
sudo pip3 install pygame
安装pygame模块,到python3
导入模块
import sendmsg
sendmsg.test1()
from sendmsg import test1,test2
test1()
from sendmsg import *
test1()
import time as tt
tt.sleep()
----------列表生成式---------
a=[i for i in range(10)]
c=[i for i in range(10) if i%2==0]
d=[(i,j) for i in range(3) for j in range(2)]
-----------列表去重
a=[1,2,3,2,3]
f=set(a)
b=list(f)
b=[]
for i in a :
if i not in b:
b.append(i)