1. Python基本语法介绍
Python是一种高级解释型编程语言,它兼有脚本语言和编译语言的特性。Python简单易学,代码简洁,适合于大型项目开发和面向对象编程。Python语法丰富,被广泛用于Web开发,数据分析、人工智能等领域。
1.1 Python的注释
在Python中,注释用#号表示,#后面的内容是注释内容,不会被编译器执行。
#这是一个单行注释
print("Hello, World!") #这也是一个单行注释
注释还可以用来临时禁用一段代码:
# print("Hello, World!")
这样的话,原来会被打印出来的"Hello, World!"就不会被输出了。
1.2 Python的缩进
Python是通过空格缩进来标示代码块层级关系的,这是Python语言的一大特色。Python规定同一个代码块中,必须缩进相同的空格。
if temperature >= 0.6:
print("It's a warm day")
else:
print("It's a cool day")
在这段代码中,if和else语句块都缩进了4个空格,表明它们是同一个代码块,而且是同一层级的。
1.3 Python标识符
在Python中,变量、函数、类、模块等命名都需要使用标识符。标识符必须遵循以下规则:
标识符只能包含字母、数字和下划线,不能包含其他特殊字符;
标识符第一个字符必须是字母或下划线,不能是数字;
标识符不能与Python关键字重名。
Python标识符区分大小写,以下是一些例子:
number = 123
Number = 456
NUMBer = 789
print(number)
print(Number)
print(NUMBer)
运行结果:
123
456
789
2. Python数据类型
Python支持多种数据类型,包括数字、字符串、列表、元组、字典等。
2.1 Python数字
Python中的数字包括整数、浮点数、复数等。
整数可以是正数、负数或零。Python支持多种进制表示整数,如二进制、八进制、十进制和十六进制。
a = 123 # 十进制
b = 0b111011 # 二进制
c = 0o173 # 八进制
d = 0x7B # 十六进制
print(a, b, c, d)
运行结果:
123 59 123 123
浮点数是带小数点的数字,可以用科学计数法表示。Python的浮点数支持数学运算,但它们并不总是精确的。
x = 4.2
y = 2.5e-3
z = 1.1e6
print(x, y, z)
print(x + y)
print(x * y)
print(x / y)
运行结果:
4.2 0.0025 1100000.0
4.2025
0.010500000000000001
1680.0
2.2 Python字符串
Python中的字符串用单引号或双引号表示。Python字符串是不可变的,也就是说,一旦创建,它就不能被改变。
a = 'Hello, World!'
b = "Python"
print(a)
print(b)
运行结果:
Hello, World!
Python
Python支持多种字符串处理方法,如获取字符串长度、字符串切片、字符串拼接等。
a = 'Hello, World!'
print(len(a))
print(a[0:5])
print(a[7:])
print(a[-6:-1])
b = "Python"
c = a + " " + b
print(c)
运行结果:
13
Hello
World!
World
Hello, World! Python
2.3 Python列表
Python的列表是有序、可变的序列,可以包含多种数据类型的元素,并且支持多种操作。
numbers = [1, 2, 3, 4, 5]
fruits = ["apple", "banana", "cherry"]
mixed = [1, "apple", True, 3.14]
print(numbers)
print(fruits)
print(mixed)
numbers[0] = 6
fruits.append("orange")
mixed.remove("apple")
print(numbers)
print(fruits)
print(mixed)
运行结果:
[1, 2, 3, 4, 5]
['apple', 'banana', 'cherry']
[1, 'apple', True, 3.14]
[6, 2, 3, 4, 5]
['apple', 'banana', 'cherry', 'orange']
[1, True, 3.14]
2.4 Python元组
Python的元组是有序、不可变的序列,可以包含多种数据类型的元素。Python元组一旦创建,就不能被修改。
numbers = (1, 2, 3, 4, 5)
fruits = ("apple", "banana", "cherry")
mixed = (1, "apple", True, 3.14)
print(numbers)
print(fruits)
print(mixed)
#以下代码会报错,因为元组不能被修改
#numbers[0] = 6
#fruits.append("orange")
#mixed.remove("apple")
运行结果:
(1, 2, 3, 4, 5)
('apple', 'banana', 'cherry')
(1, 'apple', True, 3.14)
2.5 Python字典
Python的字典是无序、可变的键值对集合,其中键必须是不可变类型。Python字典可以包含多种数据类型的键值对。
person = {"name": "John", "age": 36, "gender": "male"}
print(person)
print(person["name"])
print(person.get("age"))
person["age"] = 37
person["city"] = "New York"
print(person)
运行结果:
{'name': 'John', 'age': 36, 'gender': 'male'}
John
36
{'name': 'John', 'age': 37, 'gender': 'male', 'city': 'New York'}
3. Python函数
Python函数是带有参数和返回值的代码块,用于封装一些特定功能。Python代码中的函数使用def关键字定义,函数可以有多个参数和多个返回值。
3.1 Python函数的定义
以下是一个简单的Python函数,用于计算两个数字之和:
def add(x, y):
return x + y
result = add(3, 5)
print(result)
运行结果:
8
3.2 Python函数的参数
Python函数支持多种参数类型,包括必需参数、关键字参数、默认参数和可变参数。
3.2.1 必需参数
必需参数为函数调用者必须传入的参数,且必须按照函数定义的顺序传入。
def greet(name):
print("Hello, " + name)
greet("John")
运行结果:
Hello, John
3.2.2 关键字参数
关键字参数允许调用者按照参数名的顺序传入参数,函数在定义时需要指定参数名。
def greet(name, age):
print("Hello, my name is " + name + ", and I'm " + str(age) + " years old.")
greet(age=36, name="John")
运行结果:
Hello, my name is John, and I'm 36 years old.
3.2.3 默认参数
默认参数为函数定义时给出的参数值,调用者可以不传入该参数,使用函数定义时的默认值。
def greet(name, age=18):
print("Hello, my name is " + name + ", and I'm " + str(age) + " years old.")
greet("John")
greet("Jane", 25)
运行结果:
Hello, my name is John, and I'm 18 years old.
Hello, my name is Jane, and I'm 25 years old.
3.2.4 可变参数
可变参数允许调用者传入任意个参数,这些参数在函数内部被视为一个列表或元组。
def add(*nums):
total = 0
for i in nums:
total += i
return total
result = add(1, 2, 3, 4, 5)
print(result)
运行结果:
15
3.3 Python函数的返回值
Python函数可以有多个返回值,也可以没有返回值。
def calc(n):
return n * 2, n * 3, n * 4
result = calc(5)
print(result)
def print_hello():
print("Hello, World!")
print_hello()
运行结果:
(10, 15, 20)
Hello, World!
4. Python流程控制
Python提供了多种流程控制语句,包括if语句、for循环、while循环等,用于根据条件执行不同的代码块。
4.1 Python if语句
Python if语句用于判断某个条件是否成立,如果成立,则执行相应的代码块,否则执行其他代码块。
temperature = 0.6
if temperature >= 0.6:
print("It's a warm day.")
elif temperature >= 0.4:
print("It's a mild day.")
else:
print("It's a cold day.")
运行结果:
It's a warm day.
4.2 Python for循环
Python for循环用于遍历某个可迭代对象(如列表、元组或字符串),对每个元素执行相同的操作。
fruits = ["apple", "orange", "banana"]
for fruit in fruits:
print(fruit)
运行结果:
apple
orange
banana
4.3 Python while循环
Python while循环用于在某个条件成立时,重复执行某个代码块,直到条件不再成立。
i = 1
while i <= 5:
print(i)
i += 1
运行结果:
1
2
3
4
5
5. Python面向对象编程
Python是面向对象的编程语言,支持面向对象编程的特性,如封装、继承、多态等。
5.1 Python类和对象
Python类和对象是面向对象编程的基本概念,Python通过class关键字定义类,通过实例化生成对象。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("Hello, my name is " + self.name)
john = Person("John", 36)
jane = Person("Jane", 25)
john.greet()
jane.greet()
运行结果:
Hello, my name is John
Hello, my name is Jane
5.2 Python继承
Python继承允许定义一个新类,从而继承已有类的属性和方法。
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print(self.name + " is eating")
class Dog(Animal):
def bark(self):
print("Woof!")
dog = Dog("Pluto")
dog.eat()
dog.bark()
运行结果:
Pluto is eating
Woof!
5.3 Python多态
Python多态允许不同的对象针对相同的方法作出不同的响应。
class Shape:
def area(self):
pass
class Square(Shape):
def __init__(self, length):
self.length = length
def area(self):
return self.length * self.length
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius * self.radius
shapes = [Square(5), Circle(2), Square(10)]
for shape in shapes:
print(shape.area())
运行结果: