Python学习
蓝枫amy
Android开发工程师、HarmonyOS开发工程师
展开
-
Python开发工具之PyCharm的安装
Python官网:https://www.jetbrains.com/pycharm/打开开发工具,新建项目新建Python文件点击运行即可原创 2017-12-18 16:44:58 · 1053 阅读 · 0 评论 -
Python中IO编程-StringIO和BytesIO
#StringIO:在内存中读写strfrom io import StringIOf = StringIO()print(f.write('hello'))print(f.write(' '))print(f.write('world!'))#getValue()方法用于获取写入的strprint(f.getvalue())print('------------------...翻译 2018-03-23 10:50:54 · 10315 阅读 · 0 评论 -
Python中IO编程-操作文件和目录
#操作文件和目录import osprint(os.name)#如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。print('------------------------1')#要获取详细的系统信息,可以调用uname()函数:print(os.uname())print('----------------------...翻译 2018-03-23 13:53:52 · 267 阅读 · 0 评论 -
Python中IO编程-序列化
# 在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='zhoujian', age=20, score=90)# 我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling# 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上# 把变量内容从序列化的对象重新读到内存里称之为反序列化,即unp...翻译 2018-03-23 15:39:21 · 228 阅读 · 0 评论 -
Python面向对象编程-类和实例、访问限制
1.类和实例import requestsimport types#类和实例#面向对象最重要的概念就是类(Class)和实例(Instance)#必须牢记类是抽象的模板,比如Student类,#而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同#定义类是通过class关键字:class Student(object): pas...翻译 2018-03-21 11:34:15 · 341 阅读 · 0 评论 -
Python面向对象编程-继承和多态、获取对象信息、实例属性和类属性
1.继承和多态#继承和多态#在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承#新的class称为子类(Subclass),而被继承的class称为基类、父类或超类class Animal(object): def run(self): print('Animal is running')#dog 继承Animalclas...翻译 2018-03-21 13:22:13 · 317 阅读 · 0 评论 -
Python面向对象高级编程-使用__slots__、使用@property、多继承、定制类、枚举类
from types import MethodTypefrom enum import Enum#面向对象高级编程#(1)使用 __slots__print('----------------------1')#正常情况下,当我们定义了一个class,创建了一个class的实例后#我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class S...翻译 2018-03-22 10:12:52 · 305 阅读 · 0 评论 -
Python中常用第三方模块
#Pillow#安装pip sudo easy_install pip#安装Pillow sudo pip install pillow#操作图像import chardetfrom PIL import Image#打开一个图像文件mim = Image.open('/Users/zhoujian/Desktop/text.jpg')#获取图片尺寸w,h = im.siz...翻译 2018-04-09 13:43:18 · 1115 阅读 · 0 评论 -
Python中图形界面
from tkinter import *class Application(Frame): def __init__(self,master=None): Frame.__init__(self,master) self.pack() self.createWidgets() def createWidgets(self):...翻译 2018-04-09 13:50:48 · 763 阅读 · 0 评论 -
Python中网络编程
1.TCP/IP简介TCP/IP简介2.TCP编程import socket#创建一个socket#socket.AF_INET :AF_INET指定使用IPv4协议#SOCK_STREAM指定使用面向流的TCP协议s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#建立连接#80端口是Web服务的标准端口。其他服务都有对应的标准...翻译 2018-04-09 14:50:32 · 374 阅读 · 0 评论 -
Python中进程和线程-多进程
#Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊#普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次#因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。#子进程永远返回0,而父进程返回子进程的ID#这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需...翻译 2018-04-03 14:28:11 · 213 阅读 · 0 评论 -
Python中进程和线程-多线程
#多线程#Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,# threading是高级模块,对_thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块。#启动一个线程就是把一个函数传入并创建Thread实例,然后调用start()开始执行import time,threading#新线程执行的代码def ...翻译 2018-04-03 14:31:28 · 268 阅读 · 0 评论 -
Python中进程和线程-ThreadLocal
import threading#创建全局的ThreadLocal对象:#一个ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。#ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。local = threading.local()def process_student(): # 获取当前线程关联的student:...翻译 2018-04-03 14:35:08 · 357 阅读 · 0 评论 -
Python函数式编程-返回函数、匿名函数、装饰器、偏函数
import functoolsdef lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum#当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数:f = lazy_sum...翻译 2018-03-19 14:15:55 · 204 阅读 · 0 评论 -
Python中IO编程-文件读写
# (1)读文件f = open('/Users/zhoujian/Desktop/zhoujian.txt', 'r')print(f.read())f.close()print('----------------------1')#文件使用后必须关闭try: f = open('/Users/zhoujian/Desktop/zhoujian.txt', 'r') ...翻译 2018-03-22 14:03:18 · 15984 阅读 · 0 评论 -
Python基础-使用list和tuple
1.listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时删除和添加元素#student的集合studentsstudents = ['周建','周围','周瑜']print(students)#取集合中的第一个元素#print(students[0])print(students[-3])#取集合中的第二个元素#print(students[1...翻译 2018-03-05 11:12:46 · 180 阅读 · 0 评论 -
Python3之Mac安装Python
Mac安装Python及查看Python版本Mac OS已经自带了Python,查看Python版本,在Mac终端输入 python -V 就可以查看版本,Mac自带python版本是2.7.10我们也可以安装最新版本的python 方法一:python官网https://www.python.org/ 方法二:如果安装了HomeBrew,直接使用命令行brew install python3原创 2017-12-18 11:30:18 · 13509 阅读 · 0 评论 -
Python基础-条件判断
1.条件判断如果if语句判断是True,就把缩进的语句执行了,注意要写冒号a = 20if a >= 18: print('你是个成年人,年龄是',a)elif a < 18: print('你是个未成年人,年龄是',a)else: print('你是个老年人,年龄是',a)执行结果:你是个成年人,年龄是 202.inputs = input('出生年:'...原创 2018-03-07 10:56:42 · 211 阅读 · 0 评论 -
Python基础-循环
1.for循环names = ['周润发','周杰伦','周星驰']for name in names: print(name)打印结果:周润发周杰伦周星驰#range() 函数可以生成一个整数序列#通过list() 函数可以转换成listlist(range(6))print(list(range(6)))打印结果:[0, 1, 2, 3, 4, 5]#这样计算0-100数字之和...原创 2018-03-07 15:24:04 · 248 阅读 · 0 评论 -
Python基础-dict和set
1.dictPython内置了字典:dict的支持,使用键值存储,查找速度快比如说,我们要从字典里的一万个字里面查找一个字,list就相当于从字典的第一页开始,一页一页往后翻,list越大,查找越慢而dict相当于查找这个字的部首,根据部首查找字,这种查找速度就非常快d = {'周杰伦':45,'周润发': 65,'周星驰':60}print(d['周杰伦'])print(d['周润发'])...翻译 2018-03-07 16:20:51 · 209 阅读 · 0 评论 -
Python-函数
1.调用函数#要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数absprint(abs(100))print(abs(-10))print(abs(-3.14))print('---------------------')#max函数max()可以接收任意多个参数,并返回最大的那个:print(max(1,3))print(max(1,0,-1))print...翻译 2018-03-08 09:20:47 · 360 阅读 · 0 评论 -
函数式编程-高阶函数
from functools import reduce#变量可以指向函数x = abs(-10)print('x=',x)f = absy = (-10)print('y=',y)print('------------------------1')#既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数# ,这种函数就称之为高阶函数...翻译 2018-03-15 14:07:50 · 234 阅读 · 0 评论 -
Python高级特征-切片
students = ['周建','周峰','周杰','周成','周围']#取前3个元素,索引包括0,不包括3students[0:3]print(students[0:3])print('----------------------1')#取出索引为1、2的元素students[1:3]print(students[1:3])print('-----------------...翻译 2018-03-11 09:55:36 · 288 阅读 · 0 评论 -
Python高级特征-迭代
如果给定一个list或者tuple,我们可以通过for循环来遍历这个list或者tuple,这种遍历我们称之为迭代在Python中,迭代是通过for... in 来完成的,Python的for循环不仅可以用在list或者tuple上也可以用在字典dict对象上from collections import Iterable#字典 是可迭代的对象d = {'a':1,'b':2,'c':3}f...翻译 2018-03-11 11:21:02 · 226 阅读 · 0 评论 -
Python高级特征-列表生成式
#列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式#生成一个list,从1-11 包括1,不包括11 就是1-10list(range(1,11))print(list(range(1,11)))print('-------------------------1')#把要生成的元素x * x放到前面,后面跟for...翻译 2018-03-11 13:22:33 · 192 阅读 · 0 评论 -
Python高级特征-生成器
通过列表生成式,我们可以创建一个列表。但是受到内存限制,列表容量是有限的。而且,创建一个100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大数元素占用的空间都白白浪费了在Python中,这种一边循环一边计算的机制,称之为生成器:generator要创建一个generator有很多种方法,第一种方法很简单,只要把一个列表生成式的[ ]改为(),就创建了一个gen...翻译 2018-03-11 15:00:08 · 323 阅读 · 0 评论 -
Python高级特征-迭代器
可以直接用于for循环的数据类型有以下几种:一类是集合数据类型:list、tuple、dict、set、str等一类是生成器generator,包括生成器和带yield的生成器函数这些可以直接作用于for循环的对象统称为可迭代对象:Iterable可以使用isinstance() 判断一个对象是否是Iterable对象from collections import Iterablefrom co...翻译 2018-03-12 10:48:53 · 217 阅读 · 0 评论 -
Python基础-数据类型
1.整数python可以处理任意大小的整数,包括负整数。例如:1,0,-35等等计算机由于使用二进制,所以使用十六进制表示整数比较方便,十六进制使用0x为前缀和0-9,a-f表示。2.浮点数浮点数也就是小数,一个浮点数的小数点的位置是可变的,比如:1.35*10(5)和13.5*10(4)是完全相同的,浮点数可以使用数学写法,如2.45、3.14、-3.01等等,但是对于很大的或者很小的浮点数,就...翻译 2018-03-05 09:46:17 · 123 阅读 · 0 评论 -
Python中常用的内建模块
import base64# base64base64.b64encode(b'zhoujian')print(base64.b64encode(b'zhoujian'))print(base64.b64decode(b'emhvdWppYW4='))print('--------------------------1')# struct# Python提供了一个struct...翻译 2018-04-04 09:07:23 · 1010 阅读 · 0 评论