Python 简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
- Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
- Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW浏览器再到游戏.
Python 发展历史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
Python 特点
- 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 2.易于阅读:Python代码定义的更清晰。
- 3.易于维护:Python的成功在于它的源代码是相当容易维护的。
- 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 8.数据库:Python提供所有主要的商业数据库的接口。
- 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得”脚本化”的能力。
Python 变量
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
变量的命名规则
- 名字要:见名知意
可以由字母,下划线和数字组成
不能以数字开头
不能和关键字重明 - 驼峰命名法
1.大驼峰:每一个单词的首字母都大写
FirstName LastName
2.小驼峰:第一个单词以小写字母开始,后续单词的首字母大写
firstName lastName
变量的类型
在 python 中定义变量是不需要指定类型(在其他很多高级语言中都需要)
数据类新可以分为数字型和非数字型
-
数字型
- 整型(int)
- 浮点型(float)
- 布尔型(bool)真 True 非 0 数 — 非 0 即真
- 非数字型
- 字符串
- 列表
- 元组
- 字典
格式化输出
格式化字符串 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数 |
%06d | 表示输出的整数显示位数字,不足的地方使用0填充 |
%f | 浮点数,%.02f 表示小数点后只显示两位 |
%% | 输出% |
字符串操作
字符串定义与转义字符
字符串的定义有三种方式:
1:str1 = 'our company'
2:str2 = "our company"
3:str3 = """our company"""
转义字符:
一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符\n
代表换行符\"
代表双引号本身\t
代表tab符\'
代表单引号本身
其中三重引号可以作为块注释(多行代码注释),也可以作为函数的doc文档,也可以作为字符串格式化
字符串的特性
- 索引
s = "hello"
>>> s = "hello"
# 正向索引
>>> s[1]
'e'
>>> s[0]
'h'
>>> s[4]
'o'# 反向索引
>>> s = "hello world"
>>> s[-1]
'd'
>>> s[-2]
'l'
>>> s[-3]
'r - 切片
[start:end:step] # 从start开始到end-1结束, 步长为step;
- 如果start省略, 则从头开始切片;
- 如果end省略, 一直切片到字符串最后;
s[1:]
s[:-1]
s[::-1] # 对于字符串进行反转
s[:] # 对于字符串拷贝 - 成员操作符
-
>>> s = "hello"
>>> 'h' in s
True
>>> 'hel' in s
True
>>> 'oo' in s
False
>>> 'h' not in s
False
>>> 'oo' not in s
True - 字符串连接
-
>>> a = "hello"
>>> b = "python"
>>> print("%s %s" %(a, b))
hello python
>>> a + b
'hellopython'
>>> a + " " +b
'hello python' - 字符串的重复
- >>> "*"*10 + "学生管理系统" + "*"*10
'**********\xe5\xad\xa6\xe7\x94\x9f\xe7\xae\xa1\xe7\x90\x86\xe7\xb3\xbb\xe7\xbb\x9f**********'
>>> print("*"*10 + "学生管理系统" + "*"*10) - 字符串的常用方法
-
'isalnum' 是否为字母,数字 'isalpha' 是否由字母组成 'isdecimal' 是否由十进制数字组成 'isdigit' 十进制数字判断 'isidentifier' 是否字符串是否以字母开头 'islower' 小写字母判断 'isnumeric' 检测变量是否为数字或数字串 'isprintable' 是否可输出判断 'isspace' 空格判断 'istitle' 标题判断 'isupper' 大写字母判断 'lower' 将字符串变为小写 'upper' 将字符串变为大写 'title' 变为title格式 'swapcase' 大写变小写,小写变大写
- 字符串的开头和结尾匹配 filename.endswith filename.startwith
- 字符串的搜索和替换 find 查找 replace 替换 count 计数
- 字符串的分离与拼接 spilt 变量名.spilt('指定分割符') join ''.join(变量名)