python 初级1】的更多相关文章

最近想整一整数据分析,在看一本关于数据分析的书中提到了(1)if __name__ == '__main__' (2)列表解析式 (3)装饰器. 先简单描述一下前两点,再详细解说Python初级的函数装饰器. 进入正题: 一.if __name__ == '__main__' 首先,__name__是一个程序名变量,而这个变量的值是根据程序的运行方式决定的.如果程序是被当作主程序运行的,那__name__将会被赋值为__main__:当程序是作为模块被其他文件调用的,那它会自动被赋值为模块所在(…
最近项目太忙好久没有学习python了,今天更新一下吧~~ 1.什么是python装饰器: 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象,它经常用于有切面的需求的场景,比如:插入日志,性能测试,事务处理,缓存,权限校验等场景,装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用 概括的讲,装饰器的作用就是为已存在的函数或对象添加额外的功能 2.上代码练习初级装饰器…
List:Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象.通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list 由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据 倒数:倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示: L…
Python语言的特点 优点: - 简单 - 易学 - 免费,开源 - 高层语言 - 可移植性(可再多平台运行) - 解释性(不需要编译,可直接运行) - 面向对象 - 可扩展性(缺点:运行效率相对较低,可直接嵌入C或者C++语言) - 丰富的库 - 规范的代码 缺点: - 运行速度相对慢 - 目前国内市场较小 - 中文资料匮乏 - 构架太多太乱(侧面说明项目多,人多) - 列表内容 Python的应用场景 WEB开发 系统管理,服务器运维的自动化脚本 科学计算 桌面软件 服务器软件(网络软件)…
关于python初学时遇到的重点: 1 python 2 和3 的区别 python2**不识别中文** -*- coding: utf-8 -*-(因为不能识别中文,所以代码有中文时需要在最前面加入) coding=gbk python2 代码重复 语言不统一 输入数字,获取数字,输入字符串必须自己手动写引号 print()可以加括号 也可以不加括号 python3 raw_input 和 p3中的input 一样 print()必须加括号 2 变量命名规范2.1 由数字.下划线.字母组成2.…
背景 公司有600多台服务器,打算写一个小程序,能一眼看见哪些服务器不在线. 大体思路是: 1.把所有服务器ip存进数据库,ping命令判断服务器是否在线 2.更新数据库中ip的状态 3.简单的web显示出来 4.优化程序,美观页面 一.python检测IP在线 fping命令,它是对一个文件的批量ping,瞬间完成的,如果ping不通,那就较慢,日常ping不通的毕竟是少数,所以这个非常适用. 这个命令需要安装,直接yum就行,yum install fping -y 创建fping.sh的s…
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容). email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等. 1.smtplib模块 smtplib使用较为简单.以下是最基本的语法. 导…
产生1-10中的随机数: for 循环:所有可遍历对象都能用于for循环,如一个字符串. len(list),list中的元素类型可以各不相同:可以直接用下标对list元素赋值来更新列表 对字符串可以进行下标操作: 序列:python中最基本的数据结构,每个序列都有一个索引:python包括6种内置序列类型,如list,tuple:…
在命令行中运行py文件:python 文件路径/文件名 python变量必须赋值后才能使用,因为py变量只有赋值后才会被创建. py可以同时给多个变量赋值:a,b,c = 10,20,'dfjkdj' 对str的操作: 运算符分类:算术运算符.比较运算符.逻辑.赋值.位运算符.除法运算比较特殊,py2.x版本中除法结果要得到小数则除号两边至少要有一个浮点数,%取余,//取的是商的整数部分, x**y表示x的y次方 逻辑运算符:and or,相当于c中的&&和|| 循环:for循环和whil…
尝试用Python实现可以说是一个很经典的问题,判断回文数. 让我们再来看看回文数是怎么定义的: 回数是指从左向右读和从右向左读都是一样的数,例如1,121,909,666等 解决这个问题的思路,可以说大体上分为两种: 1.从首部和尾部同时向中间靠拢,判定首尾数字是否相等(比较复杂) 2.直接反转数字,看反转前反转后数字是否相等(最常用) 第一种方法也可以理解为一种更加复杂,但是思想不变的第二种方法. 其中我一开始的代码是这样写的: def is_palindrome(n): L1=list(s…
杨辉三角定义如下: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \ 1 5 10 10 5 1 把每一行看做一个list,试写一个generator,不断输出下一行的list. 该题目考查生成器的应用.一般的思路是,首先在每一行输出一个1,随后通过循环,位置i(从2开始)的数是上一行i与i-1位置的数之和,当i与上一行数字个数相同时,循环终止,最后再添加进一个1,形…
"一等对象": 满足条件:1.在运行时创建 2.能赋值给变量或数据结构中的元素 3.能作为参数传递给函数 4.能作为函数的返回结果 [ 整数.字符串.字典."所有函数" ]等都是一等对象 "什么是函数"调用:直接使用.不需要类或对象进行调用定义:定义在模块中.类体外作用:数据处理 "什么是方法"调用:不能直接使用.需要类或对象进行调用定义:定义在类体中作用:状态处理.状态(对象的属性.类的属性) "实例方法"…
一.复习 1.什么是魔法方法? 2.什么是类的初始化函数? 二.什么是self 使用一个类可以创建多个对象实例,例如: ball1 = Ball("red", "small", "down") ball2 = Ball("red", "medium", "up") 调用其中一个实例的方法时,像这样:ball1.bounce() 方法必须知道是哪个实例调用它, self参数会告诉方法哪个对…
一.复习 1.什么是对象 2.什么是类 3.什么是属性 4.什么是方法 5.创建一个dog类,dog的属性有颜色,方法有汪汪叫 随堂练习: class Dog: def __init__(self, color): self.color = color def wangwang(self): print("Dog wangwang!") dog = Dog("white") dog.wangwang() 6.创建一个cat类,cat的属性有拥有老鼠的只数,方法有捉老…
一.复习之前的两个练习,巩固计数循环和条件循环 1.系统生成一个随机数1到5,然后让用户的猜测,若猜对了,提示恭喜你,猜对了,否则提示,对不起,你猜错了(提示,1到5的随机数为:secret = random.randint(1, 5)),此行代码之前需先引入随机数模块import random 2.将以下乘法口诀表代码改为while循环 for i in range(1, 9+1): text = "" for j in range(1, i+1): text += "{}…
一.安装anaconda(python环境) 1 地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A 选择Anaconda3-5.3.1-Windows-x86_64.exe下载安装 2 安装 一路默认点击安装,在Advanced Options时,增加选中Add Anaconda to the system PATH environment variable选项,然后再一路默认安装完成 如下图 3 验证安装成功 打…
一.一个简单的for循环 1 重复做相同的事 for looper in [1, 2, 3, 4, 5]: print("hello") 1 looper的值从1开始, 所以looper = 1 2 对应列表中的每一个值,这个循环会把这个循环块中的所有工作完成一次 3 每次执行循环块前,变量looper会赋为这个列表中的下一个值 计数循环:重复一定次数的循环,称为计数循环 2 重复做稍微不同的事 每次for循环做不同的事 for looper in [1, 2, 3, 4, 5]: p…
复习: 1 三种数据类型: 整数:int, (1, 2, 200) 浮点数: float(2.0, 9.5, 100.38) 字符串: str("小明", "abc", "3.0") 2 查看数据类型 type() 3 数据类型转换:最终转换成什么类型,就用什么类型的函数 a = int(3.2) data = str(3.2) 一.测试,测试 决策时,程序要做出检查(完成一个测试),查看某个条件是否为真. Python完成测试的方法有限,而且每…
一.数据类型: 数字:3, 5, 100, 50.35 字符串:"abc","wang" 字符串或数字可以由名字来表示,名字也叫变量 二.算术表达式: 形如3 + 5, 3 * 5 1 数字和符号的组合,Python可以算出它的值 (3 + 5)* 7 (42 - 19)* 3 2 由变量和符号组成,Python可以算出它的值也是算术表达式 a = 3 b = 4 c = 5 a + b (a + b) * c 三. 输入: input("请输入你的姓名:…
一.回顾: 1.什么是程序 一堆指令的集合 2.回想一下猜数游戏程序的特征: 1)需要输入(input) 2)会处理输入(process) 3)产生输出(output) 二.程序的一般特征:输入.处理和输出 1.输入: 玩家键入的数,也就是他猜的数 2.处理: 程序检查玩家的数,并统计已经猜过几次 3.输出: 打印出消息(猜大了,猜小了,猜对了或是已经超过6次失败了) 三.计算机工作原理 1.示意图 2.内存(存储器) 通过编号(地址),计算机进行数据处理 3.名字 计算机可以通过地址来获取指令…
一.与Python交互 键入命令(指令)后,Python立即执行这个命令 1 进入notebook交互编程环境 进入notebook环境, 点击New菜单下的Python 3环境进入到交互编程环境 2 打印出5+3并执行结果 键入程序指令print(5+3)后, 选中当前行,选中时当前行的最左边显示为绿色, 然后点击上方的运行按钮,即可显示Python运行结果 3 打印乘法并执行结果 需要注意的是, python程序中5乘以3写作5*3,是用*号表示乘法符号 4 打印字符串"cat"与…
http://www.jikexueyuan.com/course/2376_1.html…
可变对象与不可变对象 可变对象存的是地址,地址不变,但地址指向的值可以变(引用类型).类型:list.dict.set等 不可变对象直接存值,值变了,就是另一个对象了(值类型).int.float.tuple.string等 直接赋值,浅拷贝,深拷贝 在含有可变对象讨论这个问题更显得有意义. 直接赋值:直接传递对象的引用.浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变.深拷贝,原始对象的改变不会造成深拷贝里任何子元素的改变. __init__和__new__区别 __new__控制新实例…
一.回顾 上次我们讲解的数据类型,有int,float,str,bool,NoneType五种 前两种和后两种都比较简单,str较为复杂 二.字符串格式化的使用场景: 有一种字符串, xxx 的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方 式. 例如 1“亲爱的 xxx 你好!你 xx 月的话费是 xx元,余额是 xx元” 具体化后: ”亲爱的林雪峰你好!你12月的话费是85元,余额是15元” ”亲爱的小红你好!你8月的话费是35元,余额是20元” ”亲爱的小明你好!你9月的话费…
一.整数(int) 例:  0 1 2 3 -1 -2 –3 In [31]: print(type(0)) <class 'int'> In [32]: print(type(1)) <class 'int'> In [33]: print(type(2)) <class 'int'> In [34]: print(type(3)) <class 'int'> In [35]: print(type(-1)) <class 'int'> In…
列表和元组都是可迭代对象(可以用于for in) 列表 [] #添加列表元素: list.append(argu) #修改列表: list[2] = 2017 #删除列表元素 Del list[2] #获取列表长度 len(list) #组合列表 >>>[1,2,3]+[4,6] [1,2,3,4,6] #定义有周期性的列表 [100,]*4==[100,100,100,100] 元组() 特点:元组中的元素不能修改 #创建元组 Tup1 = (‘apple’,’ip’,2016,201…
from io import StringIO; f = StringIO(); f.write('Hello World'); s = f.readline(); print s; 上面这种方法“无论如何”都读不出f的内容,使用readlines和循环也不行. 但是,用以下的方法,却可以“正常读取”: from io import StringIO; f = StringIO('Hello World'); s = f.readline(); print s; 这是为什么呢? 这是因为the…
一级标题 空格+内容 二级标题 空格+内容 有序内容 1.+Tab 无序内容 -+Tan 代码块 print("hello world") 三个```+回车 添加图片 表格创建 CTRI+T 姓名 年龄 职业 郭达 57 IT 文字加粗 24期的小伙伴你们好 两颗星+内容+两颗星 --加粗 你好 一颗星+内容+一颗星 --斜体 粗斜 三颗星+内容+三颗星 ---加粗加斜体 幂运算 3**2 3的2次方 3**3 3的3次方…
一.复习: 1.如何创建一个空列表,如何创建一个有数据的列表 2.列表可以包含的内容 3.从列表中获取元素和修改元素的方法 4.列表的分片 5.增加元素和删除元素 6.选择排序的算法: 一堆数据,每次找出最小的放入新数组,然后原数组中的数删除,直到原数组为空 二.冒泡排序 一堆数据,从左向右,每次比较相邻两个数,前一个比后一个大,就交换位置,然后继续比较,一直比较到最大的那个排到最后.然后再次遍历数组,这次最后那个已经排好了,所以只需要比到倒数第二个,以此类推 数据: arr = [9, 7,…
一.列表的概念: 1.创建一个列表 friends = list() 2.列表可以包含的内容: m_list = [5, 7, 9, 20] letters = ['a', 'b', 'e'] 3.从列表获取元素和修改元素 letters[3] 索引从0开始 m_list[2] = 100 4.列表的分片 m_list[1:3] 分片的简写 m_list[:2] 5 增加元素和删除元素: append() remove() 二.选择排序: 算法: 一堆数据中,先找出最小的数来,将之放入新数组中,…