Python
ZhuCheng Xie
人生苦短,我已不用Python 了!
展开
-
用Python画图--小猪佩奇
“”“小猪佩奇”""# coding:utf-8import turtle as t# 绘制小猪佩奇# =======================================t.pensize(4)t.hideturtle()t.colormode(255)t.color((255, 155, 192), "pink")t.setup(840, 500)t.speed(...转载 2019-05-20 15:58:55 · 893 阅读 · 3 评论 -
Python : 两数交换
1.有两个整数变量 a = 6,b = 1002.不使用其他变量,交换两个变量的值“”"a = 6b = 100解法一a = a + bb = a - ba = a - bprint(a)print(b)解法二python专属,变可把元组小括号省略。即a,b = b,aa,b = (b,a)print(a)print(b)...原创 2019-05-20 16:00:20 · 1143 阅读 · 0 评论 -
Python : 九九乘法表
“”“九九乘法表”""i = 1while i <= 9 :j = 1while j <= i :xj = j * iprint(j,"*",i,"=",xj," ",end = " ")j += 1i += 1print()原创 2019-05-20 16:02:06 · 174 阅读 · 1 评论 -
Python : 绘制多方向同心圆
import turtleturtle.pensize(5)turtle.pencolor(“brown”)turtle.speed(8)turtle.circle(10)turtle.circle(-10)turtle.circle(20)turtle.circle(-20)turtle.circle(30)turtle.circle(-30)turtle.circle(40...原创 2019-05-20 16:03:29 · 1435 阅读 · 1 评论 -
Python :销售提成
“”"企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部...原创 2019-05-20 16:04:31 · 2414 阅读 · 1 评论 -
Python : 绘制正方形
import turtleturtle.begin_fill()turtle.color(“green”)turtle.speed(1)i = 1while i <= 4 :turtle.forward(200)turtle.right(90)i += 1turtle.up()turtle.goto(-150,-120)turtle.end_fill()原创 2019-05-20 16:05:16 · 8285 阅读 · 2 评论 -
Python :买苹果
price = float(input(“请输入苹果单价:”))weight =float(input(“请输入重量:”))money = price * weightprint(“苹果每斤 %.2f 元,苹果重量 %.2f 斤,总共花了 %.2f 元” % (price,weight,money))...原创 2019-05-20 16:06:08 · 2527 阅读 · 1 评论 -
Python : 水仙数
for i in range(100,1000) :a = int(i/100)b = int(i/10)%10c = int(i%10)if i == a ** 3 + b ** 3 + c ** 3 :print(i)print("-"*3)for i in range(100,1000) :s = str(i)a = int(s[-3])b = int(s[-2])c ...原创 2019-05-20 16:07:01 · 617 阅读 · 2 评论 -
Python : numpy基础
import numpy as np“”"(1)np.array() 产生数组“”"a = {6,2,3}data1 = np.array(a)print(data1)data2 = np.array([[1,2,3],[4,5,6]])print(data2)data3 = np.array([{“a”:1,“b”:2},{“c”:3}])print(data3)print...原创 2019-05-21 10:32:24 · 220 阅读 · 0 评论 -
Python : numpy转化类型
import numpy as np“”""转化类型:astype()如果某字符串数组表示的全是数字,也可以用astype将其转换为数值形式。“”"arr = np.array([3.7,1.3,-12,8.8,-5.9])print(arr)print(arr.astype(np.int32))arr1 = np.array([“1.25”,"-9.6",“42.0035”],d...原创 2019-05-21 10:33:08 · 442 阅读 · 0 评论 -
Python : numpy数组运算
import numpy as np“”""数组与标量的算术运算会将标量值传播到各个元素:“”"arr = np.array([[1,2,5,6],[4,8,9,6]])print(arr)print(arr+1)print(arr*2)print(1/arr)print(arr**2)print("-"*50)“”"数组与数组之间的算术运算“”"arr1 = np.a...原创 2019-05-21 10:34:36 · 433 阅读 · 0 评论 -
Python : numpy数组的广播
import numpy as np“”""如果满足以下规则,可以进行广播:ndim较小的数组会在前面追加一个长度为 1 的维度。输出数组的每个维度的大小是输入数组该维度大小的最大值。如果输入在每个维度中的大小与输出大小匹配,或其值正好为 1,则可以在计算中使用该输入。如果输入的某个维度大小为 1,则该维度中的第一个数据元素将用于该维度的所有计算。ndim较小的数组会在前面追加一个长...原创 2019-05-21 10:49:15 · 662 阅读 · 0 评论 -
Python : numpy基本切片和数据索引
“”""(1)基本的切片和索引注意:当你将一个标量值赋值给一个切片时(如arr[5:8]=12),该值会自动传播到整个选区。“”"import numpy as nparr = np.arange(7)print(arr)print(arr[5])print(arr[1:3])print(arr[1:])print(arr[:3])arr[0:2] = 13 # 在指...原创 2019-05-22 11:31:16 · 354 阅读 · 2 评论 -
Python : numpy花式切片
“”""花式切片“”"import numpy as nparr = np.arange(12).reshape(3,4)print(arr)print(arr[:]) # 等同于print(arr)print("*"*20)注意下面两个的区别:print(arr[2:3]) # 行:2–2行,列:0–3列print(arr[2,3]) # 取行2,列3,交集元素...原创 2019-05-22 14:55:23 · 878 阅读 · 2 评论 -
Python : numpy布尔型索引
“”"布尔型索引通过布尔型索引选取数组中的数据,将总是创建数据的副本,即使返回一模一样的数组也是如此“”"import numpy as npnames = np.array([“A”,“B”,“C”,“A”])print(names==“A”)“”"布尔型数组可用于数组索引注意:布尔型数组的长度必须跟被索引的轴长度一致“”"arr = np.random.rand(4,3)...原创 2019-05-22 14:56:17 · 1482 阅读 · 3 评论 -
Python : numpy花式索引
import numpy as nparr = np.arange(36).reshape(3,3,4)print(arr)只有一个[]的数组是基本的索引print(arr[2,0,1]) # 单元素print(arr[2,0]) # 第二个数组的第0行print("*"*30)花式索引传入的数组用两个以上的[]print(arr[[1,0,1]]) # 双[]...原创 2019-05-23 10:55:08 · 795 阅读 · 0 评论 -
Python : numpy数组转置
import numpy as np“”""转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)转置方法有.T()、.transpose()和.swapaxes().transpose()与T和swapaxes()的关系:在transpose()的基础上分化出T()和swapaxes()。ps:transpose是转置的意思,pose是姿势的意思。swap是交换,ax...原创 2019-05-23 10:56:02 · 1418 阅读 · 0 评论 -
Pytho : 算法-选择排序
找到最小元素def FindSmall(list):min = list[0]for i in range(len(list)):if list[i] < min:min = list[i]return min选择排序def Select_Sort(list):newArr = []for i in range(len(list)):minValue = FindSma...原创 2019-05-27 17:44:36 · 129 阅读 · 0 评论 -
Python : 简单绘制直线
import matplotlib.pyplot as pltimport numpy as np画线a=[1.2,2.3,3.4,4.4]plt.plot(np.array(range(len(a))),a,"–")plt.plot([1,6,3,2,5,9],"-…")plt.show()原创 2019-05-27 17:48:27 · 14144 阅读 · 0 评论 -
Python : 名片管理系统(代码)
“”"1.定义主程序框架2.欢迎界面3.3个分支功能3.1新建名片3.2查询所有3.3搜索名片4.0关闭退出“”"import cards_itoolswhile True:# TODO 选择界面cards_itools.cards_menu()char_str = input(“请输入您选择的操作:”)print(“您输入的选择是:【%s】” % char_str)...原创 2019-05-23 15:32:32 · 1540 阅读 · 0 评论 -
Python : 名片管理系统(函数定义)
cards_list = []显示界面def cards_menu():print("*“50)print(“欢迎使用【名片管理系统V1.0】”)print()print(“1.新建名片”)print(“2.显示全部”)print(“3.搜索名片”)print("”*50)print(“0.关闭退”)1.新建名片def cards_new():name = input(“...原创 2019-05-23 15:33:42 · 643 阅读 · 1 评论 -
Python : 聚类分析K-means
import randomfrom kmeans_tools import Cluster, get_distance, gen_random_sampleimport matplotlib.pyplot as pltfrom matplotlib import colors as mcolorsdef kmeans(samples, k, cutoff):“”"kmeans函数“”...原创 2019-05-27 22:59:49 · 1112 阅读 · 0 评论 -
Python : 正则表达式re --基础函数match
“”""match()传入要匹配的字符串以及正则表达式,就可以检测这个正则表达式是否匹配字符串。match()方法会尝试从字符串的起始位置匹配正则表达式,如果匹配,就返回匹配成功的结果,如果不匹配,就返回None。“”"import rea = “Book:ps125689589 Corporation:sayhello”result = re.match(“Book:\w{8}”...原创 2019-05-28 09:57:14 · 171 阅读 · 0 评论 -
Python : 算法快速排序
def Quick_Sort(list):if len(list) < 2:return listelse:temp = list[0]less = [i for i in list[1:] if i <= temp]more = [i for i in list[1:] if i > temp]return Quick_Sort(less) + [temp] + ...原创 2019-05-28 09:59:10 · 112 阅读 · 0 评论 -
Python : pandas基础(一)
import pandas as pdimport numpy as np引入数据xx=r"D:\lx-numpy\xs1.xlsx"a=pd.read_excel(xx)print(a.head(10))Series函数s = pd.Series([1,2,3,5,np.nan,8,13])print(s)DataFrame函数df = pd.DataFrame(np.ran...原创 2019-05-31 15:30:24 · 193 阅读 · 0 评论 -
Python : 爬虫requests爬取及输出方式
import requests“”"获取网页内容“”"URL = ‘https://sports.163.com/nba/’r=requests.get(URL,params={‘wd’:‘猛龙’})print(r.url) # 输出网址print(r.text) # 返回正常的网页内容, 即解压解码之后的内容print(r...原创 2019-05-31 15:33:22 · 1717 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--发送请求
发送请求使用 Requests 发送网络请求非常简单。一开始要导入 Requests 模块:import requests然后,尝试获取某个网页。本例子中,我们来获取 Github 的公共时间线:r = requests.get(‘https://api.github.com/events’)现在,我们有一个名为 r 的 Response 对象。我们可以从这个对象中获取所有我们想要的信...原创 2019-05-31 16:01:50 · 119 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--传递 URL 参数
传递 URL 参数你也许经常想为 URL 的查询字符串(query string)传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=va...原创 2019-05-31 16:03:05 · 819 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--响应内容
响应内容我们能读取服务器响应的内容。再次以 GitHub 时间线为例:import requestsr = requests.get(‘https://api.github.com/events’)r.textu’[{“repository”:{“open_issues”:0,“url”:"https://github.com/…Requests 会自动解码来自服务器的内容。大多数 u...原创 2019-05-31 16:03:54 · 196 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--二进制响应内容
二进制响应内容你也能以字节的方式访问请求响应体,对于非文本请求:r.contentb’[{“repository”:{“open_issues”:0,“url”:"https://github.com/…Requests 会自动为你解码 gzip 和 deflate 传输编码的响应数据。例如,以请求返回的二进制数据创建一张图片,你可以使用如下代码:from PIL import Ima...原创 2019-05-31 16:04:50 · 1415 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--JSON 响应内容
JSON 响应内容Requests 中也有一个内置的 JSON 解码器,助你处理 JSON 数据:import requestsr = requests.get(‘https://api.github.com/events’)r.json()[{u’repository’: {u’open_issues’: 0, u’url’: 'https://github.com/…如果 JSON...原创 2019-05-31 16:05:36 · 481 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--原始响应内容
原始响应内容在罕见的情况下,你可能想获取来自服务器的原始套接字响应,那么你可以访问 r.raw。 如果你确实想这么干,那请你确保在初始请求中设置了 stream=True。具体你可以这么做:r = requests.get(‘https://api.github.com/events’, stream=True)r.raw<requests.packages.urllib3.resp...原创 2019-05-31 16:06:18 · 708 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--定制请求头
定制请求头如果你想为请求添加 HTTP 头部,只要简单地传递一个 dict 给 headers 参数就可以了。例如,在前一个示例中我们没有指定 content-type:url = ‘https://api.github.com/some/endpoint’headers = {‘user-agent’: ‘my-app/0.0.1’}r = requests.get(url, head...原创 2019-05-31 16:07:04 · 1355 阅读 · 0 评论 -
Pyhon : 爬虫Requests基础--更加复杂的 POST 请求
更加复杂的 POST 请求通常,你想要发送一些编码为表单形式的数据——非常像一个 HTML 表单。要实现这个,只需简单地传递一个字典给 data 参数。你的数据字典在发出请求时会自动编码为表单形式:payload = {‘key1’: ‘value1’, ‘key2’: ‘value2’}r = requests.post(“http://httpbin.org/post”, data=pa...原创 2019-05-31 16:08:20 · 374 阅读 · 1 评论 -
Pyhon : 爬虫Requests基础--POST一个多部分编码(Multipart-Encoded)的文件
POST一个多部分编码(Multipart-Encoded)的文件Requests 使得上传多部分编码文件变得很简单:url = ‘http://httpbin.org/post’files = {‘file’: open(‘report.xls’, ‘rb’)}r = requests.post(url, files=files)r.text{…“files”: {“file”...原创 2019-06-01 18:51:54 · 391 阅读 · 0 评论 -
Python : Python自省
自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如type(),dir(),getattr(),hasattr(),isinstance().a = [1,9,3]b = {‘a’:1,‘b’:5,‘c’:3}c = Trueprint type(a),type(b),type©<type ‘list’> <type...原创 2019-06-12 20:02:07 · 155 阅读 · 0 评论 -
Python : Python中单下划线和双下划线
class MyClass():… def init(self):… self.__superprivate = “Hello”… self._semiprivate = “, world!”…mc = MyClass()print mc.__superprivateTraceback (most recent call ...原创 2019-06-12 20:04:10 · 278 阅读 · 0 评论 -
Python : 字符串格式化:%和.format
.format在许多方面看起来更便利.对于%最烦人的是它无法同时传递一个变量和元组.你可能会想下面的代码不会有什么问题:“hi there %s” % name但是,如果name恰好是(1,2,3),它将会抛出一个TypeError异常.为了保证它总是正确的,你必须这样做:“hi there %s” % (name,) # 提供一个单元素的数组而不是一个参数...原创 2019-06-12 20:05:36 · 170 阅读 · 0 评论 -
Python : 迭代器和生成器
问: 将列表生成式中[]改成() 之后数据结构是否改变?答案:是,从列表变为生成器.L = [xx for x in range(10)]L[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]g = (xx for x in range(10))g<generator object at 0x0000028F8B774200>通过列表生成式,可以直...原创 2019-06-12 20:07:31 · 127 阅读 · 1 评论 -
Python : *args and **kwargs
用*args和**kwargs只是为了方便并没有强制使用它们.当你不确定你的函数里将要传递多少参数时你可以用*args.例如,它可以传递任意数量的参数:def print_everything(*args):for count, thing in enumerate(args):… print ‘{0}. {1}’.format(count, thing)…...原创 2019-06-12 20:08:29 · 130 阅读 · 1 评论