设为首页 加入收藏

TOP

python的概述和数据类型、常量、变量等基础知识
2019-03-19 14:33:29 】 浏览:81
Tags:python 概述 数据 类型 常量 变量 基础知识

目录

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函数


1 Python介绍

1.1 Python语言介绍

Python是一门高级的、面向对象的、解释性、脚本语言。

编译性语言:

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。

解释性语言:

解释性语言在运行程序的时候才翻译,执行一句程序翻译一句程序。

脚本语言,以可执行文件的形式存在,不需要编译,可以直接用,由解释器来负责解释。脚本语言一般都是以文本形式存在,类似于一种命令。

  • Python/paθn/的发音与拼写
  • Python的意思是蟒蛇,源于作者喜欢的一部电视剧
  • Python的作者是Guido van Rossum(吉多·范罗苏姆),荷兰人
  • Python是Guido在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
  • Life is shot, you need Python. 人生苦短,我用Python。

1.2 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采用强制缩进的方式使得代码具有极佳的可读性。

缺点:

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

1.3 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[twstd] 支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

构思实现,产品早期原型和迭代

YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。


2 python脚本运行

  1. 安装完成python3后,打开命令窗口(win+R,cmd),输入python
  2. 打印Python的第一个程序hello world


3 python数据类型

3.1 数据类型

Python中可以自定义数据类型,可以具有无限种数据类型。 系统默认提供6个标准数据类型:

1.Number类型 数值类型

2.String类型 字符类型

3.List类型 列表类型

4.Tuple类型 元组类型

5.Dict类型 字典类型

6.Set类型 集合类型

在Python中我们不需要声明一个变量的数据类型,只需要定义它并为它赋值,因为系统会根据我们给它的值自动分辨它的数据类型。

Number类型

Number类型一共分为四个小类别:整型(int),浮点型(float),布尔型(bool),复数(complex)


3.2详细说明

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('''
--------------
|------------|
|--这是尼玛--|
|------------|
--------------
''')

运行结果:


4 转义字符

通过某种特定的格式使得字符的意义发生改变,这就是转义字符,常见转义字符如下:

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,那么当前字符串中所有转义字符在使用时都不会进行转义操作,这就是元字符串,正则表达式中常见格式。


5 python注释

5.1定义:

通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性


5.2注释的分类:

单行注释

以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用

多行注释

多行注释是用三引号(单引号或双引号)包含的字符串


6 变量

所谓变量,可以理解为菜篮子,用来存储内容,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个

程序就是用来处理数据的,而变量就是用来存储数据的

操作展示:

从内存角度分析变量:

在内存角度来分析,变量是内存中的一块内存空间,内存空间中保存值,

实际上变量名绑定的是内存的地址

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))      #<class 'str'>
age = 18
print(type(age))      #<class 'int'>
weight = 56.2
print(type(weight))        #<class 'float'>
sex = False 
print(type(sex))       #<class 'bool'>

7常量

python中没有专门定义常量的方式,通常使用大写变量名表示

源码:

PI = 3.1415926
print(PI)     #3.1415926

8 标示符

什么是标识符?标识符是对变量、函数、对象引用起的一个名字。标示符是自己定义的。

8.1有效的Python标识符规则:

1)由字母、下划线和数字组成,且数字不能开头

2)长度任意长;

3)标识符不能与关键字同名;

python中的标识符是区分大小写的 变量名 a 和 A 不相同


8.2 命名规范

见名知意

起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性)

比如: 名字 就定义为 name ,定义学生用student

  1. 变量、函数、模块命名遵循下划线命名法

例如:student_info,my_age

2.类遵循大驼峰命名法。

MyStudent

注意:小驼峰命名法,

第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog,但是python中不建议使用也可以使用


9 关键字

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


10 input函数

input() 函数接受一个标准输入数据,返回为 string 类型。

源码:

price = input('单价是:')            
sum = input('数量是:')
price1 = float(price)
sum1 = int(sum)
print('您需要支付:', price1 * sum1)

运行结果:

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇 Windows 上的 Python 下一篇NameError: name 'unicode..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目