Python基础

Python简介

Python是一个高层次的结合了解释性,编译性,互动性和面向对象的脚本语言。
Python特点
易于学习/易于阅读/易于维护/一个广泛的标准库/互动模式/可移植/可扩展/数据库/GUI编程/可嵌入
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程序:

#!/usr/bin/python3
print("第一个python程序")
print("Hello, World!")

Python3基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
实例:

counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "runoob"     # 字符串 
print (counter)
print (miles)
print (name)

结果为:

100
1000.0
runoob

多变量赋值
Python允许你同时为多个变量赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "runoob"

以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “runoob” 分配给变量 c。
标准数据类型
Python3 中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
数字(Number)类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
int(整数),如1,只有一种整数类型int,表示为长整型,没有python2中的Long.
bool(布尔),如True.
float(浮点数),如1.23、3E-2
complex(复数),如1+2j、1.1+2.2j
内置的 type() 函数可以用来查询变量所指的对象类型。

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

此外还可以用 isinstance 来判断:
实例

>>>a = 111
>>> isinstance(a, int)
True
>>>

isinstance 和 type 的区别在于:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。

>>> class A:
...     pass
... 
>>> class B(A):
...     pass
... 
>>> isinstance(A(), A)
True
>>> type(A()) == A 
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False

数值运算

实例

>>>5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

注意:
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、一个变量可以通过赋值指向不同类型的对象。
3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
4、在混合计算时,Python会把整型转换成为浮点数。

字符串(String)

python中单引号和双引号完全相同。
使用三引号(’’‘或""")可以指定一个字符串。
转义符’’
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。如r"this is a line with\n"则\n会显示,并不是换行。
按字面意义级联字符串,如"this"“is”"string"会被自动转义为this is string。
字符串可以用+运算符连接在一起,用*运算符重复。

Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
Python的字符串不能改变。
Python没有单独的字符类型,一个字符就是长度为1的字符串。
字符串的 截取的语法格式如下:变量[头下标:尾下标:步长]
word=‘字符串’
sentence=“这是一个句子”
paragraph=""“这是一个段落,可以由多行组成”""
另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。
实例
word=‘python’
print(word[0],word[5])
P n
print(word[-1],word[-6])
n P
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm’会导致错误。
注意:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。

列表(List)

List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]

加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

list=['abcd',786,2.23,'runoob',70.2]
 0	 1	   2	            3	              4
-5    -4     -   3              -2      -        1
tinylist[123,'ruoob']
 0          1
print(list)			#输出完整列表
print(list[0])		#输出列表第一个元素
print(list[1:3])		#从第二个开始输出到第三元素
print(list[2:])		#输出第三个元素开始的所有元素
print(tinylist*2)		#输出两次列表
print(list+tinylist)	#连接列表

输出结果:

['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

与Python字符串不同的是,列表中的元素是可以改变的:
实例

>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 将对应的元素值设置为 [] 
>>> a
[9, 2, 6]

List 内置了有很多方法,例如 append()、pop() 等等。
注意:
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。

Python标识符

在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:

>>> print 'hello';print 'runoob';
hello
runoob

Python保留字符

下面的列出了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
所有 Python 的关键字只包含小写字母。
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

行和缩进

学习Python与其他语言最大的区别是,Python的代码块不适用{}来控制类,函数以及其他逻辑判断。python特色就是用缩进来写模块。
缩进的空白数量是可变的,但是所有的代码块语句必须包含相同的缩进空白数量,这儿必须严格执行。如下所示:

if True:
print ("True")
else:
print("False")

python对格式要求非常严格
实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py
if True:
    print "Answer"
    print "True"
else:
    print "Answer"
    # 没有严格缩进,在执行时会报错
  print "False"

执行以上代码,会出现如下的错误提醒:

D:\python\venv\Scripts\python.exe D:/python/hello.py
  File "D:/python/hello.py", line 22
    print("False")
                 ^
IndentationError: unindent does not match any outer indentation level

IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你**“Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题”**,所有 python 对格式要求非常严格。
因此,在 Python 的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用

Python注释

python中单行注释采用#开头。
实例

#!user/bin/python
#-*- coding:UTF-8 -*-
#文件名:test.py
#第一个注释
print("Hello,Python!") #第二个注释 

输出结果:

Hello,Python!

注释可以在语句或表达式行末。
python中多行注释使用三个单引号(’’’)或三个双引号(""")
实例

#!/user/bin/python
# -*- coding:UTF-8 -*-
#文件名:test.py

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
"""

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
等待用户输入
下面程序执行后就会等待用户输入,按回车键后就会退出:

#!/user/bin/python
# -*- coding: UTF-8 -*-
raw_input("按下enter键退出,其他任意键显示")

以上代码中 ,\n 实现换行。一旦用户按下 enter(回车) 键退出,其它键显示。
同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

#!/usr/bin/python
import sys; x = 'runoob'; sys.stdout.write(x + '\n')

## Print输出

print默认输出是换行的,如果实现不换行需要在变量末尾加上逗号,
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
x="a"
y="b"
# 换行输出
print x
print y
print '---------'
# 不换行输出
print x,
print y,
# 不换行输出
print x,y

以上实例执行结果为:
a
b
---------
a
b
a b

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之为代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号(:)结束,该行以后的一行或多行代码构成代码组。
如下实例:

if expression:
suite
elif expression:
suite
else:
suite
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值