我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python学习(day3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python学习(day3)

1、集合的使用:

#1、集合的操作:
list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)#创建集合

list_2 = set([2,6,0,22,66,8,4])
print(list_1,type(list_1),list_2)

print(list_1.intersection(list_2))#取两集合的交集
print(list_1.union(list_2))#并集
print(list_1.difference(list_2))#差集 in list_1 but not in list_2
print(list_2.difference(list_1))#差集
list_3 =set([1,4,7])
print(list_3.issubset(list_1))#子集
print(list_1.issuperset(list_3))#父集
print(list_1.symmetric_difference(list_2))#对称差集

print("-------------")
list_4 =set([5,6,8])
print(list_3.isdisjoint(list_4))#Return True if two sets have a null intersection

print("运算符".center(50,'-'))
print(list_1 & (list_2))#并集
print(list_1 | (list_2))#并集
print(list_1 - (list_2))#差集in list_1 but not in list_2
print(list_1 ^ (list_2))#对称差集
print(list_1 ^ (list_2))#对称差集

print(list_1.add(999))#添加
list_1.update([888,777])#添加多项
print(list_1)
list_1.remove(1)#指定删除
print(list_1)
print(list_1.pop())#随机删除并返回
#list_1.remove()为空会报错
list_1.discard(888)#删除
print(list_1)

2、文件操作:

    打开文件的模式有:

    r,只读模式(默认)。

    w,只写模式。【不可读;不存在则创建;存在则删除内容;】

    a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    "+" 表示可以同时读写某个文件

    r+,可读写文件。【可读;可写;可追加】

    w+,写读

    a+,同a

    "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

    rU

    r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    rb

    wb

    ab

f = open("Yesterday.txt",'r+')#文件句柄,Yesterday.txt:文件名
data = f.read()
print(data)
print(f.write("123"))

f = open("Yesterday.txt","r+",encoding="utf - 8")
#data = f.readlines()
#high bige
count = 0
for line in f:
    if count==9:
        print('----我是分割线-----')
        count += 1
        continue
    print(line)
    count += 1
print("1111111231231211111",f.tell())
f.close()

f = open("Yesterday.txt",'r+',encoding="utf - 8")
print("11111111111111111111",f.tell())#tell() 方法返回文件的当前位置,即文件指针当前位置。
print(f.readline())
print(f.readline())
print(f.readline())
print(f.tell())
f.seek(0)#seek() 方法用于移动文件读取指针到指定位置。
print(f.readline())
print(f.encoding)#文件字符编码
print(f.fileno())#fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。
print(f.name)#打印文件名
print(f.flush())#flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
#一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

f.close()
f = open("Yesterday2.txt",'r+')
f.truncate(10)#truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则重置到当前位置。
f.close()

#f = open("Yesterday2.txt",'wb')
#print(f.readline())
f = open("Yesterday2.txt",'wb')
f.write('hello binary\n'.encode(encoding='utf-8'))
f.close()
'''
#low loop
for line in f.readlines():
    print(line)
'''

 2、1with语句:

import sys
print(sys.getdefaultencoding())#打印系统默认编码
with open("Yesterday.txt",'r',encoding="utf-8") as f,\
      open("Yesterday2.txt",'r',encoding="utf-8") as f2:
    for line in f:
        print(line)#with代码块执行完毕时,内部会自动关闭并释放文件资源

  2、2文件修改:

f = open("Yesterday1.txt",'r',encoding="utf-8")
f_new = open("Yesterday2.txt",'w',encoding="utf-8")
for line in f:
    if "舌尖上的雨" in line:
        line = line.replace("舌尖上的雨","一二三四五")#replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
    f_new.write(line)
f.close()
f_new.close()

3、字符编码:

# Author:deyi liu
import sys
print(sys.getdefaultencoding())#打印系统默认编码
s = "你好"
s_gbk = s.encode("gbk")
print(s_gbk)
print(s.encode())
gbk_to_utf8 = s_gbk.decode("gbk").encode("utf-8")
print(gbk_to_utf8)
# -*- coding:gbk -*-
import sys
print(sys.getdefaultencoding())#打印系统默认编码
s = "你好"#文件编码为gbk,但s = "你好"的编码为Unicode
print(s.encode("gbk"))
print(s.encode("utf-8"))
print(s.encode("utf-8").decode("utf-8").encode("gb2312"))
print(s.encode("utf-8").decode("utf-8").encode("gb2312").decode("gb2312"))

4、函数:

函数定义:

def test(x):#def定义函数关键字,test函数名,()内容定义形参
    "The function definitions"#文档描述
    x+=1#泛指代码块或程序处理逻辑
    return x#return定义返回值
#定义函数
def func1():
    "testing1"
    print("in the func1")
    return 0

#定义过程(没有返回值的函数)
def func2():
    "testing2"
    print("in the func2")

x = func1()
y = func2()
print("from func1 return is: %s"%x)
print("from func2 return is: %s"%y)
import time

def logger():
    time_format = '%Y-%m-%d %X'#年月日时,%X 本地相应的时间表示
    time_current = time.strftime(time_format)#time strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。
    with open("a.txt",'a+') as f:
        f.write('time is %s end action\n'%time_current)

def test1():
    print("test1 starting action...")
    logger()

def test2():
    print("test2 starting action...")
    logger()

def test3():
    print("test3 starting action...")
    logger()

test1()
test2()
test3()
#定义函数
def test1():
    print("in the test1")
def test2():
    print("in the test2")
    return 0

def test3():
    print("in the test3")
    return 1,'hello',['alex','wupeiji'],{'name':'alex'}

x = test1()
y = test2()
z = test3()
print(x)
print(y)
print(z)
#定义函数
def test(x,y):#x,y形参
    print(x)
    print(y)
test(1,2)#1,2实参,与形参一一对应(位置参数调用)
test(y=1,x=2)#与形参顺序无关(关键字调用)
test(3,y=1)#关键字不能再位置参数前面
def test(x,y=2):#y=2默认参数,默认参数非必须传递
    print(x)
    print(y)
test(1)
#test(1,3)

参数组:

def test(*args):#参数组,以*开头,接受N个位置参数,转换成元组的形式
    print(args)
test(1,2,3,4,5)
test(*[1,2,3,4,5])#args=tuple([1,2,3,4,5])

def test1(x,*args):
    print(x)
    print(args)
test1(1,2,3,4,5)

def test2(**kwargs):#把n个关键字参数,转换成字典的形式
    print(kwargs)
    print(kwargs['name'])
    print(kwargs['age'])
    print(kwargs['sex'])
test2(name='alex',age=8,sex='F')#kwargs={'name': 'alex','age': 8, 'sex': 'N'}
test2(**{'name': 'alex','age': 8, 'sex': 'N'})#kwargs={'name': 'alex','age': 8, 'sex': 'N'}

def test3(name,**kwargs):
    print(name)
    print(kwargs)
test3('alex',age=8)

def test4(name,age=8,*args,**kwargs):#参数组要放在后面
    print(name)
    print(age)
    print(args)
    print(kwargs)
test4('alex',age=3,sex='F',hobby='tesla')
def test4(name,age=8,*args,**kwargs):#参数组要放在后面
    print(name)
    print(age)
    print(args)
    print(kwargs)
    logger("TEST4")

def logger(source):
    print("from %s"%source)
test4('alex',age=3,sex='F',hobby='tesla')

高阶函数:

def add(a, b, f):  # abs() 函数返回数字的绝对值
    return f(a) + f(b)
    
res = add(3,-6,abs)# abs() 函数返回数字的绝对值
print(res)

5、局部变量:

school = "Oldboy edu."#全局变量
def change_name(name):
    global school#global声明全局变量
    school = "asd"#局部变量
    print("before change",name,school)
    name = "Alex Li"#这个函数就是这个变量的作用域
    print("after change",name)
name = "alex"
change_name(name)
print(name)
print(school)
names = ["Alex","Jack","Rain"]
def change_name():
    names[0] = "金角大王"#字符串,整数不能再局部里面修改,列表,字典,集合,类的可以
    print("inside func",names)
change_name()
print(names)

6、进度条:

import sys,time
#sys.stdout.write("asd")
#sys.stdout.write("asd")#不换行

for i in range(20):
    sys.stdout.write("#")
    sys.stdout.flush()#调用sys.stdout.flush()强制其“缓冲
    time.sleep(0.1)

7、递归:

def calc(n):
    print(n)
    if int(n/2)>0:
        return calc(int(n/2))
    print("->",n)

calc(10)


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python学习(day3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 学习day3

set(无序不重复的序列)创建两种方式 例一:s1 = {1,2,3} 例二:s2 = set() ,s3 = set([1,2,3,4,5])功能 s2.add(123) #添加s2集合中123元素 s2.clear() #清除内容 s2
2023-01-31

python学习(day3)

1、集合的使用:#1、集合的操作:list_1 = [1,4,5,7,3,6,7,9]list_1 = set(list_1)#创建集合list_2 = set([2,6,0,22,66,8,4])print(list_1,type(lis
2023-01-31

Python学习记录day3

Python学习记录 day3今天是银角大王武sir讲课。先回顾了上节课所学,然后讲到了面向对象思想。setset是一个无序且不重复,可嵌套的元素集合class set(object):    """    set() -> new emp
2023-01-31

day3 python 学习随笔

三目运算(三元运算)例:result = 1 if 2 == 2 else 32. set是一个无序且不重复的元素集合3.生成器range不是生成器 和 xrange 是生成器readlines不是生成器 和 xreadlines 是生成器
2023-01-31

Python学习day3作业

作业需求HAproxy配置文件操作根据用户输入,输出对应的backend下的server信息可添加backend 和sever信息可修改backend 和sever信息可删除backend 和sever信息操作配置文件前进行备份添加serv
2023-01-31

Python练习题(day3)

一、函数练习题:1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。4
2023-01-31

Python学习之day3数据结构之列表

数据结构之列表一、列表定义      列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目应包括在方括号中,这样python就是知道你是指名了一个列表。一旦你创建了一个列表,你可以添加、删除或者搜索列表中的
2023-01-31

从零开始学Python-day3

Python--Day3学习要有定位,明确目标地去学习。---leavespython02---list知识一 list的概念    列表的概念:列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
2023-01-31

Python Day3

mode打开文件方式r读(默认)w写x创建并写a追加r+读写w+写读x+创建并写读a+追加读#w a r 三种纯净模式#如果是windows平台一般还要加上一个小r,意思是取消路径中/的转义功能(不用写//了)#默认t,指的是文本文件,文本
2023-01-31

python 22- day3

1、知识点补充2、编码3、集合4、深浅copy5、文件操作file1= open("D:/myclass/课堂文件/day02/day02/02 字符串.py",encoding='utf-8',mode='r')print(file1.r
2023-01-31

python笔记day3

字典修改或者添加:dict['key'] = value程序二:file1.txt文件内容如下:alex|123|1carrick|123|1tony|123|1从文件file1.txt中读出内容,写成dic = {'carrick': [
2023-01-31

python 基础 day3

python 操作文件的常用方式有如下读文件:r 模式 实例演示1:f1 = open(file='D:\Python3.5-learn\模块2\character3_文件操作\staff_table.txt',mode='r',encod
2023-01-31

day3 python函数

自定义函数:def myfun(args1,args2):函数体return valuedef get_info(): userinfo = {} with open("info.txt","r",encoding="utf-8
2023-01-31

Day3 python基础

集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系list_1 = [1, 4, 5, 7, 3, 6, 7, 9]list_1 = set(lis
2023-01-31

Python-day3作业-haprox

#!/usr/bin/env pythonimport os,sys,time,re,prettytable,jsonfrom collections import defaultdict,OrderedDictconf='haproxy.
2023-01-31

Python学习

Python是创始人吉多•范罗苏姆(Guido van Rossum)在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,而在给自己新创造的计算机语言起名字的时候,由于其是,自于七十年代风靡全球的英国六
2023-01-31

Python 学习

第一次学习python查阅的资料一,熟悉基本在正式介绍python之前,了解下面两个基本操作对后面的学习是有好处的:1)基本的输入输出 可以在Python中使用+、-、*、/直接进行四则运算。11+3*3查看全部10(2)导入模块 使用im
2023-01-31

python爬虫笔记-day3

正则使用的注意点re.findall("a(.*?)b","str"),能够返回括号中的内容,括号前后的内容起到定位和过滤的效果原始字符串r,待匹配字符串中有反斜杠的时候,使用r能够忽视反斜杠带来的转义的效果点号默认情况匹配不到\n\s能够
2023-01-31

学习python

亲爱的朋友:    欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着python越来越流行,资料也越来越多,大
2023-01-31

python培训Day3 随笔

collections类这个类相当于一个扩展包,包含针对字典、列表、元组等数据类型的一些扩展操作。1、计数器Counter#计数器可以列出字符串和列表中元素出现的个数,并以字典返回>>> import collections>>> li=[
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录