Python基础

Posted 冷月葬花魂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础相关的知识,希望对你有一定的参考价值。

1.初始Python

1. pythonde 发展历史

 

 

  自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。

  Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python\'s Flying Circus)。

  ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。

 

 

  由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

2.编程语言分类

  - 编译型

  • 将代码一次性全部编译成二进制,然后进行在执行

  • 优点:执行效率高

  • 缺点:开发效率低,不能跨平台

  • 代表语言:c ,c++,java

  - 解释型

  • 逐行解释成二进制,逐行运行

  • 优点:开发效率高,可以跨平台。

  • 缺点:执行效率低

  • 代表语言:python

3.Python语言有优缺点

优点

  1. Python程序简单易懂,初学者入门容易。
  2. 开发效率高,有强大的第三方库,可以在基础库的基础上再开发,降低开发周期。
  3. 使用高级语言,编写程序无需考虑底层细节。
  4. 可移植性。
  5. 可扩展性,部分程序可用C或C++编写。
  6. 可嵌入性,可以把Python嵌入C或C++程序中。

缺点

  1. 代码不能加密
  2. 多线程支持差

4.Python2.x与3.x的区别

  1. 数据类型不同

py2       unicode        str 
py3        str           bytes

# py2中的unicode与的py3的str相对应,py2与py3中的bytes相对应

  2.默认使用解释不用

py2      ascll
py3      utf-8

  3.输入与输出

# py2
    print "Hello world"
    raw_input("Hello world")
# py3
    print("Hello world")
    input("Hello world")

  4.整除

py2   中只取整数
py3    去全部

  5.长度

# py2
    超过长度就会自动转换long
    int
# py3
    int

  6. xrange和rangede 区别

# py2
    range: 在内部会立即把所有的值都会创建
    xrange: 在内部不会立即创建的所有的值,只有在循环时,边循环边创建
# py3
    range:在内部不会立即创建的所有的值,只有在循环时,边循环边创建

  7.模块与包

# py2
    文件中必须有__init__.py
# py3
    文件中不需要,但是建议写

  8.字典

# py2:
    keys: 列表    
    values: 列表
    items: 列表
# py3
    keys: 迭代器,可以循环但不可以索引    
    values: 迭代器,可以循环但不可以索引
    items: 迭代器,可以循环但不可以索引

  9.内置函数map/filter

py2:返回列表
py3:返回迭代器,可以循环但不可以索引

  10.类中的新式类与经典类

在Python2.x中:
# 如果在python2中这样定义,则称为新式类
class Foo(object):     
    pass

# 如果在python2中这样定义,则称为经典类
class Foo:
    pass


在Python3.x中
class Foo(object):     
    pass

class Foo:
    pass
        
# 在python3中这两个的写法一样,因为所有的类默认都会继承object,全部都是新式类,经典类只存在py2中5.变量

5.变量

变量;代指一些复杂过长的数据

注意事项:

  • 变量中只能出现数字,字母,下换线

  • 数字不能做开头

  • 不能使用python的关键字

  • [\'and\', \'as\', \'assert\', \'break\', \'class\', \'continue\', \'def\', \'del\', 
    \'elif\', \'else\', \'except\', \'exec\', \'finally\', \'for\', \'from\', \'global\',
    \'if\', \'import\', \'in\', \'is\', \'lambda\', \'not\', \'or\', \'pass\', \'print\',
    \'raise\', \'return\', \'try\', \'while\', \'with\', \'yield\']
  • 变量要具有描述性

  • 不能使用中文

  • 不能过长

  • 推荐

    • 驼峰体

    • 下划线

6. 流程控制语句

基本结构

if 条件:
    结果

1.单个if

if 2 > 1:
    print(666)    
print(123)


num = int(input("请输入数字")
if num == 1:           
    print("你好")   

2. if else 二选一

age = input("请输入年龄")
if int(age) > 18:
    print("恭喜你成年了")
else:
    print("小屁孩一个")

3. if elif   

num = int(input("请输入数字"))
if num == 2:
    print("你好")
elif num == 3:
    print("你不好")
elif num == 6:
    print("你好聪明")

4. if elif else 多选一

num = int(input(\'请输入数字\'))
if num == 2:
    print("你好")
elif num == 3:
    print("烧饼")
elif num == 5:
    print("二狗")
else:
    print("你好笨呢")

5. 嵌套的if

username = input("请输入用户名")
pwd = input("请输入密码")
code = "qwer"
your_code = input("请输入验证码")
if  your_code == code:
    if username == "xiaobai" and pwd == "123":
        print("登录成功")
    else:
        print("用户名或密码错误")
else:
    print("验证码错误")

7.循环语句

1.while循环语句

1.while 循环语句的基本结构
while 条件:
    循环体

实例:

# 练习题1
while True:
    print("月亮之上")
    print("狼的诱惑")
    print("人间")
    print("庐州月")
    print("我们不一样")
# 练习题2 flag = True while flag: print("月亮之上") print("狼的诱惑") print("人间") flag = False print("庐州月") print("我们不一样") # 练习题3 循环打印1-100的所有数字 count = 1 while count < 101: print(count) count = count + 1 # 练习题4 循环打印1-100所有数字的和 count = 1 num = 0 while count < 101: num = num + count count = count + 1 print(num)
2.关键字

1. break 终止当前循环

实例一
while True:
    print("月亮之上")
    print("狼的诱惑")
    print("人间")
    break
    print("庐州月")
    print("我们不一样")
   
    
实例二
打印1-100的之间的所有偶数
count = 1
while True:
    if count % 2 == 0:
        print(count)
    if count > 100:
        break
    count = count + 1

2. continue 结束本次循环,进入下一次循环

实例一
while True:
    print("月亮之上")
    print("狼的诱惑")
    print("人间")
    continue
    print("庐州月")
    print("我们不一样")
    
 实例二
 flag = True
 while flag:
     print("月亮之上")
    print("狼的诱惑")
    print("人间")
    flag = False
    continue
    print("庐州月")
    print("我们不一样")

3. while else while循环如果被break打断,则不执行else语句。

count = 1
while True:
    print(count)
    count = count + 1
    if count > 5
        break
else:
    print(666)

2.for循环语句

1.基本格式
for 变量 in 变量

实例:

练习题
1. 实现一个整数加法计算器(多个数相加):
# 如:content = input("请输入内容:")
# 用户输入:5 + 9 + 6 + 12 + 13,然后进行分割再进行计算。
content = input("请输入内容:")
num = content.split("+")
num2 = 0
for i in num:
    num2 = int(i) + num2
print(num2)

# 2.计算1-100所有数字的和
count = 0
for i in range(101):
    count += i
print(count)

 

待续

以上是关于Python基础的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档

python 机器学习有用的代码片段