一、引入外部包/模块
import 模块
例:
#方法1.
import time
print(time.localtime()) #这样就可以print 当地时间了
#方法2:(别名)
import time as t
print(t.localtime()) # 需要加t.前缀来引出功能
#方法3: 只import自己要的功能
from time import time, localtime
print(localtime())
print(time())
#方法4: 输入模块的所有功能
from time import *
print(localtime())
创建自己的模块:
可以将一个自己需要的功能写进python脚本里面,如:count.py
调用自己的模块,在新开的脚本里面 import count
两个文件可以放在同一个目录下。
或者:在Mac系统中,下载的python模块会被存储到外部路径site-packages
,同样,我们自己建的模块也可以放到这个路径,最后不会影响到自建模块的调用
二、open读写文件
my_file=open('my file.txt' ,'w') #用法: open('文件名','形式'), 其中形式有'w':write;'r':read. 'a'=append 以增加内容的形式打开
my_file.write(text) #该语句会写入先前定义好的 text
my_file.close() #关闭文件
file= open('my file.txt','r')
content=file.read()
print(content)
file.close()
如果想在文本中一行行的读取文本, 可以使用
file.readline()
,
file.readline()
读取的内容和你使用的次数有关, 使用第二次的时候, 读取到的是文本的第二行, 并可以以此类推。
如果想要读取所有行, 并可以使用像 for
一样的迭代器迭代这些行结果, 我们可以使用 file.readlines()
, 将每一行的结果存储在 list
中, 方便以后迭代.
file= open('my file.txt','r')
content=file.readlines() # python_list 形式
print(content)
""""
['This is my first test.\n', 'This is the second line.\n', 'This the third line.\n', 'This is appended file.']
""""
# 之后如果使用 for 来迭代输出:
for item in content:
print(item)
"""
This is my first test.
This is the second line.
This the third line.
This is appended file.
"""
三、class 类
1. 类名首字母大写,self是默认值,类似于c++/java里面的this
class Calculator: #首字母要大写,冒号不能缺
name='Good Calculator' #该行为class的属性
price=18
def add(self,x,y):
print(self.name)
result = x + y
print(result)
def minus(self,x,y):
result=x-y
print(result)
def times(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
""""
>>> cal=Calculator() #注意这里运行class的时候要加"()",否则调用下面函数的时候会出现错误,导致无法调用.
>>> cal.name
'Good Calculator'
>>> cal.price
18
>>> cal.add(10,20)
Good Calculator
30
>>> cal.minus(10,20)
-10
>>> cal.times(10,20)
200
>>> cal.divide(10,20)
0.5
>>>
""""
2. init功能 (相当于c++/java的构造函数)
__init__
可以理解成初始化class
的变量,取自英文中initial
最初的意思.可以在运行时,给初始值附。
class Calculator:
name='good calculator'
price=18
def __init__(self,name,price,height,width,weight=17): # 注意,这里的下划线是双下划线,其中weight默认参数值为17
self.name=name
self.price=price
self.h=height
self.wi=width
self.we=weight
""""
>>> c=Calculator('bad calculator',18,17,16,15)
>>> c.name
'bad calculator'
>>> c.price
18
四、input
1. variable=input()
表示运行后,可以在屏幕中输入一个数字,该数字会赋值给自变量。
2. 可以定义input进来的类型,如:
a_input=int(input('please input a number:'))#注意这里要定义一个整数型
五、跳出循环
break
:在循环语句中,使用 break
, 当符合跳出条件时,会直接结束循环。
continue
:跳过continue后面的代码,而会直接进入下一次循环。
六、错误处理
输出错误:try:
, except ... as ...:
看如下代码
try:
file=open('eeee.txt','r+')
except Exception as e:
print(e)
response = input('do you want to create a new file:')
if response=='y':
file=open('eeee.txt','w')
file.write('ssss')
file.close();
else:
pass
else:
print(file.read())
file.close();
首先报错:没有这样的文件
No such file or directory
. 然后决定是否输入
y
, 输入
y
以后,系统就会新建一个文件(要用写入的类型),再次运行后,文件中就会写入
ssss
七、zip lambda map
1.zip函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple列表
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
print(list(ab)) #[(1, 4), (2, 5), (3, 6)]
for i,j in zip(a,b):
print(i/2,j*2)
# 0.5 8
# 1.0 10
# 1.5 12
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))
"""
x=6
y=6
12
"""
3. map
map
是把函数和参数绑定在一起。
>>> def fun(x,y):
return (x+y)
>>> list(map(fun,[1],[2]))
"""
[3]
"""
>>> list(map(fun,[1,2],[3,4]))
"""
[4,6]
"""