目录
1 Python介绍
1.1 Python语言介绍
1.2 Python优缺点
1.3 Python应用场景
2 python脚本运行
3 python数据类型
3.1 数据类型
3.2详细说明
4 转义字符
5 python注释
5.1定义:
5.2注释的分类:
6 变量
7 常量
8 标示符
8.1有效的Python标识符规则:
8.2 命名规范
9 关键字
10 input函数
Python是一门高级的、面向对象的、解释性、脚本语言。
编译性语言:
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
解释性语言:
解释性语言在运行程序的时候才翻译,执行一句程序翻译一句程序。
脚本语言,以可执行文件的形式存在,不需要编译,可以直接用,由解释器来负责解释。脚本语言一般都是以文本形式存在,类似于一种命令。
优点:
简单——Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
易学——就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
免费、开源——Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一,它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
高层语言——当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性——由于它的开源本质,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平台!
解释性——这一点需要一些解释。一个用编译性语言比如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图像库等等。
规范的代码——Python采用强制缩进的方式使得代码具有极佳的可读性。
缺点:
Web应用开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI(是Python应用程序或框架和Web服务器之间的一种接口)标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
科学计算
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted[ˈtwɪstɪd] 支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
构思实现,产品早期原型和迭代
YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。
Python中可以自定义数据类型,可以具有无限种数据类型。 系统默认提供6个标准数据类型:
1.Number类型 数值类型
2.String类型 字符类型
3.List类型 列表类型
4.Tuple类型 元组类型
5.Dict类型 字典类型
6.Set类型 集合类型
在Python中我们不需要声明一个变量的数据类型,只需要定义它并为它赋值,因为系统会根据我们给它的值自动分辨它的数据类型。
Number类型
Number类型一共分为四个小类别:整型(int),浮点型(float),布尔型(bool),复数(complex)
Int 整型
整形就是整数类型,声明整形有四种方式:
1.十进制:0~9 十进制数字
2.二进制:0~1 0b二进制数字 0b是二进制的标志符号
3.八进制:0~7 0o八进制数字 0o是八进制的标志符号
4.十六进制:0~9A~F 0x十六进制数字 0x是十六进制的标志符号
Float 浮点型
浮点型就是小数类型,声明浮点型有两种方式:
1.小数方式: 3.1415926
2.科学计数法: 314e2 #相当于314x10的平方
Bool 布尔类型
布尔类型是计算机专用的数据类型,只有2个值:True和False
Complex 复数类型
复数的完整结构(实数部分+虚数部分)
声明复数的两种方式:
表达式方式:
变量 = 实数 + 虚数 如:var = 3 + 2j
特定功能:
变量 = complex(实数,虚数值) 如:var = complex(5,3)
String 字符串类型
字符串类型就是文字类型,声明一个字符串类型有三种方式:
单引号:'内容'
双引号:"内容"
三引号:'''内容''' 或者 """内容""",可以换行
练习打印广告框
源码:
print('------------')
print('|----------|')
print('|-这是广告-|')
print('|----------|')
print('------------')
print('''
--------------
|------------|
|--这是尼玛--|
|------------|
--------------
''')
运行结果:
通过某种特定的格式使得字符的意义发生改变,这就是转义字符,常见转义字符如下:
if (4 > 1) or (2 > 3) \
or (7 > 2): # " / " 续航符
print('a')
#输出:a
print('\\')
#输出:\
print('\'')
#输出:'
print("\"")
#输出:"
print('aabbcc')
#输出:aabbcc
print('aa\tbb\tcc')
#输出:aa bb cc
print('aa\rb') # 光标回到首位
#输出:ab
print('aaa\nbbb')
#输出: aaa
bbb
print(r'锄禾日当午,\n汗滴\\禾下土,\n谁知\r盘中餐,\n粒粒\t皆辛苦\n')
#输出:锄禾日当午,\n汗滴\\禾下土,\n谁知\r盘中餐,\n粒粒\t皆辛苦\n
在任意字符串之前添加字母r或者R,那么当前字符串中所有转义字符在使用时都不会进行转义操作,这就是元字符串,正则表达式中常见格式。
通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性
单行注释
以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用
多行注释
多行注释是用三引号(单引号或双引号)包含的字符串
所谓变量,可以理解为菜篮子,用来存储内容,如果需要存储多个数据,最简单的方式是有多个变量, 当然了也可以使用一个
程序就是用来处理数据的,而变量就是用来存储数据的
操作展示:
从内存角度分析变量:
在内存角度来分析,变量是内存中的一块内存空间,内存空间中保存值,
实际上变量名绑定的是内存的地址
Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才 会被创建。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
type()函数,用来查看数据类型
操作展示:
id()查看变量的内存地址
name = '东方不败'
print(id(name)) #34589064这一串数字代表内存地址,随机分配
print(name) #东方不败
age = 18
print(id(age)) #1564044848
print(age) #18
age = 20 #重新开辟内存空间
print(id(age)) #导致id改变
print(age) #20
type()查看变量的数据类型
name = '苍老师'
print(type(name)) #
age = 18
print(type(age)) #
weight = 56.2
print(type(weight)) #
sex = False
print(type(sex)) #
python中没有专门定义常量的方式,通常使用大写变量名表示
源码:
PI = 3.1415926
print(PI) #3.1415926
什么是标识符?标识符是对变量、函数、对象引用起的一个名字。标示符是自己定义的。
1)由字母、下划线和数字组成,且数字不能开头
2)长度任意长;
3)标识符不能与关键字同名;
python中的标识符是区分大小写的 变量名 a 和 A 不相同
见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性)
比如: 名字 就定义为 name ,定义学生用student
例如:student_info,my_age
2.类遵循大驼峰命名法。
MyStudent
注意:小驼峰命名法,
第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog,但是python中不建议使用也可以使用
python一些具有特殊功能的标示符,这就是所谓的关键字
关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符
查看关键字
import keyword
print(keyword.kwlist)
# ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',
# 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
# 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
# 'return', 'try', 'while', 'with', 'yield']
input() 函数接受一个标准输入数据,返回为 string 类型。
源码:
price = input('单价是:')
sum = input('数量是:')
price1 = float(price)
sum1 = int(sum)
print('您需要支付:', price1 * sum1)
运行结果: