python基础知识一
一、标识符
1.1 概念
标识符是编程时候使用的名字,用于给变量、函数、语句快等命名。python中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。(这里和其他编程有一定的相似之处)。 以下划线开头的标识符有特殊含义,单下划线开头的标识符。这里跟其他编程语言是有区别的。 如:_abc
,这个表示不能直接访问的类属性,需要通过特定的接口访问不能直接导入。 如:__abc
,表示私有成员。 如:__abc__
,表示python中内置标识,如:___init__()
,标识类的构造方法。
这里简单介绍一下什么是构造函数
1.1.1构造函数
(1)构造函数的定义及形式:
构造函数是一种特殊的函数,以双下划线()开头,构造函数的名称是__init()。它的具体形式如下
def __init__(self):
print("构造函数")
如果创建类对象的时候,没有添加构造函数,python解释器会自动创建一个不执行任何操作的默认构造函数;如果创建类对象的时候,自己添加构造函数也可以根据需要设置一些类变量。也就是说,构造函数和类是一体的,只要创建类,一定会伴随着一个构造函数诞生。只不过你可以自定义一个构造函数,也可以由python解释器自动创建一个默认的构造函数。
(2)构造函数的作用
可以添加一些需要的类变量并进行初始化(也就是对变量进行赋值)。
例如:
class FunctionTest:
fun = "test"
def __init__(self, name, skill, age):
self.__name = name
self.__skill = skill
self.__age = age
这里FunctionTest类中的构造函数,包含三个变量,name,skill,age。这三个变量在实例化类的时候,需要进行赋值,也就是进行初始化操作。
(3)构造函数的调用
构造函数在类的实例化的时候即会被python解释器自动调用,这时给构造函数中的变量进行赋值后,变量就可以在实例化类的方法中直接被调用。如下操作
name = "Wu Kong"
skill = "fly"
age = 500
# 实例化调用
FT = FunctionTest(name, skill, age)
print()
1.1.2 私有成员
(1)类的私有成员
遇到重要数据、功能(只允许本类使用的一些方法、数据),设置成私有成员。 类在加载到内存的时候,只要遇到类中的私有成员,都会在私有成员前面加上 “_类名”。
(2)私有类的属性:
1、只能在类的内部访问和使用私有类的属性
2、在类的外部不可以访问和使用私有类的属性
3、在类的子类(派生类)不可以访问父类的私有类的属性
class Person:
name = 'albert'
__age = 17 # 私有类的属性
def get_info(self):
print()
print(self.__age)
p1 = Person()
p1.get_info()
print()
# print(p1.__age) # 报错,'Person' object has no attribute '__age'
# print(Person.__age) # 报错, type object 'Person' has no attribute '__age'
# 不过,可以通过特殊方法来访问和使用私有类的属性:
print(Person.__dict__) # 注意这个:'_Person__age': 17,
print(p1._Person__age) # 17
print(Person._Person__age) # 17
注意:Pyhton里边并没有protected的概念。
二、关键字
上面是python的保留字,就是我们熟悉的关键字,在自定义的标识符中不能使用关键字。
三、引号
(1)单引号内可以使用双引号,中间的内容会当作字符串打印
(2)双引号内可以使用单引号,中间的内容会当作字符串打印
(3)三单引号和三双引号中间的字符串在输出时会保持原来的格式。
四、编码
Python2 中默认编码为 ASCII,假如内容为汉字,不指定编码便不能正确的输出及读取,比如我们想要指定编码为 UTF-8,Python 中通过在开头加入 # -- coding: UTF-8 -- 进行指定。 例如:
reload(sys)
sys.setdefaultencoding('utf-8')
Python3 中默认编码为 UTF-8,因此在使用 Python3 时,我们通常不需指定编码。如果一定要指定编码格式需要注意格式,和python2是有一定的区别的。
五、输入输出
5.1 输出
Python 输出使用 print(),内容加在括号中即可。
print(tool())--函数调用
print('Hello Python')--直接输出字符串
5.2 输入
Python 提供了一个 input()韩素,可以让用户输入字符串,并存放到一个变量里。
name = input()
print('Hello Python',name)
六、缩进、多行与注释
6.1 缩进
在python中,不使用 {} 来控制类、函数、逻辑判断等,而是使用缩进,缩进的空格可变。所以在写python中一定要注意缩进的变化。养成良好的代码习惯。
try:
if True:
print(True)
else:
print(False)
6.2 多行
Python 中一般以新行作为语句的结束标识,可以使用 \
将一行语句分为多行显示。
a = 128
b = 1024
c = 512
d = a + \
b - \
c
但是如果包含在 []、{}、()
括号中,则不需要使用 \
。
6.3 注释
Python 中单行注释使用 #,多行注释使用三个单引号(‘’')或三个双引号(“”")。如下所示:
# 我是单行注释
'''
我是多行注释
我是多行注释
'''
"""
我是多行注释
我是多行注释
"""
七、数据类型与运算符
7.1 数据类型
这个和其他编程语言都没什么区别,学过编程语言的过一下即可,没学过的,查阅资料可以仔细看看。
整数:可以为任意大小、包含负数
浮点数:就是小数
字符串:以单引号 '、双引号"、三引号 ''' 或 """括起来的文本
布尔:只有 True、False 两种值
空值:用 None 表示
变量:是可变的
常量:不可变
7.2 运算符
7.2.1常用运算符
7.2.2运算符优先级
运算符或、与、非、取余等稍复杂的
之间的计算,后面单独做一个讲解。
八、基本语句
8.1 条件语句
在进行逻辑判断时,我们需要用到条件语句,Python 提供了 if、elif、else 来进行逻辑判断。 格式如下所示:
if 判断条件1:
执行语句1...
elif 判断条件2:
执行语句2...
elif 判断条件3:
执行语句3...
else:
执行语句4...
8.2 循环语句
当需要多次重复执行时,我们要用到循环语句,Python 提供了for 循环和 while 循环
。
8.2.1 for循环
str = 'Python'
for s in str:
print(s)
8.2.2 while循环
while 循环,满足条件时进行循环,不满足条件时退出循环。如下所示:
sum = 0
m = 10
while m > 0:
sum = sum + m
m = m - 1
print(sum)
8.2.3 break
break 用在 for 循环和 while 循环语句中,用来终止整个循环。如下所示:
str = 'Python'
for s in str:
if s == 'o':
break
print(s)
8.2.4 continue
continue 用在 for 循环和 while 循环语句中,用来终止本次循环。如下所示:
str = 'Python'
for s in str:
if s == 'o':
continue
print(s)
8.2.5 pass语句
pass 是空语句,它不做任何事情,一般用做占位语句,作用是保持程序结构的完整性。如下所示:
if True:
pass