python操作笔记

********************数据类型*****************************

把10^用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5

十六进制用0x前缀

如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"
如果字符串内部既包含'又包含",可以用转义字符\来标识,比如:
'I\'m \"OK\"!'
字符串正序列1-9对应位置: 0 1 2 3 4 5 6 7 8
反之对应位置:-9 -8 -7 -6 -5 -4 -3 -2 -1

//除法只取结果的整数部分

用str()函数将其内含的单位转化为一个个分开的字符串,比如str(1.324)可转化为“1.324”的字符串

以Unicode表示的str通过.encode()方法可以编码为指定的bytes,例如:
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:

ord()可输出函数内的以Unicode形式表示的字符对应的编码值(是个数值int)
chr()可输出Unicode编码对应的字符
%d
整数
%f
浮点数
%s
字符串
%x
十六进制整数
complex(x)函数为x增加了复数部分x+0j

//另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
//

list是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

要删除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Bob', 'Tracy']
要删除指定位置的元素,用pop(i)方法

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,)
>>> t
(1,)

elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句
for<变量> in range(<函数名>)
<被循环执行语句>

函数range(x,y) 可产生从x到y-1的整数序列。

如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 67
>>> d['Adam']
67

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in d
False

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

通过add(key)方法可以添加元素到set中:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}

求绝对值的函数abs

去最外层引号的函数eval()

round(a,b)函数是将浮点数a保留b位小数。

divmod(x,y)输出 x与y的除数和余数(a,b)

.real后缀可获得该数的实部;
.imag后缀可获得该数的虚部;

x**y代表x的y次幂
pow(3,99,10000)表示3的99次幂,保留最后的四位数

几个字符串方法:
str.lower()或str.upper()——————返回字符串的副本,全部字符小写或大写
str.split(sep=None)——————返回一个列表,由st根据sep被分隔的部分组成

a = [1,2,3,4]

s1 = ', '.join(str(n) for n in a)
print(s1)

>>> 1,2,3,4

 

str = ‘0123456789’
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取

print(x, end="") end="" 可使输出不换行。

str()是python的内置函数,这个例子是把列表/元组/字符串的每个元素变成了str类型,然后以列表的形式返回
a=list(map(str,'python'))
print(a)
输出:
['p', 'y', 't', 'h', 'o', 'n']

 


 

更新:

Python 标准库笔记 — String模块:http://python.jobbole.com/88379/

import string
a = string.ascii_uppercase
b = string.ascii_lowercase
print(a)
print(b)
>>> ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz  

********************函数*****************************

函数文档
def MyFunction():
'这是函数文档'
#这是注释
print('Hello World')

>>>MyFunction().__doc__
这是函数文档

def Text(*shoujicanshu):
print(len(shoujicanshu))
这个函数可以接受输入的所以参数。如Text(1,23,4,6,7,37,2)

 

在对象里的变量前加上“__"便能将变量变为私有变量(伪私有)

如:

class Person():

  __name = "a"

p = Person() 【Person是对象】 

p.__name     #运行会报错因为"p.__name"已经变成"p._Person__name"

*******************OS模块******************************

chdir(path) 改变工作目录
getcwd() 返回当前工作目录
listdir(path=',') 列举指定目录中的文件名(','表示当前目录,'..'表示上一级目录)
mkdir(path) 创建单层目录,如该目录已存在抛出异常
makedirs(path) 递归创建多层目录,如该目录已存在抛出异常,注意:'E:\\a\\b'和E:\\a\\c'并不会冲突
remove(path) 删除文件
rmdir(path) 删除单层目录,如该目录非空则抛出异常
removedirs(path) 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
rename(old,new) 将文件old重命名为new

 

Django框架笔记:

1.要注意的是在Django中,引入path和url的区别

from django.urls import path

from django.conf.urls import url
path与url是两个不同的模块,效果都是响应返回页面,path调用的是python第三方模块或框架,
而url则是自定义的模块,如Views下的def函数对应你url中的参数值.
2.顾头式………^name

顾尾式………name$

严格头尾………^name$

3.

来到myApp文件夹中的views文件中,代码如下:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.


def third(request,a,b,name):
c = int(a)+int(b)
return HttpResponse('sum=%s,name=%s'%(c,name))
来到myApp文件夹的urls.py文件中,代码如下:

from . import views
from django.conf.urls import url
# from django.urls import path

urlpatterns = [
url(r'third/(?P<a>\d+)/(?P<b>\d+)/(?P<name>\w+)',views.third)
]

这里的(\d+)指third/后的限定所有数字,(\d){3}指third/后的限定3位数字(?P<a>\d+)将其赋值给a,可以在views.third里直接调用它

 

posted @ 2019-03-16 21:50  pirigg  阅读(138)  评论(0编辑  收藏  举报