python基础小结

编辑本文

目录

(一)python环境准备

 1、python安装

 2、虚拟环境安装

 3、修改pip镜像源

 4、运行python程序

(二)python语法

1、数据类型

2、数据操作(方法)

3、python理论特点

4、函数

5、类

6、框架、系统

7、多任务

8、装饰器

9、迭代器、生成器


正文

(一)python环境准备

1、python安装

python3安装在Linux上:https://www.cnblogs.com/andy9468/p/10437344.html

2、虚拟环境安装

安装虚拟环境:https://www.cnblogs.com/andy9468/p/10437344.html

windows上安装python虚拟环境

3、修改pip镜像源

pip升级

python修改镜像源

4、运行python程序

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

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

 

 

(二)python语法

1、数据类型

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

编辑本文

2、数据操作(方法)

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()  # 按照行( , , )分割字符串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           #  交集

3、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


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

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

python的应用场景

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

4、函数

5、类

6、框架、系统

7、多任务

8、装饰器

9、迭代器、生成器

原文地址:https://www.cnblogs.com/andy9468/p/11575723.html