python基础小结

编辑本文html

目录python

(一)python环境准备linux

 一、python安装web

 二、虚拟环境安装正则表达式

 三、修改pip镜像源算法

 四、运行python程序数据库

(二)python语法编程

一、数据类型windows

二、数据操做(方法)数组

三、python理论特色

四、函数

五、类

六、框架、系统

七、多任务

八、装饰器

九、迭代器、生成器


正文

 

 

(一)python环境准备

一、python安装

python3安装在Linux上:http://www.javashuo.com/article/p-pqmoqjbx-dk.html

二、虚拟环境安装

安装虚拟环境:http://www.javashuo.com/article/p-pqmoqjbx-dk.html

windows上安装python虚拟环境

三、修改pip镜像源

pip升级

python修改镜像源

四、运行python程序

Linux:解决nohup中不写入日志的问题

windows:在windows中:双击运行Python程序、后台运行Python程序

 

 

(二)python语法

一、数据类型

Python的八种数据类型
八种数据类型分别是:
number(数字)、string(字符串)、Boolean(布尔值)、None(空值)、
list(列表)、tuple(元组)、dict(字典)、set(集合)。

 

编辑本文

二、数据操做(方法)

https://blog.csdn.net/mdxiaohu/article/details/81811459

(2)string(字符串)操做方法

1)len(s)   # 获取字符串长度

2)s.strip("*")  # 去除s两端的*号,默认去除空格

3)s.split(",")  # 按照,号分割字符串s为list

4)s.splitlines()  # 按照行(\n,\r\n,\r)分割字符串s为list

5)"@".join(list1)  # 用@号,将list1中的元素链接成字符串

6)s.replace(oldstr, newstr, count)  # 在s字符串中,用newstr替换oldstr,共替换count次

7)s.startswith(s0)  # 判断s字符串中是不是s0字串开始的

8)s.endswith(sn)  # 判断s字串中是不是sn字串结尾的

9)s.encode("utf-8")  # 将s字串按照utf-8格式编码为二进制流

10)b.decode("utf-8")  # 将b二进制流按照utf-8解码为s字符串

 

(4)None(空值)

空值None是python里一个特殊的值。

None不能理解为0,由于0是有意义的,而None是一个特殊值。

 

(5)list(列表)——有序、数组、可重复、可变

1)添加

list1.append("endstr")

list1.insert(1,"second")

list1.extend(  ["aa", "bb"]  )   或者  list1 +   ["aa", "bb"] 

2)修改

list1[3] = "newstr"

3)查询统计

list1[3] 

list1[0:2]

"bbb"  in list1   或者  "bbb"  not in list1 

list1.index("bbb")      # 输出:bbb的下标

list1.count("bbb")      # 输出:输出列表中有多少个bbb元素

len(list1)          # 输出:输出列表中有多少个元素

4)删除

del  list1[3]

list1.pop()     删除列表中最后一个元素,并返回这个元素。

list1.remove("bbb")   删除了左边第一个“bbb”,无返回值。

list1.clear()        清空列表

 

5)遍历

①不带下标遍历

for  v in list1:

    print(v)

②带下标遍历

for  i, v in enumerate(list1):

    print(i, v)

 

6)排序

list1.sort()      升序,改变原list1

list1.sort(reverse=True)     降序,改变原list1

list1.reverse()              反转顺序,改变原list1

 或者

升序,不改变原list1
sorted(list1)
降序,不改变原list1
sorted(list1, reverse=True)

7)复制

list2=list1                  浅拷贝  

print(id(list1))
print(id(list2))

list3=list1.copy()        深拷贝

print(id(list1))
print(id(list3))

 

 

 

(6)tuple(元组)——有序、数组、可重复、不可变

(7)dict(字典)——无序、键值对、键名不可重复

1)增长

dict1["sex"]="boy"

2)修改

dict1["sex"]="girl"

3)查看统计

dict1["sex"]      # 没有sex就会报错

ret = dict1.get("sex")  # 没有sex,也不会报错

if   ret == None:

    print("没有")

else:

    print("有")

 

4)删除

dict1.pop("sex")   # 删除一个,而且返回

del dict1["sex"]   # 删除一个

dict1.clear()    #  全删

 

5)遍历

字典自己没法遍历,能够转成列表后遍历。

①遍历键k

for  k  in  dict1.keys():

     print(k)

或者

for  k  in  dict1:

     print(k)

 

②遍历值v

for  v  in  dict1.values():

     print(v)

 

③遍历键和值(k,v)

for  k, v  in  dict1.items():

    print(k,v)

延伸:dict和list比较:

(a)dict查找和插入的速度极快,不会随着k-v的增长而变慢。

(b)dict须要占用大量的内存,内存浪费多。

 

(8)set(集合)——无序,数组,无重复

1)增长建立

set1=set([1,2,3])      # 输出:{1,2,3}

set2=set((1,2,3,1,2))      # 输出:{1,2,3}

set3=set({1:"good",2:"nice"})      # 输出:{1,2}

set1.update([4,5,6])      # 输出:{1,2,3,4,5,6}      update打碎插入

set1.update("haha")      # 输出:{1,2,3,4,5,6,'h','a','h','a'}     update打碎插入

set1.add(7)   # 增长元素,add只能插入不可变元素

2)修改

3)查询

set集合没有下标索引,小标访问会报错。

4)删除

set1.remove(3)

5)遍历

①无下标遍历

for   v   in  set1:

    print(v)

②下标遍历

for   i, v   in  enumerate(set1):

    print(i,v)

 

6)并集和交集运算

bing1=set1 |  set2           #  并集

jiao2 = set1 & set2           #  交集

 

三、python理论特色

Python的发音与拼写
Python的意思是蟒蛇,源于做者喜欢的一部电视剧 (C呢?)
Python的做者是Guido van Rossum(龟叔)
Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言
Python正式诞生于1991年
Python的解释器现在有多个语言实现,咱们经常使用的是CPython(官方版本的C语言实现),其余还有Jython(能够运行在Java平台)、IronPython(能够运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译)
Python目前有两个版本,Python2和Python3,最新版分别为2.7.12和3.5.2,现阶段大部分公司用的是Python2


优势
一、简单————Python是一种表明简单主义思想的语言。阅读一个良好的Python程序就感受像是在读英语同样,尽管这个英语的要求很是严格!Python的这种伪代码本质是它最大的优势之一。它使你可以专一于解决问题而不是去搞明白语言自己。
二、易学————就如同你即将看到的同样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。强制缩进易懂。
三、免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为何Python如此优秀的缘由之一——它是由一群但愿看到一个更加优秀的Python的人创造并常常改进着的。
四、高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
五、可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部Python程序无需修改就能够在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
六、解释性————这一点须要一些解释。一个用编译性语言好比C或C++写的程序能够从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程经过编译器和不一样的标记、选项完成。当你运行你的程序的时候,链接/转载器软件把你的程序从硬盘复制到内存中而且运行。而Python语言写的程序不须要编译成二进制代码。你能够直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,而后再把它翻译成计算机使用的机器语言并运行。事实上,因为你再也不须要担忧如何编译程序,如何确保链接转载正确的库等等,全部这一切使得使用Python更加简单。因为你只须要把你的Python程序拷贝到另一台计算机上,它就能够工做了,这也使得你的Python程序更加易于移植。
七、面向对象————Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其余主要的语言如C++和Java相比,Python以一种很是强大又简单的方式实现面向对象编程。
八、可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。
九、丰富的库————Python标准库确实很庞大。它能够帮助你处理各类工做,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其余与系统有关的操做。记住,只要安装了Python,全部这些功能都是可用的。这被称做Python的“功能齐全”理念。除了标准库之外,还有许多其余高质量的库,如wxPython、Twisted和Python图像库等等。
十、规范的代码————Python采用强制缩进的方式使得代码具备极佳的可读性。

缺点
一、运行速度,有速度要求的话,用C++改写关键部分吧。
二、国内市场较小(国内以python来作主要开发的,目前只有一些web2.0公司)。但时间推移,目前不少国内软件公司,尤为是游戏公司,也开始规模使用他。
三、中文资料匮乏(好的python中文资料屈指可数)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容仍是只能看英语版。
四、构架选择太多(没有像C#这样的官方.net构架,也没有像ruby因为历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另外一个侧面说明,python比较优秀,吸引的人才多,项目也多。

 

python的应用场景

Web应用开发
操做系统管理、服务器运维的自动化脚本
科学计算
桌面软件
服务器软件(网络软件)
游戏
构思实现,产品早期原型和迭代

 

四、函数

五、类

六、框架、系统

七、多任务

八、装饰器

九、迭代器、生成器

相关文章
相关标签/搜索