2023学python

上岸第一剑,编程语法必修:python语法编程

2023-06-12  本文已影响0人  天天玩python

随着互联网的高速发展,python市场越来越大,也越来越受欢迎,主要源于它:易学易用,通用性广,时代需要,源代码的开放以及人工智能浪潮,接来下我们就从这几个方向谈谈为何python越来越受欢迎,以及入门学习python编程语法

Python之所以越来越受欢迎,市场也越来越大,主要体现在以下几个方面

因此,Python已经成为企业、政府和大学中非常重要的编程语言,并且Python在全球范围内已经得到了广泛的认可和应用,未来的发展前景也非常广阔。

那么,如何才能入门python呢,今天带来的介绍就是入门python第一步:编程语法必须

python语法编程

一丶python3基础入门

Python是一种高级编程语言,易于学习和使用。Python3是Python语言的最新版本,它具有许多新的特性和改进。本教程将介绍Python3的基础知识,包括变量、数据类型、运算符、条件语句、循环语句、函数、模块等。通过学习本教程,您将能够掌握Python3的基本语法和编程技巧,为进一步学习Python编程打下坚实的基础。

1.数据类型

Python3中常见的数据类型有:

2.变量与关键字

在Python3中,变量是用来存储数据的,可以通过赋值语句来创建变量。关键字是Python3中已经定义好的一些特殊单词,不能用作变量名。

Python3中常见的关键字有

3.语句

Python3中常见的语句有:

4.表达式

Python3中的表达式是由变量、常量和运算符组成的式子,可以用来计算结果。常见的运算符有:

5.运算符
Python3中的运算符有很多种,包括算术运算符、比较运算符、逻辑运算符、位运算符等。Python3中的运算符和操作对象包括

操作对象包括

6.字符串

Python3中的字符串是由一串字符组成的,可以用单引号或双引号来表示。字符串可以进行拼接、切片、替换等操作。

7.注释

Python3中的注释用#来表示,可以在代码中添加注释来解释代码的作用。注释可以单独一行,也可以在代码行后面添加。注释不会被解释器执行。

二丶列表与元组

在Python中,列表和元组都是用来存储一组有序数据的容器,它们的区别在于列表是可变的,而元组是不可变的。

列表

列表是Python中最常用的数据类型之一,它可以存储任意类型的数据,包括数字、字符串、布尔值、列表、元组、字典等。列表用方括号 [] 来表示,其中的元素用逗号分隔开。

创建列表

可以通过以下方式创建一个列表:

# 创建一个空列表
my_list = []

# 创建一个包含元素的列表
my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

访问列表元素

可以通过下标来访问列表中的元素,下标从0开始,可以是负数,表示从后往前数。

my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

print(my_list[0])  # 输出 1
print(my_list[3])  # 输出 'hello'
print(my_list[-1])  # 输出 [4, 5, 6]
print(my_list[-1][0])  # 输出 4

修改列表元素

列表是可变的,可以通过下标来修改列表中的元素。

my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

my_list[0] = 100
my_list[-1][0] = 400

print(my_list)  # 输出 [100, 2, 3, 'hello', True, [400, 5, 6]]

列表操作

列表支持一些常用的操作,如添加元素、删除元素、切片等。

my_list = [1, 2, 3]

my_list.append(4)
print(my_list)  # 输出 [1, 2, 3, 4]

my_list.insert(1, 5)
print(my_list)  # 输出 [1, 5, 2, 3, 4]
my_list = [1, 2, 3, 4]

my_list.remove(3)
print(my_list)  # 输出 [1, 2, 4]

my_list.pop(1)
print(my_list)  # 输出 [1, 4]
my_list = [1, 2, 3, 4, 5]

print(my_list[1:3])  # 输出 [2, 3]
print(my_list[:3])  # 输出 [1, 2, 3]
print(my_list[::2])  # 输出 [1, 3, 5]

元组

元组和列表类似,也是用来存储一组有序数据的容器,但是元组是不可变的,一旦创建就不能修改。元组用圆括号 () 来表示,其中的元素用逗号分隔开。

创建元组

可以通过以下方式创建一个元组:

# 创建一个空元组
my_tuple = ()

# 创建一个包含元素的元组
my_tuple = (1, 2, 3, 'hello', True, [4, 5, 6])

访问元组元素
可以通过下标来访问元组中的元素,下标从0开始,可以是负数,表示从后往前数。

my_tuple = (1, 2, 3, 'hello', True, [4, 5, 6])

print(my_tuple[0])  # 输出 1
print(my_tuple[3])  # 输出 'hello'
print(my_tuple[-1])  # 输出 [4, 5, 6]
print(my_tuple[-1][0])  # 输出 4

元组操作
元组是不可变的,不能修改元素,但是可以进行一些常用的操作,如切片、拼接等。

my_tuple = (1, 2, 3, 4, 5)

print(my_tuple[1:3])  # 输出 (2, 3)
print(my_tuple[:3])  # 输出 (1, 2, 3)
print(my_tuple[::2])  # 输出 (1, 3, 5)

拼接

可以使用 + 运算符来拼接两个元组。

my_tuple1 = (1, 2, 3)
my_tuple2 = ('hello', 'world')

my_tuple3 = my_tuple1 + my_tuple2
print(my_tuple3)  # 输出 (1, 2, 3, 'hello', 'world')

列表和元组的选择

列表和元组都是用来存储一组有序数据的容器,它们的区别在于列表是可变的,而元组是不可变的。因此,如果需要对数据进行增删改操作,应该使用列表;如果数据不需要修改,应该使用元组,因为元组比列表更加轻量级,占用的内存更少。

三丶字符串

Python中的字符串是一种不可变的序列类型,可以使用单引号、双引号或三引号来表示。以下是一些常见的字符串操作:

1.字符串拼接
可以使用加号(+)来拼接两个字符串,也可以使用乘号(*)来重复一个字符串。

str1 = "Hello"
str2 = "World"
str3 = str1 + " " + str2  # 拼接字符串
print(str3)  # 输出:Hello World

str4 = str1 * 3  # 重复字符串
print(str4)  # 输出:HelloHelloHello

2.字符串索引和切片

可以使用索引来访问字符串中的单个字符,索引从0开始。也可以使用切片来访问字符串中的一部分,切片的语法为[start:end:step],其中start表示起始位置(包含),end表示结束位置(不包含),step表示步长(默认为1)。

str = "Hello World"
print(str[0])  # 输出:H
print(str[-1])  # 输出:d
print(str[0:5])  # 输出:Hello
print(str[6:])  # 输出:World
print(str[::2])  # 输出:HloWrd

3.字符串常用方法

Python中的字符串还有许多常用方法,例如:

str = " Hello World "
print(len(str))  # 输出:13
print(str.upper())  # 输出: HELLO WORLD 
print(str.lower())  # 输出: hello world 
print(str.strip())  # 输出:Hello World
print(str.split())  # 输出:['Hello', 'World']

总之,字符串是Python中非常重要的数据类型之一,掌握字符串的基本操作和常用方法对于编写Python程序非常有帮助。

四丶字典

在Python中,字典是一种无序的数据结构,用于存储键值对。字典中的键必须是唯一的,而值可以是任何类型的对象。字典用花括号{}表示,每个键值对之间用逗号分隔。

创建字典的方法

1.直接使用花括号{}创建空字典

my_dict = {}

2.使用键值对创建字典

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}

3.使用dict()函数创建字典

my_dict = dict(name='Tom', age=18, gender='male')

访问字典中的值

可以使用键来访问字典中的值,如果键不存在,则会抛出KeyError异常。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(my_dict['name'])  # 输出Tom

添加或修改字典中的键值对:

可以使用赋值语句来添加或修改字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
my_dict['name'] = 'Jerry'  # 修改name的值
my_dict['height'] = 180  # 添加新的键值对
print(my_dict)  # 输出{'name': 'Jerry', 'age': 18, 'gender': 'male', 'height': 180}

删除字典中的键值对:

可以使用del语句来删除字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
del my_dict['age']  # 删除age键值对
print(my_dict)  # 输出{'name': 'Tom', 'gender': 'male'}

遍历字典:

可以使用for循环遍历字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
for key, value in my_dict.items():
    print(key, value)

输出:

name Tom
age 18
gender male

其他常用方法:

五丶条件丶循环和其他语句

条件语句

Python中的条件语句包括ifelifelse。它们用于根据条件执行不同的代码块。

if语句的语法如下:

if condition:
    # code block

如果条件为True,则执行代码块。如果条件为False,则跳过代码块。

elif语句用于在if语句中添加多个条件。它的语法如下:

if condition1:
    # code block
elif condition2:
    # code block

如果条件1为True,则执行第一个代码块。如果条件1为False且条件2为True,则执行第二个代码块。如果条件1和条件2都为False,则跳过代码块。

else语句用于在if语句中添加一个默认情况。它的语法如下:

if condition1:
    # code block
elif condition2:
    # code block
else:
    # code block

如果条件1为True,则执行第一个代码块。如果条件1为False且条件2为True,则执行第二个代码块。如果条件1和条件2都为False,则执行else代码块。

循环语句

Python中的循环语句包括forwhile。它们用于重复执行代码块。

for循环用于遍历序列(如列表、元组、字符串等)。它的语法如下:

for variable in sequence:
    # code block

在每次循环中,变量将被设置为序列中的下一个值,并执行代码块。当序列中的所有值都被遍历后,循环结束。

while循环用于在条件为True时重复执行代码块。它的语法如下:

while condition:
    # code block

在每次循环中,检查条件是否为True。如果是,则执行代码块。如果不是,则跳出循环。

其他语句

Python中还有一些其他语句,如breakcontinuepass

break语句用于跳出循环。它的语法如下:

while condition:
    # code block
    if some_condition:
        break

在循环中,如果满足某个条件,则使用break语句跳出循环。

continue语句用于跳过当前循环中的剩余代码,并开始下一次循环。它的语法如下:

while condition:
    # code block
    if some_condition:
        continue
    # remaining code in loop

在循环中,如果满足某个条件,则使用continue语句跳过当前循环中的剩余代码,并开始下一次循环。

pass语句用于在代码块中占位。它的语法如下:

if some_condition:
    pass
else:
    # code block

在代码块中,如果需要占位,则使用pass语句。它不执行任何操作,只是占据一个位置。

六丶函数

在Python中,函数是一段可重用的代码块,用于执行特定的任务。函数可以接受参数并返回值。函数的定义以关键字def开头,后跟函数名和括号,括号中可以包含参数列表。函数体包含在冒号后面的缩进块中。

以下是一个简单的函数示例:

def greet(name):
    print("Hello, " + name + "!")

greet("Alice")

输出:

Hello, Alice!

在这个例子中,greet函数接受一个参数name,并在控制台上打印出一条问候语。

函数可以返回一个值,使用关键字return。以下是一个返回两个数之和的函数示例:

def add_numbers(x, y):
    return x + y

result = add_numbers(3, 5)
print(result)

输出:

8

在这个例子中,add_numbers函数接受两个参数xy,并返回它们的和。我们将函数的返回值存储在变量result中,并在控制台上打印出来。

函数可以有默认参数值,这些值在函数被调用时可以被覆盖。以下是一个带有默认参数值的函数示例:

def greet(name, greeting="Hello"):
    print(greeting + ", " + name + "!")

greet("Alice")
greet("Bob", "Hi")

输出:

Hello, Alice!
Hi, Bob!

在这个例子中,greet函数有一个默认参数值greeting="Hello"。如果我们不提供greeting参数,函数将使用默认值。如果我们提供了greeting参数,它将覆盖默认值。

函数可以接受任意数量的参数,使用星号*。以下是一个接受任意数量参数的函数示例:

def print_numbers(*numbers):
    for number in numbers:
        print(number)

print_numbers(1, 2, 3)
print_numbers(4, 5, 6, 7)

输出:

1
2
3
4
5
6
7

在这个例子中,print_numbers函数接受任意数量的参数,并使用for循环打印它们。

函数可以嵌套在其他函数中。以下是一个嵌套函数的示例:

def outer_function():
    print("Outer function")

    def inner_function():
        print("Inner function")

    inner_function()

outer_function()

输出:

Outer function
Inner function

在这个例子中,outer_function包含一个嵌套函数inner_function。当outer_function被调用时,它将打印一条消息并调用inner_functioninner_function也将打印一条消息。

函数可以作为参数传递给其他函数。以下是一个将函数作为参数的示例:

def add_numbers(x, y):
    return x + y

def apply_function(f, x, y):
    return f(x, y)

result = apply_function(add_numbers, 3, 5)
print(result)

输出:

8

在这个例子中,apply_function函数接受一个函数f和两个参数xy。它将调用f(x, y)并返回结果。我们将add_numbers函数作为参数传递给apply_function,并将结果存储在变量result中。

七丶面向对象

Python是一种面向对象的编程语言,它支持面向对象编程(OOP)。面向对象编程是一种编程范式,它将数据和操作数据的方法组合在一起,形成一个对象。在Python中,对象是由类定义的,类是一种用户定义的数据类型,它包含数据和方法。

Python中的面向对象编程有以下几个关键概念

下面是一个简单的Python类的例子:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name, "and I am", self.age, "years old.")

person1 = Person("Alice", 25)
person1.say_hello()

在这个例子中,我们定义了一个名为Person的类,它有两个属性(nameage)和一个方法(say_hello)。我们使用__init__方法来初始化对象的属性,使用self关键字来引用对象本身。我们还定义了一个say_hello方法,它打印出对象的属性。

我们创建了一个名为person1Person对象,并调用了它的say_hello方法。输出结果为:

Hello, my name is Alice and I am 25 years old.

这是一个简单的面向对象编程的例子,它展示了Python中类和对象的基本概念。在实际编程中,面向对象编程可以帮助我们更好地组织代码,提高代码的可重用性和可维护性。

在Python中,继承是面向对象编程的一个重要概念。继承允许我们创建一个新的类,该类继承了另一个类的属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。

继承

在Python中,继承的语法如下

class ParentClass:
    # 父类的属性和方法

class ChildClass(ParentClass):
    # 子类的属性和方法

在这个例子中,ChildClass 继承了 ParentClass 的所有属性和方法。子类可以使用父类的方法和属性,也可以添加自己的方法和属性。

例如,我们可以定义一个 Person 类作为父类,然后定义一个 Student 类作为子类,继承 Person 类的属性和方法:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name)

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def say_hello(self):
        super().say_hello()
        print("I am a student in grade", self.grade)

在这个例子中,Student 类继承了 Person 类的 __init__方法和 say_hello方法。子类中的 __init__方法使用 super() 函数调用父类的 __init__ 方法,以便子类可以继承父类的属性。子类中的 say_hello 方法使用 super() 函数调用父类的 say_hello 方法,并添加了自己的打印语句。

现在我们可以创建一个 Student 对象并调用它的方法:

student = Student("Alice", 15, 9)
student.say_hello()

输出结果为:

Hello, my name is Alice
I am a student in grade 9

这个例子展示了如何使用继承来创建一个子类,并继承父类的属性和方法。子类可以添加自己的方法和属性,也可以重写父类的方法。

封装

在Python中,封装是指将数据和方法包装在一个类中,以保护数据不被外部直接访问和修改。这样可以确保数据的安全性和一致性,同时也可以隐藏实现细节,使代码更加简洁和易于维护。

Python中实现封装的方式是通过使用访问控制符来限制对类的属性和方法的访问。Python中有两种访问控制符:公有和私有。

公有属性和方法可以被类的外部访问,私有属性和方法只能在类的内部访问。在Python中,私有属性和方法的命名规则是在属性或方法名前加上两个下划线“__”。

下面是一个简单的例子,演示了如何在Python中实现封装:

class Person:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def get_name(self):
        return self.__name

    def get_age(self):
        return self.__age

    def set_name(self, name):
        self.__name = name

    def set_age(self, age):
        self.__age = age

p = Person("Tom", 20)
print(p.get_name())  # 输出:Tom
print(p.get_age())   # 输出:20

p.set_name("Jerry")
p.set_age(25)
print(p.get_name())  # 输出:Jerry
print(p.get_age())   # 输出:25

# 下面这行代码会报错,因为__name是私有属性,外部无法直接访问
# print(p.__name)

在上面的例子中,我们定义了一个Person类,包含了两个私有属性__name__age,以及四个公有方法get_nameget_ageset_nameset_age。通过这些方法,我们可以获取和修改对象的属性值,同时保证了属性的安全性。

需要注意的是,Python中的私有属性和方法并不是真正的私有,只是通过命名规则来实现的。如果知道了私有属性和方法的名称,仍然可以在类的外部访问和修改它们。因此,封装并不是完全保证数据的安全性,而是提高了数据的安全性和可维护性。

类的专有方法

在Python中,类的专有方法是指以双下划线开头和结尾的方法,也称为魔术方法或特殊方法。这些方法在类的实例化、属性访问、运算符重载等方面起着重要作用。以下是一些常用的类的专有方法:

八丶异常与文件处理

异常处理

在Python中,异常处理是一种处理程序中出现错误的方式。当程序出现错误时,Python会引发异常。异常是一种Python对象,表示程序中的错误或异常情况。Python提供了try-except语句来捕获和处理异常。

try-except语句的基本语法如下:

try:
    # 代码块
except ExceptionType:
    # 异常处理代码块

其中,try语句块中包含可能引发异常的代码,如果try语句块中的代码引发了异常,则会跳转到except语句块中执行异常处理代码。

文件处理

Python中的文件处理包括文件的读取、写入和关闭等操作。Python提供了open()函数来打开文件,可以指定文件名、打开模式和编码方式等参数。

打开文件的基本语法如下:

file = open(filename, mode, encoding)

其中,filename是文件名,mode是打开模式,encoding是编码方式。打开模式包括:

读取文件的基本语法如下:

content = file.read()

其中,file是文件对象,read()方法用于读取文件内容。

写入文件的基本语法如下:

file.write(content)

其中,file是文件对象,write()方法用于写入文件内容。

关闭文件的基本语法如下:

file.close()

其中,file是文件对象,close()方法用于关闭文件。

下章讲:python并发编程

上一篇下一篇

猜你喜欢

热点阅读