python自动化第五次课

Posted catherine093

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自动化第五次课相关的知识,希望对你有一定的参考价值。

首先讲函数、

1.内置函数
python自带的一些函数,直接拿过来能用的
id() #看内存地址
type() #看数据类型
print() #打印
input() #输入
list() #转list
set()# 转集合
str()#转字符串
dict()#转字典
int()#转int
float()#转float类型
len()#取长度
max()
min()
dir() #帮助你的
sorted()#排序
round(11.00011,2)#保留几位小数
2.自己定义的函数:
def say(): #函数名
    print(hello)#函数体

注意:函数不调用是不会被执行的

say()#调用就可以了

关于函数的参数:必填参数和默认值参数,默认值参数可以不填

技术分享图片
 1 def calc(a,b):  #形参, 形式参数
 2     #位置参数,必填参数
 3     res = a * b
 4     print(%s * %s = %s%(a,b,res))
 5 
 6 # calc(7,8)  #实参,实际参数
 7 def op_file(file_name,conent=None):
 8     #默认值参数,它是非必填的
 9     f = open(file_name,a+,encoding=utf-8)
10     f.seek(0)
11     if conent:#不为空代表写
12         f.write(conent)
13         f.flush()
14     else:
15         all_users = f.read()
16         return all_users  #调用完函数之后,返回什么结果
17     f.close()
18 # res = op_file(‘a.txt‘)
19 # print(res)
20 def haha():
21     #函数里面遇到return函数就立即结束了
22     for i in range(5):
23         print(i)
24         if i==3:
25             return  #只写一个return的话,就返回None
26 # res = haha()
27 # print(res)
参数讲解
技术分享图片
 1 def is_float(s):
 2     s = str(s)
 3     if s.count(.)==1:#小数点个数
 4         s_list = s.split(.)
 5         left = s_list[0]  #小数点左边
 6         right = s_list[1] #小数点右边
 7         if left.isdigit() and right.isdigit():  #正小数
 8             return True
 9         elif left.startswith(-) and left.count(-)==1 and 10                 left.split(-)[1].isdigit() and 11                 right.isdigit():  #判断合法负小数
12                 return True
13     return False
例子:判断是否是合法小数的函数

关于函数的不固定参数:参数组和关键字参数

技术分享图片
def syz(a,*args):  #参数组 *arg为非必填参数,不限制参数个数
    print(a)
    username = args[0]
    pwd = args[1]
    age = args[2]

# syz(‘niuhanyang‘,‘2423‘,2323)
# syz(‘1s‘,‘sdf‘)
def syz2(time,**kwargs):  #关键字参数,为非必填参数,不限制参数个数
    print(kwargs)

syz2(sdf)  #{}
syz2(name=nhy,age=38,time=20180912)
syz2(2018,name=nhy,age=38,addr=回龙观,home=河南)
syz2(time=xx,xx=xxx)
不固定参数

关于递归,也就是函数自己调用自己

技术分享图片
def test1():
    num = int(input(please enter a number:))
    if num%2==0:#判断输入的数字是不是偶数
       return True #如果是偶数的话,程序就退出了,返回true
    print(不是偶数请重新输入!)
    return test1()#如果不是偶数的话继续调用自己,输入值
# print(test1())#调用test

#少用递归,递归最多递归999,递归的效率不高。
递归举例

第二点 变量,常量

变量分局部变量和全局变量,

局部变量:只在函数内有效,出了函数无效

全局变量:一旦被修改,会影响整个代码,所以不安全,如果要修改全局变量,需要先声明下你要修改的是全局变量

常量就是一个不变的值

name = 谢红
#全局变量
#如果要改全局变量的话,那你要先声明一下,你修改值是全局变量
def sayName():
    global name
    name = 刘伟
    print(name1,name)

模块:

random 模块 json 模块 引入后使用

import random,json,string

random,string

1 import random,string
2 # print(string.printable) #代表 数字+字母+特殊字符
3 # print(random.randint(1,10)) #随机取整数
4 # print(round(random.uniform(1,99),2))#随机小数
5 # print(random.choice([1,2,3,4])) #只能随机取1个元素
6 # print(random.sample(string.printable,5)) #随机取N个元素,返回的是list
技术分享图片
1 pickts = [A,J,Q,K,2,3,4,5,6]
2 random.shuffle(pickts) #只能传list
3 print(pickts)
举例:洗牌

json模块

引入json模块

import json
import json
#json串是一个字符串
f = open(product.json,encoding=utf-8)
# res = f.read()
# product_dic = json.loads(res)  #把json串,变成python的数据类型
# print(json.load(f)) #传一个文件对象,它会帮你读文件
d =  {
    zll:{
        addr:北京,
        age:28
    },
    ljj:{
        addr:北京,
        age:38
    }
}
fw = open(user_info.json,w,encoding=utf-8)
# dic_json = json.dumps(d,ensure_ascii=False,indent=4)  #字典转成json,字典转成字符串
# fw.write(dic_json)
json.dump(d,fw,ensure_ascii=False,indent=10)  #操作文件

关于修改文件

方法一、

1、打开一个文件,获取到他的所有内容
2、对内容进行修改
3、清空原来文件的内容
4、把新的内容写进去
f = open(username,a+)
f.seek(0)
all_str = ‘‘
for s in f:
    new_s =syz_+s
    all_str=all_str+new_s
f.seek(0)
f.truncate() #清空文件内容
f.write(all_str)
f.close()

方法二、

1.打开2个文件
2.a文件
3.写一行写到b文件
4.a.txt a.txt.bak
5.删掉a文件,b文件名字改成a文件名 引入OS
import os
with open(words,encoding=utf-8) as fr,open(.words.bak,w,encoding=utf-8) as fw:
    for line in fr:
        new_line = line.replace(,flower)
        fw.write(new_line)
os.remove(words) #删除文件
os.rename(.words.bak,words) #改名

 

 































以上是关于python自动化第五次课的主要内容,如果未能解决你的问题,请参考以下文章

Java零基础小白入门教程第五次课_方法

Java零基础小白入门教程第五次课_方法

一周第五次课(12月15日)

九周第五次课(2月27日)

一周第五次课(12月15日)

一周第五次课(12月15日)