Python基础语法
Felix-微信(Felixzfb)
字节跳动数据分析工程师,个人微信AXiaShuBai。加微信,进Python小伙伴群。
展开
-
Python中文编码的问题(UTF-8和CP936的区别)
对于python中中文无法显示,可在首行添加以下代码即可:# coding=utf-8# -- coding: utf-8 --# -- coding: cp936 --最常用就是,一般采用# 注释。只需要在代码首行加上:就可以正常中文显示# coding=utf-8或者# -- coding: utf-8 -- (将编码转换成utf-8格式,支持中文显示,但是三个...原创 2019-02-21 19:48:07 · 12975 阅读 · 2 评论 -
Python中random.random()和random.Random()的区别是什么?
Python是完全面向对象的,因此所有的数据都是对象random.random()生成0和1之间的随机浮点数float,它其实是一个隐藏的random.Random类的实例的random方法。random.Random() 生成random模块里得Random类的一个实例,这个实例不会和其他Random实例共享状态,一般是在多线程的情况下使用。random.random()生成0和1之间的随...原创 2019-02-21 20:48:11 · 17597 阅读 · 0 评论 -
Python import 上级目录中的模块
一般加上这段代码即可import syssys.path.append("..") #把上级目录加入到变量中from module_name import class_name或者直接模块import module_name参考博文:https://blog.csdn.net/songbinxu/article/details/80289489Python父目录、子目录相互调用...原创 2019-01-30 19:23:14 · 5639 阅读 · 0 评论 -
Python中的set()函数使用
描述set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。语法set 语法:class set([iterable])参数说明:iterable – 可迭代对象对象;返回值返回新的集合对象。实例以下实例展示了 set 的使用方法:# set()函数使用方法x = set('world')y = set('goole')...原创 2019-02-27 22:24:37 · 19038 阅读 · 1 评论 -
Python中的if __name__ == '__main__' 彻底理解?一文看懂
name 是当前模块名,当模块被直接运行时模块名为 main 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。程序入口对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也...原创 2019-02-18 21:39:47 · 2021 阅读 · 0 评论 -
Requests请求得到的网页乱码问题
Requests一般请求得到的内容都没有问题,但是有时候还是会出现乱码问题使用以下几行代码可以轻松解决问题:方法1:推荐使用Requests 会自动解码来自服务器的内容。大多数 unicode 字符集都能被无缝地解码。请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测。当你访问 r.text 之时,Requests 会使用其推测的文本编码。你可以找出 Reque...原创 2019-02-28 15:55:11 · 2131 阅读 · 0 评论 -
Python导入模块错误:No module named '__main__.HtmlDownloader'; '__main__' is not a package
先看文件结构按道理说:文件夹内也创建了__init__.py文件,使用相对路径导入没有问题,但是运行还是报错。解决方法: 将相对路径改成绝对路径from SpiderNode.HtmlDownloader import HtmlDownloaderfrom SpiderNode.HtmlParser import HtmlParser运行正常。补充:有些博客提到修改绝对路径还是不...原创 2019-03-01 16:18:50 · 17187 阅读 · 1 评论 -
Python 字符串(str)和列表(list)的互相转换(取图片链接地址末尾作为文件名称)
字符串和列表的转换l1 = ['a', 1, 'b', 2]l2 = [str(i) for i in l1]print(l2)l3= ''.join(l2)print(l3)输出结果['a', '1', 'b', '2']a1b2用网址最后几位编号作为图片的名称# 用网址最后几位编号作为图片的名称root_url = 'https://b.porngals4.com/m...原创 2019-03-06 21:06:25 · 1290 阅读 · 0 评论 -
Python中字符串前面加u,r,b,的含义
1、字符串前加 u例:u"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。PS:不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行。一般英文字符在使用各种编码下,,基本都可以正常解析, 所以一般不带u。建议:一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一...原创 2019-03-15 10:42:22 · 548 阅读 · 0 评论 -
Python中json文件处理的四个函数json.dumps()、json.loads()、json.dump()和json.load()的区分
1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json数据类似字典格式,但是可以看做字符串类型)(1)json.dumps()函数:是将一个Python数据类型列表,进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)import json# json.dumps()函数的使用,将字典类型数据转化为字符串...原创 2019-03-12 20:00:51 · 625 阅读 · 0 评论 -
汉字是两个字节吗?(非也,汉字字节与编码格式有关)
英文字母和中文汉字在不同字符集编码下的字节数英文字母字节数 : 1;编码:GB2312字节数 : 1;编码:GBK字节数 : 1;编码:GB18030字节数 : 1;编码:ISO-8859-1字节数 : 1;编码:UTF-8字节数 : 4;编码:UTF-16字节数 : 2;编码:UTF-16BE字节数 : 2;编码:UTF-16LE中文汉字字节数 : 2;编码...原创 2019-03-26 09:54:44 · 2011 阅读 · 0 评论 -
Python打开文件编码出现:无法找到编码问题
有时候文件打开时出现类似以下问题:python UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0终极方法使用二进制读取文件with open(filepath, 'rb') as f: data = f.read()知道编码格式,指定编码格式with open(filepath,...原创 2019-08-29 10:01:40 · 1555 阅读 · 0 评论 -
Python中【yield】使用浅析
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常...原创 2019-01-29 16:29:30 · 202 阅读 · 0 评论 -
Python3——format——格式化函数的使用(格式化数字的方法)
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。**实例1:默认位置参数**>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序'hello worl...原创 2019-01-28 22:10:22 · 13957 阅读 · 1 评论 -
Python3中最常用的字符串拼接方式
Python3中字符串拼接方式有很多种,但是最常用的主要为以下两种1. 使用%进行拼接(推荐使用)name = input("Please input your name: ")age = input("Please input your age: ")sex = input("Please input your sex: ")print("Information of \n\tName...原创 2019-01-28 21:52:37 · 1079 阅读 · 0 评论 -
Python3中MRO的含义及MRO算法的继承顺序
MRO(Method Resolution Order):方法解析顺序。Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中一切皆引用,这使得他不会像C++一样使用虚基类处理基类对象重复的问题,但是如果父类存在同名函数的时候还是会产生二义性,Python中处理这种问题的方法就是MRO。如何查看一个类中的方法继承顺序,可以直接打印...原创 2019-01-05 16:08:47 · 1530 阅读 · 2 评论 -
Python中的魔法函数__repr__和__str__的实质性区别(看实例秒懂)
str 和 repr 方法:是自定义类的字符串描述,这两种都是比较 Pythonic 的方式去控制对象转化为字符串的方式。调用这两个方法,返回的都是字符串。但是这两个方法又有一些区别**1 两种方法单独存在的情况**两种方法单独存在,都是返回的字符串,看以下实例class A(): def __str__(self): return "__str__"a ...原创 2019-01-06 15:16:33 · 2051 阅读 · 1 评论 -
Python中包,模块,方法的直观区别
包:package模块:module方法(函数):function基本含义**模块:**为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。**包:**包是比模块更高层的概念,模块一般是一个文件,包是一个目录,一个包中可以包含...原创 2019-01-06 21:46:24 · 311 阅读 · 2 评论 -
Python函数时间元组(struct_time)的含义和用法
Python函数用一个元组装起来的9组数字处理时间:包含的元素见下表:时间元组各个元素的含义如下:原创 2019-01-07 21:44:37 · 7439 阅读 · 0 评论 -
Python3错误:SyntaxError: unexpected EOF while parsing
Python错误SyntaxError: unexpected EOF while parsing含义是:解释器到底了度没找到它要找到的东西出现以上错误,仔细检查代码后还是没有找到错误,一般是以下原因:1 语法有问题,一般都是少了print最后的一个括号,我当时碰到是因为print(d.drop()少打了一个括号,别盲目的相信自动补全自己认真检查一下,肯定这行代码少了或者多了东西,希望有用。...原创 2019-01-07 22:05:02 · 191069 阅读 · 16 评论 -
Python3的round()函数——将浮点数保留指定的小数位数
round(x,k)x为要处理的浮点数,k指要保留的位数注意:print(round(x))#直接返回整数,不要加保留的小数点位数import time# 获取时间戳,以浮点数表示# 方法1t = time.time()# 浮点函数print(float(t))# 浮点函数,保留1位小数print(round(t, 1))上述代码输出结果:1546870590.574990...原创 2019-01-07 22:17:15 · 10415 阅读 · 0 评论 -
Python3 装饰器的的深入理解及实例参考
最初学习装饰器,经常会出现以下报错:NoneType’ object is not callable一般去掉调用函数后面的括号就可以解决。import timedef printTime(f): def wrapper(*args, **kwargs): print("Time: ", time.ctime()) return f(*args, **...原创 2019-01-09 15:05:44 · 732 阅读 · 0 评论 -
Python3 进制转换
**二进制、八进制、十进制与十六进制基本含义:**十进制:逢十进一,生活中常用的数值。二进制:逢二进一,计算机系统使用的数制,只有0和1两个数。八进制:逢八进一,采用0,1,2,3,4,5,6,7八个数字,在编程语言中通常用数字0开头表示八进制数。十六进制:逢十六进一,采用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数字,A-F分别表示十进制中的10-15,在编...原创 2019-01-09 15:20:50 · 711 阅读 · 0 评论 -
Python基础——包(Package)--模块(Module)学习心得笔记
Python基础——包(Package)–模块(Module)学习心得笔记1. 模块就是一个Python文件模块里面包含的内容函数类测试代码导入模块 car.py是一个模块 导入单个类:from car import Car 导入多个类:from car import Car, MotoCar 导入整个模块: import car 导入模块中所有的...原创 2019-01-16 10:15:08 · 349 阅读 · 0 评论 -
网页页面跳转+替换+刷新
举个栗子有3个网页页面 a,b,c如果当前页面是c页面,并且c页面是这样跳转过来的:a->b->c1:a->b->c 是通过window.location.replace("…xx/c") 此时b页面的url会被c页面代替,并且点击后退按钮时会回退到a页面(最开始的页面)2:a->b->c是通过window.location.href ("…xx/c...原创 2019-01-16 10:44:54 · 343 阅读 · 0 评论 -
Python文件打开的几种方式
访问模式 说明r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的...原创 2019-01-27 16:38:21 · 8792 阅读 · 0 评论 -
Python3中字符串、列表、数组的转换方法
list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了。list和array的不同:在进行转换之间先研究下python中list和array(np.array)的不同:1、list是python中内置的数据类型,其中的数据的类型可以不...原创 2019-01-28 21:38:53 · 4158 阅读 · 0 评论 -
关于Python的Mixin设计模式的含义
像C或C++这类语言都支持多重继承,一个子类可以有多个父类,这样的设计常被人诟病。因为继承应该是个”is-a”关系。比如轿车类继承交通工具类,因为轿车是一个(“is-a”)交通工具。一个物品不可能是多种不同的东西,因此就不应该存在多重继承。不过有没有这种情况,一个类的确是需要继承多个类呢?答案是有,我们还是拿交通工具来举例子,民航飞机是一种交通工具,对于土豪们来说直升机也是一种交通工具。对于这两...原创 2019-01-05 15:44:20 · 380 阅读 · 0 评论