Python入门篇

简介: 1.1 Python介绍 1.1.1 Python简介   Python,是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆(中文名字:龟叔)创造,第一版发布于 1991 年。

1.1 Python介绍

1.1.1 Python简介

 

Python,是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆(中文名字:龟叔)创造,第一版发布于 1991 年。可以视之为一种改良 (加入一些其他编程语言的优点,如面向对象) LISP

 

作为一种解释型语言,Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。

 

数据来源:https://www.tiobe.com/tiobe-index/

由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可。相比于 C++ JavaPython 让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

1.1.2 Python设计哲学与定位

Python的设计哲学是“优雅”、“明确”、“简单”。

Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”,也因此它和拥有明显个人风格的其他语言很不一样。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。

这些准则被称为“Python格言”。在Python解释器内运行import this可以获得完整的列表。

>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

1.1.3 Python应用范围

Web程序:

         Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicorn作为Web服务器,也能够运行Python语言编写的Web程序。

Python定义了WSGI标准应用接口来协调Http服务器与基于PythonWeb程序之间的沟通。一些Web框架,如DjangoPyramidTurboGearsTornadoweb2pyZopeFlask等,可以让程序员轻松地开发和管理复杂的Web程序。

GUI开发:

         Python本身包含的Tkinter库能够支持简单的GUI开发。但是越来越多的Python程序员选择wxPython或者PyQtGUI包来开发跨平台的桌面软件。使用它们开发的桌面软件运行速度快,与用户的桌面环境相契合。通过PyInstaller还能将程序发布为独立的安装程序包。

其他:

         YouTubeGoogleYahoo!NASA都在内部大量地使用PythonOLPC的作业系统Sugar项目的大多数软件都是使用Python编写。

1.1.4 Python的种类

1CPython

   Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

1 Jython

   PythonJava实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

3IronPython

  PythonC#实现,IronPythonPython代码编译成C#字节码,然后在CLR上运行(与Jypthon类似)。

4PyPy(特殊)

 Python实现的Python,将Python的字节码字节再编译成机器码。

5RubyPython,Brython ....

注意:本文中都的为Python 3.6.2 版本:https://www.python.org/downloads/release/python-362/

关于Python环境部署可以参考:http://www.runoob.com/python/python-install.html

1.2 Python的语法

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。因为Python是动态语言,它不像其他的静态语言如CPascal那样需要书写声明语句。

1.2.1 缩进语法

Python开发者有意让违反了缩进规则的程序不能通过解释,以此来强迫程序员养成良好的编程习惯,也方便所有人查找和阅读。例如:

if age < 21:
    print("你不能买酒。")
    print("不过你能买口香糖。")
print("这句话处于if语句的外面。")

 

如果想要类似于执行shell脚本一样执行python脚本,例: ./clsn.py ,那么就需要在 clsn.py文件的头部指定解释器,如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
if age < 21:
    print("你不能买酒。")
    print("不过你能买口香糖。")
print("这句话处于if语句的外面。")

         注:上述例子为Python 3.0以上版本的代码。

1.2.2 变量说明

变量定义的规则:

1、变量名只能是 字母、数字或下划线的任意组合

2、变量名的第一个字符不能是数字

3、以下关键字不能声明为变量名

['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']

4、变量的定义要具有可描述性。

1.2.3 语句和控制流

语句类型

说明

if语句

当条件成立时运行语句块。经常与else, elif(相当于else if)配合使用。

for语句

遍列列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

while语句

当条件为真时,循环运行语句块。

try语句

except, finally, else配合使用处理在程序运行中出现的异常情况。

class语句

用于定义类型。

def语句

用于定义函数和类型的方法。

pass语句

表示此行为空,不运行任何操作。

assert语句

用于程序调适阶段时测试运行条件是否满足。

with语句

Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加锁,然后在语句块运行结束后释放锁。

yield语句

在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。

raise语句

抛出一个异常。

import语句

导入一个模块或包。常用写法:from module import name, import module as name, from module import name as anothername

1.2.4 程序交互

input进行交互

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
# 将用户输入的内容赋值给 name 变量
name = input("请输入用户名:")
  
# 打印输入的内容
print(name)

可以让用户输入多个信息,如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)

1.2.5 数据类型与动态类型

Python内置多种数据类型。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):

类型

描述

例子

str

一个由字符组成的不可更改的有序列。在Python 3.x里,字符串由Unicode字符组成。

'Wikipedia'

"Wikipedia"

"""Spanning

multiple

lines"""

bytes

一个由字节组成的不可更改的有序列。

b'Some ASCII'

b"Some ASCII"

list

可以包含多种类型的可改变的有序列

[4.0, 'string', True]

tuple

可以包含多种类型的不可改变的有序列

(4.0, 'string', True)

set, frozenset

与数学中集合的概念类似。无序的、每个元素唯一。

{4.0, 'string', True}

frozenset([4.0, 'string', True])

dictmap

一个可改变的由键值对组成的无序列。

{'key1': 1.0, 3: False}

int

精度不限的整数

42

float

浮点数。精度与系统相关。

3.1415927

complex

复数

3+2.7j

bool

逻辑值。只有两个值:真、假

True

False

除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。

1.2.6 运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

算数运算

以下假设变量:a=10b=20

比较运算

以下假设变量:a=10b=20

赋值运算

以下假设变量:a=10b=20

逻辑运算

         关于逻辑运算

在没有()的情况下not 优先级高于 andand优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

in,not in :

判断子元素是否在原字符串(字典,列表,集合)中:

例如:

#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')

         常见的占位符有:

1.3 流程控制语句

1.3.1 流程控制之--if

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

单分支

if 条件:
    满足条件后要执行的代码

双分支

"""
if 条件:
    满足条件执行代码
else:
    if条件不满足就走这段
"""
MemInfo = 48
if MemInfo > 95 :
    print("内存即将用光")
else:
    print("没事,放心用!")

多分支

if 条件:
    满足条件执行代码
elif 条件:
    上面的条件不满足就走这个
elif 条件:
    上面的条件不满足就走这个
elif 条件:
    上面的条件不满足就走这个    
else:
    上面所有的条件不满足就走这段

示例:猜猜我的年龄

age_of_clsn = 24
guess = int(input(">>:"))
if guess > age_of_clsn :
    print("猜的太大了,往小里试试...")
elif guess < age_of_clsn :
    print("猜的太小了,往大里试试...")
else:
    print("恭喜你,猜对了...")

1.3.2 流程控制之--while循环

基本while循环

while 条件:
     
    # 循环体
     
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

循环中止语句

         如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break continue 语句

break用于完全结束一个循环,跳出循环体执行循环后面的语句

continuebreak有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。

示例:

         之前猜年龄的代码运行一次使用一次,但稍加修改就能一自运行。

age_of_clsn = 24
while True:
    guess = int(input(">>:"))
    if guess > age_of_clsn:
        print("猜的太大了,往小里试试...")
    elif guess < age_of_clsn:
        print("猜的太小了,往大里试试...")
    else:
        print("恭喜你,猜对了...")
        break

1.3.3 格式化输出

现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式

------------ info of Alex Li -----------
Name  : CLSN
Age   : 24
job   : Linux Ops
Hobbie: girl
------------- end -----------------

         这样的格式如何输出呢?

name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")
info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name 
Name  : %s  #代表 name 
Age   : %s  #代表 age  
job   : %s  #代表 job 
Hobbie: %s  #代表 hobbie 
------------- end -----------------
''' %(name,name,age,job,hobbie)  # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来 
print(info)

         在格式化输出里面,怎么表示%?

msg = "我是%s,年龄%d,目前工作进度为80%%"%('clsn',24)
print(msg)

         使用%% % 转义.

1.4 编码说明

字符

ASCII

Unicode

utf-8

GBK

英文

1个字节

2-4个字节

1个字节

1个字节

中文

x

2-4个字节

3个字节

2个字节

其他

x

2-4个字节

2个字节

x

         : 1个字节 = 8 bit

1.5 参考文献

[1]  https://zh.wikipedia.org/wiki/Python

[2]  http://www.cnblogs.com/jin-xin/articles/7459977.html

[3]  http://www.cnblogs.com/wang-yc/articles/6419907.html

[4]  http://www.runoob.com/python/python-install.html

[5]  https://www.cnblogs.com/iDouble/p/8467738.html

 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

作者: 惨绿少年
出处: https://www.nmtui.com
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
目录
相关文章
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
1天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
1天前
|
程序员 UED Python
Python入门:3.Python的输入和输出格式化
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python入门:3.Python的输入和输出格式化
|
1天前
|
机器学习/深度学习 人工智能 算法框架/工具
Python入门:1.Python介绍
Python是一种功能强大、易于学习和运行的解释型高级语言。由**Guido van Rossum**于1991年创建,Python以其简洁、易读和十分工程化的设计而带来了庞大的用户群体和丰富的应用场景。这个语言在全球范围内都被认为是**创新和效率的重要工具**。
Python入门:1.Python介绍
|
1天前
|
缓存 算法 数据处理
Python入门:9.递归函数和高阶函数
在 Python 编程中,函数是核心组成部分之一。递归函数和高阶函数是 Python 中两个非常重要的特性。递归函数帮助我们以更直观的方式处理重复性问题,而高阶函数通过函数作为参数或返回值,为代码增添了极大的灵活性和优雅性。无论是实现复杂的算法还是处理数据流,这些工具都在开发者的工具箱中扮演着重要角色。本文将从概念入手,逐步带你掌握递归函数、匿名函数(lambda)以及高阶函数的核心要领和应用技巧。
Python入门:9.递归函数和高阶函数
|
1天前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
1天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
1天前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。

热门文章

最新文章

推荐镜像

更多