python基础

https://www.cnblogs.com/liujiacai/p/15640643.html1 函数
 
带有返回值的函数
 
1 终端启动python文件
yanliaodeMacBook-Pro:~ lichao$ python3 /Users/yanliao/base.py
hello

2 终端启动不了 python2.7版本 因为苹果系统升级后移除

3 psutil模块的介绍 支持Linux/UNIX/OSX/Windows等,它主要用来做系统监控,性能分析,进程管理

 
知识点:
1 python 的格式化输出方式
2 python的josn 输出的方式
3 python中 的 __name__ == "__main__" 使用方法
4 python中的基础知识---函数
 
5 在linux中 使用py2.7 调用python文件
 
6如何在Pycharm里使用Conda虚拟环境
conda环境是是什么意思?
7设置文件在python在2.7环境中配置
8 保留2位小数
w = 1
print('%.2f' %w)
9 将列表保存为json文件
 
10 Python中__init__的用法和理解
_init_ 的方法称为构造器 以下写法:
class box:
    def __init__(self,width,height,depth):
self.width = width
self.height = height
self.depth = depth

def tiji (self):
return self.width*self.height*self.depth

b = box(10,10,10)
print (b.tiji())

11 了解 python里面的类 class
12 了解python里面的 数据封装 语句的封装 方法和属性的封装 模块的导入
13 了解python里面的  String类的20种常见方法
 
14str的官方文档  处理代码中的字符串
目的 :函数能够以Python表达式的方式解析并执行字符串,并将返回结果输出
还有处理方式 是 split 数据流的处理
 
****
 
15 遍历字典的写法
 
person={"name":"Tony",“age”:"13","tall":"164"}
 
#遍历字典的所有key值
#第一种
for a in person.key():
    print(c)
#第二种
for c in person:
    print(c)
 
#遍历字典的所有values值
#第一种
for c in person.values():
    print(c)
#第二种
for c in person:
    print(person[c])
 
for 循环
demo = "abc"
for a in demo:
print (a)

#列表增加
rrrr = [9,9,9]
iii = [1,1,1]
ret.append(iii)
print (rrrr)
#[9, 9, 9, [1, 1, 1]]

#循环次数 按输出的内容的字符串长度
info = "abc"
a = 0
for hip in info:
b = 1
a = b + a
print (info,a)
#('abc', 1)
#('abc', 2)
#('abc', 3)

 
class STUDENTS:
def __init__(self,name,age,num):
self.name = name
self.age = age
self.num = num

def text(self):
print (1)

class boy_sd(STUDENTS):
pass

boy = boy_sd("tony",18,00001)
print (boy.age) #18
boy.text() #1
 
import time
print (str(int(time.time())))
#1653806796
print (time.time())
#1653806796.1
字符串格式化
a = "my name is {0} , I like {1}"
print (a.format("Tony","Alice"))
# my name is Tony , I like Alice
a = "my name is {name} , I like {person}"
print (a.format(name="Bob",person="girl"))
# my name is Bob , I like girl

yaml配置文件
# 打开 yaml配置文件
with open(self.serverConfFile, 'r') as yamlFile:
# 读取yamlyml文件:load()
yaml_info = yaml.load(yamlFile, Loader=yaml.FullLoader)
return str(yaml_info['command']['server_groups'][0]['hosts'][0]['ip'].split(',')[0])


 
 
安装python的路径
安装代码 brew install python2 或3
1 是网上下载的 安装路径为
2 是系统自带的 
 
终端启动python文件
yanliaodeMacBook-Pro:~ lichao$ python3 /Users/yanliao/base.py
hello
 
>安装 vmi
yanliaodeMacBook-Pro:~ lichao$ pip3 install wmi
Collecting wmi
  Downloading WMI-1.5.1-py2.py3-none-any.whl (28 kB)
  Downloading WMI-1.5-py3-none-any.whl (28 kB)
  Downloading WMI-1.4.9.zip (26 kB)
Using legacy 'setup.py install' for wmi, since package 'wheel' is not installed.
Installing collected packages: wmi
    Running setup.py install for wmi ... done
Successfully installed wmi-1.4.9
 
 
 
》函数 
封装合集 调用参数
#函数的定义
def 函数名 (参数) :
     print("我输出的第一句话")
     print("我输出的第二句话")
     print("我输出的第三句话")
 
#函数的调用
out ()
我输出的第一句话
我输出的第二句话
我输出的第三句话
 
》python 的构造函数
构造函数  _init_
 
if __name__ == '__main__': #在原始文件写
在1.py文件中的代码运用到2.py代码中  
原理为:https://blog.csdn.net/yawei_liu1688/article/details/108597939
 
try 语句:
作用:捕获异常  但是不能捕获语法错误
try:
3/0 #需要执行的语句
except:
print("不能为0") #执行后的效果
 
a=input()
try:
a=int(a)
except BaseException as e: #BaseException代表此处捕获类型为基础错误
print("请输入数字a",e) #结尾需要加上,e
else: #表示执行成功后 执行else下的代码
print("输入合法")
finally:
print("输入完毕") #都会执行
 
与Python异常相关的关键字:
关键字          关键字说明
raise           抛出/引发异常
try/except      捕获异常并处理
pass            忽略异常
as              定义异常实例(except IOError as e)
finally         无论是否出现异常,都执行的代码
else            如果try中的语句没有引发异常,则执行else中的语句
else表示如果try中的代码没有引发异常,则会执行else:
#调用函数
a = [2,5,8,4]
a.sort()
print(a)

#调用方法
b = [3,9,5,7]
c = sorted(b)
print(c)

自定义函数
一 函数
定义:可组织的,可重复使用的,用来实现单一的,或相关联功能的代码
写法:def开头
1自定义函数
2方法与函数
3登陆函数案例
'''总结 : 
return的时候 print 放在下面 没有则反之;
'''
#调用函数
a = [2,5,8,4]
a.sort()
print(a)
#[2,4,5,8]

#调用方法
b = [3,9,5,7]
c = sorted(b)
print(c)
#[3,5,7,9]

def add(a,b):
c =a+b
print(c)
f = add(1,2)
#3

def add(a,b):
c = a+b
return c
rrrr = add(1,2)
print (rrrr)
#3

def add(a,b):
c = a+b
return "hhhhhh"
rrrr = add(1,2)
print (rrrr)
#hhhhhh

def add(a,b):
c = a + b
return c
iiii = add(a=1,b=2)
print(iiii)
#3

# 直接打印 没有传参数
def add():
print("d")
add()
#d

def add(a=0,b=2):
c = a+b
print(c)
#2

g = add()
def add(a=0,b=2):
c = a+b
return "454555"
#print(c)
print(g)
#454555

def ggg(a=0,b=2):
c = a+b
return c
print(ggg())
#2
 
构造函数
10 Python中__init__的用法和理解
_init_ 的方法称为构造器 以下写法:
class box:
    def __init__(self,width,height,depth):
self.width = width
self.height = height
self.depth = depth

def tiji (self):
return self.width*self.height*self.depth

b = box(10,10,10)
print (b.tiji())
 
class STUDENTS:
def __init__(self):
self.name = name
self.age = age
self.num = num

def text(self):
print (1)

class boy_sd(STUDENTS):
pass

boy = boy_sd("tony",18,00001)
print (boy.age) #18
boy.text() #1
#代码实例
class DemoClass:
def __init__(self,name):
print (name)
dc1 = DemoClass("小明") #小明
dc2 = DemoClass("小吴") #小吴

#代码实例
class DemoClass:
# 原料
def __init__(self,b,c):
# 加工
c = float(b) + float(c)
#输出
print (c)
jj = DemoClass("2.90","2.10") #5.00 # 放什么原料
ll = DemoClass("9.00","1.05") #10.05 # 放什么原料
w = 5
for s in range(w):
print (s)
append 与 extend 区别
ret = [1,1,1]
a = [2,2,2,2]
ret.append(a)
print (ret) #[1, 1, 1, [2, 2, 2, 2]]
ret.extend(a)
print (ret) #[1, 1, 1, 2, 2, 2, 2]
列表推导式 print 在里面 参与for 循环
b = ["cc","ee"]
a = []
for i in b:
a.append(i)
print (a)
#['cc']
#['cc', 'ee']
在外面 不参与 for 循环
an = ["cat","dog","lu"]
an_d = []
for w in an:
an_d.append(w)
print (an_d)
# ['cat', 'dog', 'lu']
'''列表推导式'''   # b的值 替代 c的值
b = ["a","b","c"]
c = [1,2]
a = [b for i in c]
print (a)
# [['a', 'b', 'c'],['a', 'b', 'c']]

a = []
b = ["a","b","c"]
c = [1,2]
# a = [b for i in c]
for i in c :
a.append(b)
print (a)
# [['a', 'b', 'c'],['a', 'b', 'c']
list = [[1,2,3],[1,2,3],[1,2,3]]

# l = []
# for y in list :
# for s in y :
# l.append(s)
# print (l)

l = [s for y in list for s in y ]
print (l)
# 使用场景 就是 筛选 列表出需要的值
b = [1, 2]
a = [i for i in b if i != 1]
print (a)
#[2]
# for 语句 重新定义字母
for letter in 'Py':
print("当前字母: %s" % letter)
# 当前字母: P
# 当前字母: y

c = [1,2]
a = [7,8]
for p in a :
print (c)
# [1,2]
# [1,2]

c = ["oolol"]
for p in range(2):
print (c)
#['oolol']
#['oolol']
 
#利用 for 循环 用取到的值来筛选原来的数据
p = [
{u'mobilePhone': u'15818805460', u'portalUserName': u'\u8463\u8d24\u59ae'},
{u'mobilePhone': u'13711106239', u'portalUserName': u'\u8d75\u4e7e',},
{u'mobilePhone': u'13528277450', u'portalUserName': u'\u8c22\u96ef\u71d5'},
{u'mobilePhone': u'18377738375', u'portalUserName': u'\u5218'},
]
#-----------------------#用取到的值来筛选原来的数据---------------------------------------
d_id = [u'\u5218'] #取到的值
zz = []
for i in p:
if i['portalUserName'] in d_id: #用取到的值来筛选原来的数据
zz.append(i)
print zz
''' [ {u'portalUserName': u'\u8d75\u4e7e', u'mobilePhone': u'13711106239'} ] '''
#-----------------------用取到的值来筛选原来的数据后再次取值 --------------------------------------
o = [ u'15818805460'] #取到的值
yy = []
for s in p :
if s['mobilePhone'] in o :#用取到的值来筛选原来的数据
yy.append(s['portalUserName']) # 在筛选后的结果 进行再次取值
print yy
#'portalUserName'
 
'''ggg = [1,3,4,5]
g = [3]
nnn = []
for sss in ggg:
if str(3) not in str(sss):
nnn.append(sss)
print nnn
#[1, 4, 5]'''

for p in range(2):
print (p)
#0
#1
for 循环 取值 ['名称']
#不会报错
e = [
{u'creator': u'easyops'},
{u'creator': u'5dfccf7195b93'},
{u'creator': u'13318'}
]
for l in e :
print (l['creator'])
#easyops
#5dfccf7195b93
#13318

w = [l['creator'] for l in e ]
print w
# [u'easyops', u'5dfccf7195b93', u'13318']

#会报错 原因是 for循环是一行一行去执行的
e = [
{u'creator': u'easyops'},
{u'efrfrr': u'5dfccf7195b93'},
{u'deator': u'13318'}
]
for l in e :
print (l['creator'])

# b 的个数 决定 c 的循环次数
b = ["a","b","b"]
c = ["A","B","C"]
a = [c for i in b if i != "a"]
print (a)
# [['A', 'B', 'C'], ['A', 'B', 'C']]

#替换数据 替换成最前面的列表 最后结果是 前面的列表
b = ["a","b"]
c = ["i love china"]
a = [c for i in b ]
print (a)
# [['i love china'], ['i love china']]
# 使用场景 就是 筛选 列表出需要的值
b = [1, 2]
a = [i for i in b if i != 1]
print (a)
#[2]
# for 语句 重新定义字母
for letter in 'Py':
print("当前字母: %s" % letter)
# 当前字母: P
# 当前字母: y
#字典取值
d1 = {"a" :None,"e" :["1",12]}
print (d1["a"]) #None
print (d1.get("e")) #None
# len 根据逗号分隔 来计算元素的个数
b = ["abc","bss"]
print (len(b))
#2
b = [{"a","v"}, {"b","r"}, {"c"}]
print (len(b))
#3
b = [ ["a",2],{"b","r"},["yy","nnn"],["yy","nnn"]]
print (len(b))
#4
posted @ 2022-06-04 20:55  30度以南  阅读(31)  评论(0)    收藏  举报