Python基础语法
介绍Python基础语法知识。
心际花园
编程的主题是人如何处理信息的。编程就像一个迷宫,有无穷无尽的歧路,在其中的体验是有趣的。不必惆怅编程的无限性,重要的是体验过程,而不仅仅是获得结果。
展开
-
如何去掉复制mobi文件代码里的一些符号
字符串的基础用法原创 2022-10-17 10:59:44 · 633 阅读 · 0 评论 -
python写入word文档中,中文出现乱字符
今天将python编辑好的中文写入word文档中,结果有的中文出现乱字符。找了不少方法,最后解决方法如下import docxword1 = str(first_p) # first_p 和last_p是编辑好的中文内容word2 = str(last_p)file=docx.Document() #创建内存中的word文档对象file.add_paragraph(word1)file.add_paragraph(word2)file.save(f'文档.docx')...原创 2022-04-15 15:09:15 · 2286 阅读 · 1 评论 -
图片处理:横排合并后压缩图片
import numpy as npfrom PIL import Imageimport os# 读取图片位置img01 = '路径//01.png'img02 = '路径//02.png'# 打开图片imgopen01 = Image.open(img01)imgopen02 = Image.open(img02)# 将图片存入列表new_images = list((imgopen01,imgopen02))# 建立一个新列表,稍后将更改过图片尺寸后的图片存入其中res原创 2022-02-17 11:19:18 · 1580 阅读 · 0 评论 -
DataCamp中Introduction to Python之Python Basics练习
DataCamp的Introduction to Python之Python Basics是一些比较基础的练习,可以很快掌握。原创 2021-12-30 09:11:01 · 1382 阅读 · 0 评论 -
python批量删除excel里的0
通过python查找第31行从第2列到14列的数字,如果数字为0,则删除掉。方法1:直接赋值为空值import numpy as npdef del_0(): for i in range(2,14): cell_value =sheet1.cell(row=31, column=i).value if cell_value == 0: sheet1.cell(31, i).value=" "方法:直接赋值为Noneimport numpy as原创 2021-06-03 14:42:01 · 1721 阅读 · 0 评论 -
《Learn python3 the hard way》ex44
类与类之间的关系是什么样子的?继承和组合。继承是 is-a 的关系,子类 is-a 父类组合是 has-a 的关系, 类B调用类A的方法,或调用模块继承和组合的目的都是为了解决代码复用的问题。继承和组合的使用场景是什么?或者说何种场景下选择继承或组合呢?尽量不要使用多态继承。不是不可以使用继承,但要避免一个类继承了太多的类。使用组合将代码打包,形成模块。这样模块可以反复使用。组合优先,继承靠后。不要被以上规则约束,尽量适应你团队里的习惯。继承继承就是子类继承父类的原创 2021-02-26 12:09:05 · 128 阅读 · 0 评论 -
《Learn python3 the hard way》ex42到ex43总结
ex42对象分为类对象和实例对象。类对象是用class命名时就生成了一个类对象;实例对象简称对象,是当实例化时生成的对象。## Animal is-a object class Animal(object): def __init__(self): self.legs = 4 self.tail = 1 ## Dog is-a Animalclass Dog(Animal): def __init__(self, name)原创 2021-02-25 16:59:45 · 227 阅读 · 0 评论 -
《Learn python3 the hard way》ex40到ex41总结
ex40讲述库,类和对象的关系库像字典,类像库,对象像导入(import)从一堆东西中取出一些东西的方法有三个:字典、库和类。ex41学习面向对象class 告诉Python建立一个事物的新类型(type)object 有两个意思,一个是事物最基本的类型(type),一个是事物的任何实例instance 当你告诉Python去创建一个类时你得到的东西def 在类里定义一个方法self 在类的方法里,self是一个变量,目的是让实例或对象访问。inheritance 一个类可以从其他类里原创 2021-02-24 14:23:52 · 223 阅读 · 0 评论 -
《Learn python3 the hard way》ex034到ex039总结
ex34讲述列表list, list的从左到右的开始序号是0,从右到左的开始序号是-1。ex35从一个小游戏练习if、while和函数。exit()是sys的方法,exit(0)是离开程序。ex36讲述if…else和while、for的规则。ex37回顾以前的关键字、数字类型、转义符、格式化字符、运算符,并试着去读别人的代码。ex38讲了列表list的几个方法,append(), pop(), 列表的切片;字符串的几个方法, split(), join()。append()定义:原创 2021-02-23 11:58:34 · 103 阅读 · 0 评论 -
《Learn python3 the hard way》ex27到ex33总结
ex27和ex28布尔运算有6种布尔比较运算符 == != >= <= < > 和逻辑运算符 and or not输入可以比较的字符串、数字、布尔值等。方法:通过比较运算符和逻辑运算符进行比较输出是True和False。应用场景:if语句等。ex29学习条件语句 if定义:if语句是只要…就执行…输入:条件为真时要执行的语句方法:if判断是否为真输出:为真则执行该语句,为假则不执行。应用场景:需要执行判断的场景中,比如外卖订单数量和外卖员数量的比较,由此执行不原创 2021-02-22 10:41:15 · 132 阅读 · 0 评论 -
《Learn python3 the hard way》ex23到ex26总结
ex23讲述编码encode和解码decode, 记住“DBES”,也就是“Decode Bytes Encode Strings”(解码字节,编码字符串)。bytes(字节)通过decode成为字符串,字符串通过encode成为字节。ex24复习以前内容注意多个数值赋值给一个变量,这个变量加*变成fromat的多个参数,赋值给前面的{}里。formula = secret_formula(start_point)print("We'd have {} beans, {} jars, {} c原创 2021-02-20 16:37:47 · 151 阅读 · 0 评论 -
《Learn python3 the hard way》ex18到ex22总结
ex18到ex21讲的是函数,包括参数传递,和文件、argv库连接,return的使用。ex18开始讲函数,其中的参数可以有多个参数,两个参数,没有参数。注意多个参数的赋值方法def print_two(*args): arg1, arg2 = argsex19 说的是函数参数可以是数字,也可以是变量。ex20 将argv、函数和文件操作联系在一起。这是learn python3 the hard way的一个特点,输出新知识点的时候,将新知识点和老知识点联系起来。另外注意按行读取的方法r原创 2021-02-18 13:28:49 · 128 阅读 · 0 评论 -
《Learn python3 the hard way》ex015到ex017总结
ex15到ex17讲的是文件的操作,包括打开,读取,清除,写入,检查文件是否存在,关闭。ex15讲的是如何打开文件open(),读取文件read()ex16讲的是以写入方式打开文件open(,‘w’),清除文件truncate(),写入文件write(), 关闭文件close()ex17讲的是如何通过python拷贝文件内容到另一个文件内。注意在powershell里通过echo命令添加文件内容,是在windows的系统默认的notepad里添加的,通过这种方式添加文件内容,再执行会报错。要在not原创 2021-02-18 10:29:59 · 78 阅读 · 0 评论 -
《Learn python3 the hard way》ex11到ex14总结
《Learn python3 the hard way》的ex010到ex014是input()函数、sys库里的argv方法使用,以及对f格式化、print()函数式、print(end=' ')的练习。f格式化、print()函数式、print(end=' ')可以看上一篇文章《 ex01到ex010总结》input()函数input是输入函数,你可以输入字符串、数字等内容。sys库里的argv方法使用sys库里的argv方法,可以对多个变量进行赋值,在执行程序时,需要输入python ex.原创 2021-02-10 17:14:27 · 80 阅读 · 0 评论 -
《Learn python3 the hard way》ex01到ex010总结
ex01到ex10涉及到print()函数、注释使用方法、数字,变量,格式化,print()函数中的end=''参数 ,转义符使用。print()函数print()函数就是把参数打印出来,里面可以放字符串,数字,变量、列表,元组,字典等等。print()函数里有一个end=' '参数,可以实现不换行,因为默认的是end='\n'注释注释在代码运行时不执行,主要是说明代码功能,在编写代码前可以先写注释,写好自己要编写的代码功能,再写具体的代码。在看别人的代码时,可以边看代码别写注释。注释有两种原创 2021-02-10 11:49:29 · 215 阅读 · 1 评论 -
learn the python3 the hard way里的ex43之丑小鸭版
学得小套路后,贵在用不同的程序去模仿和应用。这是我模仿的丑小鸭版。from sys import exitfrom random import randintfrom textwrap import dedent# set class Scene class Scene(object): def enter(self): print("There is nothing.") exit(1)# the transfer of scenesclass原创 2021-02-05 11:25:09 · 145 阅读 · 0 评论 -
解析learn the python3 the hard way里的ex43
earn the python3 the hard way里的ex43难度陡增,因为代码超过百行,里面的文字又太多,但是有不少有趣的小套路,大家也可以试着总结一下。from sys import exitfrom random import randintfrom textwrap import dedent# 如何从一个场景转到下一个场景。class Scene(object): def enter(self): print("This scene is no原创 2021-02-04 11:39:13 · 252 阅读 · 0 评论 -
《learn Python3 the hard way》ex42 对象和类
ex42主要讲的是类和对象之间的关系,鱼是一种类,鲑鱼是一种类,一条名叫张三的鲑鱼是一个实例对象。但是由于python原先的设计错误,为了弥补错误,就有了class fish(object),类fish继承自一个object的类。作者说的有点绕,其实将对象分为类对象和实例对象最省事。万物皆对象,类也是一种对象,不过是对一堆事物进行抽象的对象。另外一个知识点是class Fruit(object): def __init__(self,taste,color): self.ta原创 2021-02-01 17:32:59 · 169 阅读 · 0 评论 -
利用字典和random库做一个背诵古诗词的小程序
import randomPHRASES ={"君恩如水向东流,得宠忧移失宠愁。":"莫向尊前奏花落,凉风只在殿西头。", "锦里烟尘外,江村八九家。":"圆荷浮小叶,细麦落轻花。", "应是天仙狂醉,":"乱把白云揉碎。", "安得五彩虹,":"驾天作长桥。", "对酒当歌,人生几何!":"譬如朝露,去日苦多。", "山不厌高,海不厌深。":"周公吐哺,天下归心。" }# keep go原创 2021-01-28 15:19:09 · 493 阅读 · 0 评论 -
类对象和实例对象的使用
类对象支持两种操作:属性引用和实例化。实例对象唯一操作是属性引用,有两种有效的属性名称,数据属性和方法。In [15]: class Animals(): ...: name = "cat" ...: age = 7 ...: ...: def __init__(self): ...: self.name = "dog" ...: self.color = "white" ...:原创 2021-01-27 11:18:25 · 582 阅读 · 0 评论 -
类对象和实例对象的概念
类对象: 就是类本身实例对象: 由类实例化出来的对象In [3]: class Animals(): ...: def __init__(self): ...: self.word = "You are a cat." ...: In [4]: print(Animals)<class '__main__.Animals'>In [5]: a = Animals()In [6]: print(a)<__main__.Animals objec原创 2021-01-27 11:15:37 · 1254 阅读 · 0 评论 -
实现文本换行和加上标记
# change_note# 笔记里有◆ 和▪ 则换行。# 功能:# 1. 读取文件# 2. 将 ◆ 和▪ 替换为\n ,并加上标记。# 3. 写入文件。# 4. 关闭文件。from datetime import datetimefile = open("maozedong.txt","r+",encoding="utf-8")str01= file.read()# replace("\n","\r☆\n\n")实现回行加五角星在回两次行。str02=str01.rep...原创 2020-12-24 10:30:24 · 209 阅读 · 0 评论 -
练习《learn Python3 the hard way》(Zed Shaw)ex25无法导入模块
《learn Python3 the hard way》(Zed Shaw)ex25中需要import ex25,但是在cmd里,python编译器里都无法运行。只能在powershell运行,要先进入到ex25所在的文件夹,再输入python,即可运行。原创 2020-12-16 09:41:30 · 122 阅读 · 0 评论 -
‘gbk‘ codec can‘t decode byte 0xff in position 0: illegal multibyte sequence 怎么办
打开txt文件时,出现'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence在python前面,加#-*- coding : utf-8 -*-# coding: utf-8结果不行。把读取格式改成word=open('d:/ex/china.txt','r',encoding='"unicode_escape"')spyder里处理的结果是 'ÿþ\n\x00\n\x00I\x00 \原创 2020-12-06 09:15:22 · 7370 阅读 · 1 评论 -
以pyperclip为例,说明从PyPI下载的.tar.gz的文件如何安装
因为网速太卡,从pyperclip · PyPI下载pyperclip将其解压,解压后的生成dist文件,将dist文件里的压缩附件剪切到cmd里可以直接执行的文件下。打开cmd ,输入pip insatll pyperclip-1.8.1.tar\安装成功。原创 2020-12-01 09:48:14 · 605 阅读 · 0 评论 -
代码练习:打印今天是哪天,并确定是否工作
# 打印今天是哪天,并确定是否工作。from datetime import datetimeweek=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']a= eval(datetime.today().strftime('%w'))today=week[a-1]print(f"Today is {today}!")if today =="Saturday": print('原创 2020-11-27 17:19:31 · 66 阅读 · 0 评论 -
spyder 里 No module named ‘wordcloud‘怎么办
问题在Visual Studio Code里使用wordcloud没问题,但是在spyder和jupyter notebook 里却是 No module named 'wordcloud’怎么办?解决办法在spyder里import sysprint(sys.executable)D:\soft\anaconda\python.exe在cmd里结果成功搞定!...原创 2020-11-25 10:20:46 · 3539 阅读 · 0 评论 -
批量修改文件名称,为文件添加上该文件的创建时间
# 批量修改目录下文件名称# 输入:子目录下文件# 输出:文件名称修改为所有文件+创建时间import os,timefrom datetime import datetimepath=input('请输入文件路径(结尾加上/):') # 获取该目录下所有文件名称,以字符串形式存入列表中fileList=os.listdir(path)n=0for i in fileList: # 设置旧文件名(就是路径+文件名) oldname=path+原创 2020-11-24 14:14:20 · 1922 阅读 · 1 评论 -
从datetime库导入timedelta,出现cannot import name ‘timedleta‘ from ‘datetime‘
学习微软课程代码from datetime import datetime,timedletatoday = datetime.now()print('Today is ' + str(today))# timedelta is used to define a period of timeone_day =timedelta(days=1)yesterday = today-one_dayprint('Yesterday was: ' + str(yesterday))结果出现错误原创 2020-11-24 10:14:44 · 1947 阅读 · 0 评论 -
安装jieba词库后,spyder无法识别怎么办?
在spyder中导入jieba,出现错误,怎么办?打开Anaconda Prompt,再重新装一遍jiebapip intsatll jieba再在spyder导入jieba,搞定。原创 2020-11-16 10:54:20 · 1429 阅读 · 1 评论 -
拆解计算不定长度数字的平均值、方差、中位数的代码
# 获取用户不定长度的输入def getNum(): nums = [] iNumStr = input("请输入数字(回车退出):") while iNumStr !="": nums.append(eval(iNumStr)) iNumStr = input("请输入数字(回车退出):") return nums# 计算平均值def mean(numbers): s = 0.0 for num in number原创 2020-11-13 09:08:16 · 396 阅读 · 0 评论 -
拆解N的5位质数
# 获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。# 注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。# 几个功能块# 判断数字是否小于2# 判断是否为质数,质数为True# 判断是否为整数# 打印数字,并加上逗号def prime(原创 2020-11-11 14:30:05 · 373 阅读 · 0 评论 -
pandas中DataFrame的.ix不能用怎么办
pandas中DataFrame的ix已经不能使用d.iloc也不能使用只有.loc可以使用原创 2020-10-28 10:56:36 · 7212 阅读 · 0 评论 -
拆解汉诺塔代码
count=0def hanoi(n,src, dst, mid): global count if n == 1: print(f"{1}:{src}->{dst}") count+=1 else: hanoi(n-1,src,mid,dst) #第一步:n-1阶从A→B print(f"{n}:{src}->{dst}") #第二步:第n个从A→C count+=1原创 2020-11-10 09:12:50 · 105 阅读 · 0 评论 -
拆解七段管代码
import turtle,timedef drawGap(): turtle.penup() turtle.fd(5)def drawLine(draw): # 处理单个行 drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40) drawGap() turtle.right(90)def drawDigit(digit): # 处理单个字符 dra原创 2020-11-10 08:44:11 · 159 阅读 · 0 评论 -
让马云恐惧的《网络小额贷款业务管理暂行办法(征求意见稿)》究竟说了什么?请看词云
日前,中国银保监会会同中国人民银行等部门起草了《网络小额贷款业务管理暂行办法(征求意见稿)》。在发布前,马云等被约谈,在发布后,蚂蚁金服暂缓上市,这部意见稿究竟说了什么?#GovRptWordCloudv5.pyimport jiebaimport wordcloudf = open("网络小额贷款业务管理暂行办法.txt", "r", encoding = "utf-8")t = f.read()f.close()ls = jieba.lcut(t)txt = " ".join(ls)原创 2020-11-05 14:17:41 · 587 阅读 · 0 评论 -
十四五规划建议的词云
日前,国家出台了《中共中央关于制定国民经济和社会发展第十四个五年规划和二〇三五年远景目标的建议》,下面就十四五规划建议做个词云#GovRptWordCloudv4.pyimport jiebaimport wordcloudf = open("十四五规划建议.txt", "r", encoding = "utf-8")t = f.read()f.close()ls = jieba.lcut(t)txt = " ".join(ls)w = wordcloud.WordCloud( fon原创 2020-11-05 14:02:58 · 1036 阅读 · 2 评论 -
str.strip(chars)的理解
从str中去掉在其左侧和右侧chars中列出的字符输入:字符串,要去掉的字符串输出:去掉在其左侧和右侧chars中列出字符的字符串注意:无论是正序还是逆序,chars必须在str是连续的,如果不连续,则无法去除。下面举例“= python=”.strip(" =np") # 去除np和=以及空格‘ytho’“= python=”.strip("=n p")‘ytho’“= python=”.strip("=np") # 因为p左边有空格,p和=之间不连续,所以无法原创 2020-11-04 10:58:48 · 1686 阅读 · 0 评论 -
好玩的Python库:MyQR,二维码生成第三方库
MyQR是一个二维码生成第三方库,可以生成普通二维码,彩色二维码,和动态二维码,后两者本质上是把网址和图片结合在一起。网址https://github.com/sylnsfar/qrcode/blob/master/README-cn.md英文看不懂,可以直接转成中文的。装库在cmd命令行里输入‘pip install myqr’,即可使用网站上有详细的解说,我就不重复了,直接看即可,需要说明的是,要在cmd里输入命令行。比如myqr https://github.com/sylnsfa原创 2020-10-13 15:38:26 · 666 阅读 · 0 评论 -
霍兰德人格分析雷达图的两个坑
#HollandRadarDraw.pyimport numpy as npimport matplotlib.pyplot as plt import matplotlibmatplotlib.rcParams['font.family']="SimHei"radar_labels = np.array(['研究型(I)','艺术型(A)','社会型(S)',\ '企业型(E)','常规型(C)','现实型(R)'])data = np.arr原创 2020-10-13 11:32:42 · 4658 阅读 · 6 评论