目录
第一章,初识Python
一,python的输入输出
Python是一种面向对象、解释型的高级编程语言,同时Python还具有动态类型语言的特性,所以不需要预先定义数据类型。
在py中,我们不再使用{}来划定函数等的作用区域,而是使用:和缩进来进行规范。
例如:
n = 10
for i in range(n):
print(i,end=" ")
在py中,输入有多种形式,主要使用形式如下:
键盘录入方式 | 实现功能 |
a = input() | 直接录入一行数据,返回字符串类型 |
a,b = input().splist(",") | 实现a,b的键盘录入,并用“,”隔开,splist默认是使用空格隔开 |
a, b = map(int, input().split(" ")) | map函数主要用于实现将一个可迭代对象(如列表、元组等)的每个元素依次应用一个函数,返回一个迭代器, 此处是将input().split(" ")录入的字符串转化为int类型 |
a, b =eval(input()) | eval() 函数对 input()获得的字符串进行求值,以将其转换为数值类型。 |
py的输出形式也有多种,
输出(a = 1,b = 2) | 实现功能 |
print(a + "+" + b) | 1+2 |
print(f"{b} is {a:.2f} half.") | 2 is 1.00 half. |
print("%.2f" % a) | 1.00 |
print("{:.2f} {:.2f}".format(a, b)) | 1.00 2.00 |
二,py的数据类型
- 数字类型:整型(int)、浮点型(float)、复数型(complex)。
- 字符串类型:由单引号、双引号或三引号括起来的字符序列。
- 列表类型(List):由一系列有序的元素组成,元素可以是不同类型的。
- 元组类型(Tuple):类似于列表,但是一旦创建就不能修改。
- 集合类型(Set):由一系列无序的、唯一的元素组成。
- 字典类型(Dictionary):由键值对组成,键必须是唯一的。
py对于字符串,数组,以及列表有一种特殊处理方法
在Python中,切片是指对字符串、列表、元组等序列类型的对象进行部分取值的操作。使用切片可以方便地获取一个对象的子序列。切片操作的语法格式如下:
variable[start:stop:step]
其中,start、stop和step都是可选参数。start表示切片的起始位置,默认为0;stop表示切片的结束位置,不包含在切片之内;step表示切片的步长,默认为1。
举个例子,对于一个列表 `a = [1, 2, 3, 4, 5,6,7]`,要获取第二个到第四个元素,可以这样写:
a[] = {1,2,3,4,5,6,7}
a[1:4]
[2, 3, 4]
注意,切片操作会返回一个新的对象,而不是修改原来的对象。
切片还有一些常用的技巧,比如可以通过 `[::-1]` 反转一个序列,或者通过 `[:]` 复制一个序列。
对于py中的循环,for循环对于c语言略有不同:
n = 10
for i in range(n):
print(i,end=" ")
while(i>n):
print(i,end=" ")
第二章,Python的绘画功能
在py中具有绘画功能,绘画需要事先调用turtle函数库,其中的函数可以支持绘画创作
import turtle
# 设置画布大小和位置
turtle.setup(800, 600)
turtle.pen = turtle.Turtle() #创建画笔
turtle.pen.speed(10) # 设置绘制速度
turtle.pen.penup() # 提起笔
turtle.pen.goto(180, -180) # 将乌龟移动到
turtle.pen.pendown() # 落笔开始绘图
turtle.pen.right(180)
turtle.pen.pencolor("red") # 设置画笔颜色
length = 400 #标注划线长度
for i in range(10):
for j in range(4):
turtle.pen.forward(length)
turtle.pen.right(90)#向右旋转90度
length = length - 10
turtle.done() # 显示窗口并保持等待状态
第三章,函数与递归
在初步了解了Python后,继续学习python的函数和递归算法:
Python 函数的定义形式为:
def functionName(parameters):
#function body
return returnValue
其中,def是函数定义声明,对于任何函数的定义都需要由def开始,functionName是函数名,parameters是函数接收的传入参数的名称,#function body处包含函数的主体,returnValue是函数的返回值。函数名和参数列表的命名遵循 Python 的命名规则,可以包含字母、数字和下划线,但不能以数字开头。
递归是指函数可以调用自己的技术。递归具有三要素:递归边界,终止条件,递归过程
在 Python 中,递归函数以n的阶乘为例如下:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
第四章,类
py中的类与c++中的类相似,均拥有定义与继承
一,类的定义
对于类的定义,同样是使用class定义一个类,但是对于类中的所有函数,第一位参数必为self,即一个this指针,表示当前的类所创建的名称
对于类中的元素,同样有三种可访问性的规定,但是py对于类的元素的可访问性的规定没有那么死,对于类中private的元素可以使用其它方法进行访问,对于元素的public,private,protected分别表示为:
class Book:
#构造函数,标准格式为__init__,仅允许此格式
def __init__(self, name, no, price):
self.name = name #public型,类内外均可访问
self._no = no #protected型,仅有类内和子类可直接访问
self.__price = price #private型,仅有类内可访问
#析构函数,进行类的销毁
def __del__(self):
print("对象已销毁")
def show(self):
print("书名:{self.name},编号:{self.no},价格:{self.price}")
book1 = Book(溪溪的python学习,0001,12.34)
book1.show()
del book1 #销毁book1