Python是解释型语言,运行速度较慢,优点在于简洁。
Python源码不能加密,也就是发布Python应用程序就相当于发布了它的源码,但是可以通过卖服务的形式发布
算术运算符
** 幂
// 整除
print(9/4)
print(9//4)
print(2*5)
print(2**5)
输出
2.25
2
10
32
逻辑运算符
没有 && || !
而是and or not
print(True and False)
(而且布尔值要首字母大写)
输出
False
if-elif-else
a=2
if a==1:
print("a==1")
elif a==2:
print("a==2")
else:
print("a!=1&&a!=2")
for
遍历容器
la=[1,"hello",2]
for i in la:
print(i)
执行重复性代码
for i in range(0,3):
print(i)
输出
0
1
2
while
死循环
a=5
while(a>0):
print(a)
a-=1
正常
a=5
while(a>0):
print(a)
a-=1
字典
d={
"name":"Alan",
"age":12,
1:"level_1"
}
print(d.keys())
print(d.values())
print(d.items())
print(d["name"])
print(d["age"])
print(d[1])
print("name" in d)
print("xxx" in d)
输出
dict_keys(['name', 'age', 1])
dict_values(['Alan', 12, 'level_1'])
dict_items([('name', 'Alan'), ('age', 12), (1, 'level_1')])
Alan
12
level_1
True
False
tuple(元组)
有序、不可变
la=("str",1,['a','b','c'],4)
print(la[1:3])
输出
(1, ['a', 'b', 'c'])
list(列表)
有序、可变
la=["a","b","c"]
print(la)
la.append("d")#末尾追加
print(la)
la.insert(2,"cc")#插入
print(la)
la.pop(1)#指定序号弹出
print(la)
la.pop()#末尾弹出
print(la)
print(la[0])
print(len(la))#用内建函数获取长度
输出
['a', 'b', 'c', 'd']
['a', 'b', 'cc', 'c', 'd']
['a', 'cc', 'c', 'd']
['a', 'cc', 'c']
a
3
d={
"name":"Alan",
"age":12,
1:"level_1"
}
print(d.keys())#获取键
print(d.values())#获取值
print(d.items())#获取键值对
print("name" in d)
print("xxx" in d)
print(d["name"])
print(d["age"])
print(d[1])
d.pop(1)#删除元素
print(d)
集合
无序、可更改
一般用来做交集、去重等
la=set(["hi","hello","happy"])
lb=set(["happy","no"])
print(la|lb)
print(la&lb)
la.add("nnn")
la.remove("hi")
print(la)
输出
{'no', 'hi', 'hello', 'happy'}
{'happy'}
{'nnn', 'hello', 'happy'}
函数
#不定长参数
def p(s,*arg):
print(s)
for a in arg:
print(a)
p("hello",{"jojo","dior"},"jsp")
输出
hello
{'dior', 'jojo'}
jsp
字符串
需要注意的是这些操作,字符串都是以值传递形式传入函数的,函数操作完字符串本身不变
#查找
s='abc'
print(s.find('b'))#1
print(s.find('bc'))#1
print(s.find('xxx'))#-1
#连接
print(','.join(s))#a,b,c
#反转
print(s[::-1])#cba
#大小写转换
print(s.upper())#ABC
s='ABC'
print(s.lower())#abc
#截取
print(s[1:-1])#B
#替换
s='1,2,3'
print(s.replace(',','#'))#1#2#3
用class定义一个类,没有指定父类则默认继承自object类
class hu:
def __init__(self,name):
self.name=name
def p(self):
print(self.name+" is p")
class man(hu):
def __init__(self,name,has_wife):
super(man, self).__init__(name)
self.has_wife=has_wife
class woman(hu):
def __init__(self,name,has_husban):
super(woman, self).__init__(name)
self.has_husban=has_husban
wg=woman("guo","yes")
wg.p()
输出
guo is p
假设pytest下有m2,m3三个目录,a、b分别在m2,m3
#a.py
def ph():
print("a.ph")
#b.py
def ph():
print("b.ph")
#run.py
import sys
sys.path.append('E:/pytest')
from m2 import a
from m3 import b
a.ph()
b.ph()
输出
a.ph
b.ph