Python活力练习Day3】的更多相关文章

Day3:请输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个字母. #这是一道典型的题,一次输入一个字母,首字母匹配一个list里的内容.如果匹配到多个,再输入并匹配第二个字母,第三个字母,直到匹配到结果时返回. #函数startswith()解决开头匹配问题: startswith( ,start,end) def is_week(): s = '' x = None while not x: s,x = judes(s) print(x) def judes(s):…
主要内容:字典 集合 文件处理 字符编码 1.字典dict简介dict就是key value值,索引有意义,数据无序 key定义规则:a:不可变--数字.字符串.元组(可变--列表.字典)b:不能重复 定义D = { 'name':'zs', 'age':'12', 'sid':'01'}#增D['wid']='001'D.setdefault('gender','MEN')D.setdefault('gender',[]).append('MEN')D.setdefault('gender',…
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元组) 按访问顺序区分:直接访问(数字) 顺序访问(字符串.列表.元组) key值访问(字典) 1. 集合 主要作用: 1)去重 2)关系测试:交集.差集.并集.反向差集等 2. 元组 元组是一个自读列表,只有count和index这2个方法 例如:如果一些数据不想被人修改,可以存成元组,比如身份证列…
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 定义函数 >>> def hello(): #def 关键字 hello 函数名 print('Hello,world!') >>> hello() #通过名字调用函数 Hello,world! >>> def product(x,y): #…
一.文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Somehow,…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 变量可以指向函数,函数的参数能接收变量, 那么一个函数就可以接收另一个函数作为参数, 这种函数就称之为高阶函数. """ def add(x,y,f): return f(x)+f(y) res = add(3,-6,abs) print(res)…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身, 这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈 (stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧, 每当函数…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 全局与局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. """ school = "tsinghua" #全…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format = "%Y-%m-%d %X" # time_current = time.strftime(time_format) # with open("log.txt", 'a+') as f: # f.write("%s end action\n" %t…
字典 dic{key:value} 元组与列表相似,唯一就是不能修改dic = {'name':'alex','age':18}查询print(dic['name']) #会报错get方法查询,查询之后,如果不包含,不会报错,返回noneprint(dic.get('name'))增加dic['gender'] = 'lwq'print(dic)字典中的元素是无序的,字典是通过key找值得.改dic['name'] = 'dt'字典不能改key,只能改value删除del dic['name']…
Python字典(Dictionary) 字典是一种可变容器模型,可存储任意类型对象. 字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示: d = {key1 : value1, key2 : value2 } 字典的特点: 键必须是唯一的,但值则不必唯一. 值可以取任何数据类型,但键必须是不可变的类型. 不可变类型:数字.字符串.元组: 可变类型:列表.字典. 字典中键值是无序的. 1.创建字典 方法1: d…
函数 如: def is_leapyear(year): if (year%4 == 0 and year%100 != 0) or (year%400 == 0): return True else: return False a = is_leapyear(2016) print(a) 根据上述例子: is_leapyear是函数名,python中指向对应的内存地址:如执行时可以,"f = is_leapyear;f(2016)",f也会指向is_leapyear的对应内存地址 “…
set集合 ​set是一个无序且不重复的元素集合,访问速度快,天生解决重复问题 s1 = set() s1.add('luo')​ s2 = set (['luo','wu','wei','ling']) ​s3 = s2.difference(['luo','wu'])            #s2中数据拿来逐个匹配,不同的被赋值给s3 ​s2.difference_update(['luo','wu'])       #s2数据逐个匹配,修改s2 difference:不修改原来集合,创建一…
摘要: 复习day2内容 介绍set()-->归档到day2了... collections模块常用类 深浅copy的区别 自定义函数 文件操作 常用内建函数介绍 一.深浅copy的区别 #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Q1mi" """ 深浅copy的区别 """ import copy # 数字.字符串:赋值.浅拷贝和深拷贝…
函数式编程介绍   函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程中的函数这个术语不是指计算机中的函数(实际上是Subroutine),而是指数学中的函数,即自变量的映射.也就是说一个函数的值仅决定于函数参数的值,不依赖其他状态.比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的. Pytho…
1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 while True:     if cpu利用率 > 90%:         #发送邮件提醒         连接邮箱服务器         发送邮件         关闭连接           if 硬盘使用空…
一.上节回顾 1,while else2,格式化输出name = input('>>>')s1 = '我叫%s,今年%d岁'%(name,18)dic1name = input('>>>')s1 = '我叫%(name1)s,今年%(age1)d岁'%dic3,逻辑运算符and or not3.1()>not>and>or 同一优先级,从左往右依次计算3.2 1 > 2 and 3 < 4 or 3 < 2 bool3.3 1 or…
一    Python 解释器执行Python程序的过程   eg:python3 C:\ test.py 1.启动python解释器 (内存中) 2.将C:\ test.py中的内容从硬盘读入内存 3.执行读入内存的代码 如果想要永久保存代码,就要用文件的方式 如果想要直观的调试代码,就用交互式的方式 (一)变量 一个是变: 核心在于变化 一个是量: 衡量,计量,表达的一种状态 变量的定义 声明一个变量 eg:name = “Mr shao” 变量的定义规则 变量名只能是 字母.数字或下划线的…
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种:数值型.字符串型.列表型.元组型.字典型. 数值类型 顾名思义就是数字类型,但数字类型内部又分为:整型.浮点型.长整型.复数型 整数类型 整数类型的范围是2**32,其中包含正数和负数(2的31次方个正和2的31次方…
1.字典操作 for key in dic: #循环一个字典 print key,dic.get(key) for k ,v in dic.items(): print k,v 2.集合 # -*- coding:utf-8 -*- s1 ={"a","b","c","d"} s2 ={"a","b","f"} print s1.difference(s1) #计算两…
1.数据类型int :如1.2.4等, 用于计算 bool: True , False ,用户判断 str: 储存少量数据,进行操作.如:'fdasklfjfladfl','而而噩噩','1234' list:储存大量数据.用中括号引起来.['哈哈',1324,34455,[1,2,3]],可以储存的数据很多.tupe元组:只读列表.(1,2,3,'第三方') dict:字典:储存大量关系型.成对的数据.{'云姐':[],'二哥':[2000,200........]}{'name':'云姐',…
1.数据类型整体分析.    int :1,2,3213,用于计算 bool:True False 用于判断 str:‘qweqweqe’ .‘我爱你中国’ .‘1234位朋友’ 储存少量的数据,进行操作. list:[1,2,333,‘我爱你中国’,‘123我’,[1,2,3,‘我我1123’]] 列表  列表可以存储列表,储存大量的数据,可以循环调取. 元祖:(1,2,3,‘as我爱中国’,‘112233Python’) 元祖 可以存储大量数据,但是是只读数据,一些重要的不可修改的数据储存在…
一.数据类型的转换 常用的是:int 转str.str转int.int转bool 时   非零即为 True . # 数据类型之间转换 ***** # int <--> str str(int) int(str) # int ---> bool : 非零即为True,零即为False, True ---> 1 False ---> 0 # bool --->str : # print(bool('Alex')) --->True # 空字符串 ---> bo…
set有点:1.访问速度快 2.天生解决了重复问题 tuple与set区别: 元组可重复,set不可重复创捷集合1 >>> s1.add('alex')>>> print(s1){'alex'}>>> s1.add('alex')>>> print(s1) {'alex'} 创建集合2>>> set (['alex','eric','tony']){'tony', 'eric', 'alex'} 找出不同,并重建一个…
# coding=utf-8 # Author: RyAn Bi def calc(n): #递归 print(n) if int(n/2) > 0: #设置条件,否则会循环999 次,报错, int为取整,四舍五入 return calc(int(n/2)) calc(10) def add(a,b,f): #高阶函数 print(f(a)+f(b)) res = add(1,-3,abs) #可以调用函数…
# coding=utf-8 # Author: RyAn Bi school = 'THU' #全局变量 def change_name(name): global age #在函数中,用global定义全局变量 age = 20 school= 'PKU' #局部变量 作用域在函数中 print("before change is",name,school,age) name = 'bijibin' #局部变量 作用域在函数中 print('after name is',name)…
对于不固定长度的参数,需要使用*arge,**kwargs来调用,区别是*arge是转换为元组,而kwargs转化为字典 # coding=utf-8 # Author: RyAn Bi def test(*args): #参数组 print(args) test(1,2,4,6,7,8) #方式1 test(*[1,2,4,5,6]) #方式2 # args =[1,2,4,5,6] ,变成元组的形式 def test1(x,*args): print(x) print(args) test1…
# coding=utf-8 # Author: RyAn Bi def test(x,y,z): print(x) print(y) print(z) test(y=2,z =3,x=1) #形参与顺序无关 test(1,2,3) #与形参一一对应 test(3,z=2,y=6) #制定参数一定不能放在位置参数前面…
return的主要作用就是,在调用的时候,能知道函数的运行情况,相当于打个标签 # coding=utf-8 # Author: RyAn Bi def test1(): print('in the test1') def test2(): print('in the test2') return 0 def test3(): print('in the test3') return 'a',[1,2],(1,3,4,7),{'bb':'1'} #只是返回相应内存中的值,所以可以多个元素,但是输…
调用函数来实现文件的修改(abc.txt),并增加上时间,调用的是time模块, 需要注意的是,每个函数一定要用‘’‘ ‘’’ 标注下函数说明 # coding=utf-8 # Author: RyAn Bi import time def ogger(): '''print ending''' time_format ='%Y-%m-%d-%X' time_current = time.strftime(time_format) #显示当前时间 with open('abc.txt','a+'…