杨嘉欣-算法方向-算法方向-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

文件

利用open()链接到电脑上某一文件

基本语法

file = open('文件名', 'mode')

mode:

r: read(打开一个文件)

w: write(往文件里写内容)

a: append(往文件里追加内容)

b: binary(操作二进制的文件)如:rb

+: 即可读又可写

myfile = open('hello.txt','w')
myfile.write('Hello World\n')
Out[25]: 13

 

f = open('hello.txt')

f.readline()# 一行一行读取

f.read() #读取全部内容

l = open('hello.txt').readlines() #将每一行分别放进列表里

防止中文变成乱码,可以提前指定编码

f=open('today.txt', 'w', encoding='utf8')

f.write('今天星期五\n')

f.write('是个好日子')

f.close()#关闭文档

 

x,y,z = 1,2,3

l = [1,2,3]

 

pickle存取python对象

dump(对象,目标文件)

load(文件)

 

d = {'a': 1, 'b':2}

f= open('datafile.pkl', 'wb'}

import pickle

pickle.dump(d,f)

f.close

f = open('datafile.pkl','rb')

data = pickle.load(f)

data['a']

data.get('b')

 

with open('file.txt') as f #最后可以不用写close()

 

 

[展开全文]
柿子 · 2020-02-22 · 解锁式学习 0

字典表dict

字典表的数据形态是怎样的?可以进行什么操作?字典表和列表很像,但是具体有什么差异呢?

字典表的声明:

字典表为了实现高效的检索,对键执行了哈希算法,所以声明字典表后排序是乱的。

1.通过{'键1': 值, '键2': 值, ... }

emp = {'name':'mike', 'age': 20, 'job': 'dev'}

2. 通过dict函数 dict(键 = 值)注意键不需要加引号

emp=dict(name= 'mike', age = 20, job = 'dev')

d['author']

定义一个字典表的键时,必须要用不可变的类型(不支持原位改变),如字符串以及数字,但不能用列表

 

获取

d.get('author')

d.get('author',0.0)#找不到则结果显示0.0

 

支持原位改变

如果要增加一个键,可以利用emp.update方法:

dep = {'department' : 'ABC'}

emp.update(dep)

如果要减少一个键,可以利用emp.pop的方法:

emp.pop('age')

 

查看

emp.keys()

emp.values()

emp.items()

返回的结果不是列表,不能进行python3默认的所有列表操作,但可以遍历:

for k in emp.keys(): print(k)

for v in emp.values(): print(v)

for k,v in emp.items(): print('{} => {}'.format(k, v))

 

嵌套

emp = {'name': {'first': 'mike', 'last' : 'jerry'},'age': 20, 'job': 'dev'}

emp.get('name')

emp['name']['first']

 

排序

方法一:将keys()放入列表

d= {'a': 1, 'b':2}

ks = list(d.keys())

ks.sort()

for k in ks: print(d.get(k))

方法二:使用全局函数sorted,可以运用在可迭代对象上

d= {'a': 1, 'b':2}

ks = d.keys()

for k in sorted(ks):

print(k, d.get(k))

 

元组tuple:

与列表的区别是原位不可改变

不支持原位改变

任意对象的集合

通过下标访问

长度固定,任意类型,任意嵌套

 

声明

(元素,)

逗号表示这是一个元组,而不是单个的值

1,2

(1,2)

1,

(1,)

(1,2)+(3,4)

 

支持遍历

t=(1,2,3,4)

res= []

for x in t: res.append(x**2)

支持推导

res= [x**2 for x in t]

 

查找

t.index(3)

统计

t.count(3)

 

namedtuple

类似于“类”定义对象模版

字典表比较松散

from collections import namedtuple

employee = namedtuple('Employee',['named', 'age', 'department', 'salary'])

jerry = employee('jerry',age=30, department= 'finance', salary=9000)

jerry.salary

 

[展开全文]
柿子 · 2020-02-22 · 解锁式学习 0

string[::-1]

'he' in s

names[names.index('Xiuxiu') = '秀秀‘

[展开全文]
柿子 · 2020-02-19 · 解锁式学习 0

在有些编程语言如C、C++中很多数据结构需要开发人员自己定义, 而python已经提前定义大部分数据类型,开发人员可以直接使用,如有特殊需求可自行定义。

 

数据类型定义了存储的是什么数据,有什么形态,可以支持什么操作。

python的数据类型与变量无关,与对象值有关。

 

列表类似与数组,但是功能更加强大。

字典表

元组,类似于列表,他们的不同之处在于元组不支持原位修改

 

数据类型之数值

声明、赋值、使用

表达式

可以进行如下几个操作:

格式化字符串

如果想要修改字符串格式,可以使用

'{0}'.format() #0只是代表占位符

#for example
f = 3.333333
'f={0:.02f}'.format(f)#.02f表示保留两位小数点

结果如下:

如果要格式化多个,则占位符不能一样

 

比较大小,返回布尔型结果

除法

10/4 #10除以4
10//4 #结果取整
10//4.0 #结果按精度高的决定,所以结果为float

取整

 可以使用math.floor()函数,但要注意正数和负数的区别(理解:向左取最近的整数)

math.trunc()函数取整向0靠近


round()四舍五入

整型:无限精度,受限于计算机内存

如果需要用十六进制、八进制、二进制表达,但不知道该怎么写,可以用以下函数转换:

八进制开头:0o

十六进制开头:0x

二进制开头:0b

 

数据类型之字符串

声明可以用单引号、双引号以及三引号

转义符:\n

忽略转义符:r'...' (r是raw的意思)

字符串不可以原位修改,需要重新赋值

[展开全文]
柿子 · 2020-02-18 · 解锁式学习 0

垃圾回收机制:自动释放未被引用的对象,内部原理是依据对象引用计数器统计的数值

 

id()可以查看储存地址,确认是否指向同一个对象

 

共享引用:多个变量引用一个对象值

利用==判断字面值是否相等

利用is操作符判断是否地址相同

 

在编程语言里,不同的数据类型还可以更合理的运用内存空间

当对象值的整数取值范围为【1,256】时,在创建变量前,每一个数字都已经被python缓存

import sys

sys.getrefcount

可以统计对象值被引用的次数

 

对象类型

核心数据类型:

1. 数字:int, float, fraction, etc.

2. 字符串(str)

3. 列表(list)

4. 字典表 (dict)

5. 元组 (tuple)

6. 文件file

7.集合(set)

8.布尔(bool:true/ false)

9. 空(None)

10. 程序单元:函数、模块和类(class)

11.其他

 

import math

math.pi

math.sqrt(85) #开平方

 

 

 

 

[展开全文]
柿子 · 2020-02-18 · 解锁式学习 0

python的运行分为两种,一种是交互式提示符,另一种是脚本方式。

(一)交互式提示符类似于windows命令提示符,先来简单地了解一下windows命令提示符的常见命令。

切换到d盘: 输入d:

要进入d盘某一个目录,输入cd+空格+文件名,cd的意思是change direction,如下:

如果要返还上一目录,则输入cd..,如下:

如要返回根目录,则输入cd\,如下:

如要显示d盘全部目录,则输入dir,如下:

 

现在来看看python的交互式提示符。

当python的环境变量设置完成后,不管现在处于哪个目录下,直接输入python,即可调用。

>>>:python的命令提示符。

 

(二)脚本方式

1.编写脚本代码,保存为*.py

2.运行脚本,使用命令提示符python+空格+文件名.py,如下:

设置好环境变量后,可以不用输入python,如下

3.保存代码运行结果:python *.py> result.txt(注意写上文件的保存路径)

python的概念层级:

 

在创建一个变量时,其命名应遵守以下规则:

1.变量名称只可包含字母、数字、下划线

2.只能以字母或下划线开头

3.不能有空格

4.避免与python关键字或函数名重复

5.简短且有描述性(易于理解及记忆)

6.区分 1, l; 0, 0

 

在python中,定义一个变量时不需要写明类型,其类型由实际对象值决定。

举个例子:

name = "tom"

系统先判定对象值"tom"为string,然后再判定name的类型为string。

在有些编程语言里,可能需要先手动设定变量的类型,再输入相应类型的对象值。

[展开全文]
柿子 · 2020-02-17 · 解锁式学习 0

(一)为什么要学习python?

1.软件质量高(代码少,调试简单,错误少)

2.开发效率高

3.可移植性

4.库支持丰富

5.组件集成

 

(二)

优势:面向过程,函数式编程,面向对象

劣势:执行速度比不上低级语言

 

(三)能做什么?

1.系统编程

2.GUI编程   

3网络脚本

4.Web(Django、Flask)

5.数据库

6.快速原型

7.数据及科学计算

等等

 

(四)以windows系统为例配置

 

[展开全文]
柿子 · 2020-02-17 · 解锁式学习 0