python语言
print输出
n = 100
print("you print is %r." %n)
n = "abc"
print("you print is %r." %n)
name="zhangsan"
age = 22
print("student info:%s %d."%(name,age))
input 输入
n = input("Enter any content: ")
print “your input is %r. ” %n
引号与注释
在python中不区分单引号和双引号,都是用来表示一个字符串的。
单行注释用#
多行注释用三对引号 “““........多行”””
if语句
python没有像其他大多数语言一样使用“{}”表示语句体,所以他通过语句的缩进
来判断语句体,缩进默认为4个空格。
#if语句通过“==”运算符判断相等,“!=”运算符判断不相等
student = "xiaoming"
if student == "xiaoming":
print("xiaoming,you are on duty today.")
else:
print("please call xiaoming to duty.")
#"in"和"not in"表示包含关系
hi = "hello world"
if "hello" in hi:
print("contain")
else:
print("not contain")
#if语句进行布尔类型的判断
a = True
if a:
print("a is True")
else:
print("a is not True")
#多重条件判断
results = 72
if results >= 90:
print("优秀")
elif results >=70:
print("良好")
elif results >= 60:
print("及格")
else:
print("不及格")
for语句
#对于字符串的循环
for i in "hello world":
print(i)
for i in ['banana','apple','mango']:
print(i)
fruits = ['banana','apple','mango']
for fruit in fruits:
print(fruit)
#进行一定次数的循环
range()函数默认从0开始循环.
for i in range(5):
print(i)
也可以为其设置起始位置和步长。格式:range(start,end[,step]),step表示步长。比如打印1到10的奇数range(1,10,2)
for i in range(1,10,2):
print(i)
?#数组 append()函数可以向数组末尾追加新的项。
lists = [1,2,3,4,5]
lists
lists[0]
lists[4]='b'
lists[4]
lists.append('c')
lists
?#字典
python规定一个字典中key必须是独一无二的,value可以相同。
items()函数将所有的字典项以列表方式返回,返回时不会按照字典中的存放顺序。
按存放顺序返回字典中的项dicts = {"name":"lisi","password":123456}
?dicts.keys()
?dicts.values()
dicts.items()
for k,v in dicts.items():
print("dicts keys is %r" %k)
print("dicts values is %r" %v)
zip会合并两个list为dictionary,便会按字典中项的顺序返回。
通过def关键字定义函数 格式:def 函数名(参数列表):
keys = ['b','a','c','e','d']
values = ['2','1','3','5','4']
for key,value in zip(keys,values):
print(key,value)
#函数
函数名不可以用数字开头,如果有两个以上单词的函数名,从第二个单词开始首字母大写。
#类和方法
def add(a,b):
print(a+b)
add(3,5)
?
def add(a,b):
return a + b
add(3,5)
同上类似
def add(a,b):
return a + b
print(add(1,2))
class创建类 比如class A(object):
def add(self,a,b)
上面创建了一个A类,在类下面创建了一个add的方法。方法的第一个参数必须是存在的,并且默认为self,无需为其传值。
一般创建类时会先声明初始化的方法_init_()初始化所做的事情就是将输入的参数类型转化为设定的类型,可以保证程序的容错性。
class A():
def add(self,a,b):
return a + b
count = A()
print(count.add(1,2))
?
class A():
def _init_(self,a,b):
self.a = int(a)
self.b = int(b)
def add(self):
return self.a + self.b
count = A('4',5)
print(count.add())
类的继承
class A():
def add(self,a,b):
return a + b
class B(A):
def sub(self,a,b):
return a - b
print(B().add(4,5))
#模组
引用模块的方式通过import或者from...import...
import time
print(time.ctime())
两种表达方式一样
from time import ctime
print(ctime())
*表示模块下的所有方法
from time import *
print(ctime())
print('休眠两秒')
sleep(2)
print(ctime())
模块的调用(同目录不同文件下的模块调用)
实例:创建目录project,并在目录下创建两个文件:pub.py和count.py。
在pub.py中创建add函数
def add(a,b):
return a + b
在count.py文件下调用pub.py中的add函数from pub import add
print(add(4,5))
跨目录的文件调用
实例1:同上,只是把pub.py放在model目录下
则:from pub import add改为from model.pub import add即可。
实例2:创建project目录,在此目录下创建model目录和test.py文件,model目录下创建count.py和new_count.py.
在count.py下创建:
在test.py创建:
class A():
def add(self,a,b):
return a + b
在new_count.py下创建:from count import A
class B(A):
def sub(self,a,b):
return a - b
resule =B().add(2,5)
print(resule)
若在此文件下运行add的函数需要将model目录添加到系统环境变量path下。
#异常
1.打开不存在文件和目录可以用try...except FileNotFoundError:接受并处理这个异常。
实例:
try:
open("abc.txt",'r')
except FileNotFoundError:
print("异常了")
2.打印一个没有定义的变量用try...except NameError:接受并处理这个异常。try:
print(aa)
except NameError:
print("这是一个name的异常")
3.所有类型的异常可以用Exception或者BaseException接受,后者为新的基类。try:
open("abc.txt",'r')
print(aa)
except BaseException:
print("异常了")
try:
open("abc.txt",'r')
print(aa)
except BaseException as msg:
print(msg)
try:
aa = "异常测试"
print(aa)
except BaseException as msg:
print(msg)
else:
print("没有异常了")
6.try...except与finally的配合使用,,不管是否有异常,finally语句都会被执行。
try:
print(aa)
except BaseException as e:
print(e)
finally:
print("不管是否有异常,我都会被执行")
7.raise.抛出异常信息 raise只能使用python中所提供的异常类
from random import randint
number = randint(1,9)
if number % 2 == 0:
raise NameError("%d is even" % number)
else:
raise NameError("%d is odd" % number)