Python编程快速入门

目录

一、数据类型

       (一) 基本数据类型:

        (二)容器数据类型:

二、控制语句

        1.if语句:如果条件为真,则执行特定的代码块。

        2.循环语句

        3.跳转语句用于改变程序的正常流程

三、面向对象模块化编程综合实例

优点:

以下实例说明基本语法的用法和工程思维的基本规划实战:


Python是一种解释型、动态语言、面向对象的编程语言。以其简单易学的特性著称,语法清晰,代码可读性强,适合快速开发。广泛应用于Web开发数据分析人工智能科学计算自动化脚本等领域。

  1. 静态语言 Cjava在编译时要进行类型检查,变量和表达式在编译时就要确定类型,且在程序运行时不会再改变。编写代码时需要明确指定变量的类型(必须变量的定义),这有助于减少运行时错误,因为很多类型错误会在编译阶段就被捕获。
  2. 动态语言 Python、JavaScript 则在运行时进行类型检查。这意味着变量的类型不是固定的,可以在程序执行期间改变。编写代码时需要明确指定变量的类型,(不需要定义变量)

一、数据类型

       (一) 基本数据类型

        1.   数值类型

  •         整数(int):用于表示正整数、0和负整数,包括二进制、八进制、十进制和十六进制等形式。例如:0b1010、0o12、10、0x1A1。
    •         浮点数(float):用于表示带有小数的数值,包括科学计数法。例如:3.14、4.3e-3、9.8E7。
      •         复数(complex):由实部和虚部组成,用于表示复数。例如:3+4j12。
        •         2.     字符串(str):由零个或多个字符组成的有序字符序列,可以用单引号、双引号或三引号定义。例如:"hello"'Python'"""这是一个多行字符串"""

        3.     布尔值(bool):只有两个值,True和False,用于表示逻辑上的真或假。

        4.     空值(None):表示什么也没有,常用于表示空值或未定义的值。

        5.     二进制类型

                字节(bytes)不可变的字节序列,通常用于处理二进制数据。例如:b'hello'  或                   b1=你好”.encode('utf-8')

                b1=b'\xe4\xbd\xa0\xe5\xa5\xbd',注意:b”你好是错误的。

                字节数组(bytearray)可变的字节序列,用于处理二进制数据。        

                例 如: bytearray(b'hello')。 

                内存视图(memoryview):提供对已存在的二进制数据的访问,但不拥有数据本身。

                例   如:通过内存视图来操作字节对象或数组的一部分

  •                         b1= b'hello'
                            m = memoryview(b1)
    
                            print(m)  # 访问第一个字节
    
                            print(m[0:3])  # 访问前三个字节
    
                            m[0]=1#错了b1字节型(bytes)不能修改
    
                            ba = bytearray(b'hello')
    
                            m = memoryview(ba)
    
                            m[0]=98  #结果ba修改为b'bello'等价ba[0]=98  不能用m[0]=‘b’

        (二)容器数据类型

                Python中的容器类型主要包括以下几种:列表、元组、字符串、集合和字典,元素之间用逗号分隔。每种容器类型都有其特定的用途和特性。

    1. 列表(list):列表是一种有序可变的容器,可以包含不同类型的数据,如数字、字符串、布尔值等。列表使用方括号[]定义。列表支持索引访问、切片操作、添加(append)、删除(remove)、修改元素等操作。[1, "张倩",23,165.5,[ "语文","数学"]],可以定义L=[]或L= list()
    2. 元组(tuple):元组与列表类似,但元组是不可变的,即一旦创建后不能修改。元组使用圆括号()定义,元素之间用逗号分隔。元组支持索引访问和切片操作,但不支持添加、删除或修改元素(1, "张倩",23,165.5,[ "语文","数学"]),可以定义t=tuple((1, "张倩",23,165.5,[ "语文","数学"]))
    3. 集合(set):集合是一种无序且不重复的容器。集合使用大括号{}或set()函数定义。集合的主要优势在于快速成员关系测试和数据去重,支持添加(add)、删除(remove)、交集(union)、差集(difference)等操作。
    4. 字典(dict):字典是一种无序的键/值对集合,字典的键是不可变的,这意味着一旦字典被创建,其键就不能被修改。字典使用花括号{}或dict()函数定义,{键:值,……}。字典支持通过键获取值、添加或修改键/值对、删除键/值对等操作。{'name': 'Alice', 'age': 25}或d1={'name': 'Alice', 'age': 25},访问方式d1['name']="tom"

二、控制语句

注意Python里没有{},使用缩进实现,主要用 缩进对齐 标识代码块的开始和结束,并且是语法的一部分。Python中,缩进不仅用于格式化代码,更重要的是它定义了代码块的范围。

        1.if语句:如果条件为真,则执行特定的代码块。

        例如:if age >= 18:

                        print("你是成年人")
                     else:

                        print("你是未成年人")

        2.循环语句

                for循环:用于遍历容器或字符串(如列表、元组、字典、字符串等)中的元素。

                例如:

                        fruits = ['apple', 'banana', 'orange']

                        for fruit in fruits :

                                print(fruit)

                while循环:在条件为真时一直执行,直到条件变为假。例如:

                        count = 1

                        while count <= 5 :

                                print(count)

                                count += 1

        3.跳转语句用于改变程序的正常流程

        break语句:用于立即退出循环。
                例如:for i in range(10):

                                if i == 5:

                                        break

        continue语句:用于跳过当前循环的剩余部分,继续下一轮循环。

                例如:for i in range(10):

                                if i % 2 == 0:

                                        continue

                                  print(i)

                pass语句:作为一个占位符,什么也不做。例如:pass

三、面向对象模块化编程综合实例

        Python是一种广泛使用的高级编程语言,它以其简洁的语法和强大的库支持而闻名。然而,每种编程语言都有其优缺点:

优点:
  1. 易学性:Python的语法简洁明了,易于阅读和学习,这使得Python成为初学者和有经验的开发者的首选语言。

  2. 丰富的库和框架:Python拥有一个庞大的标准库和第三方库生态系统,例如NumPy(用于科学计算)、Pandas(用于数据分析)、Django(用于Web开发)等,这些库极大地简化了许多常见任务的实现。

  3. 跨平台:Python可以在多种操作系统上运行,包括Windows、macOS和Linux,无需修改代码即可在不同平台上运行。

  4. 高生产率:Python的快速开发周期和高生产率使得它非常适合快速原型开发、脚本编写和自动化任务。

  5. 社区支持:Python拥有一个活跃和友好的社区,这为开发者提供了大量的资源、教程和支持。

  6. 动态类型:Python是动态类型的,这意味着你不需要在编写代码时声明变量类型,这增加了编程的灵活性和速度。

        从软件开发的系统性和工程性角度看,初学者很容易忽视或察觉不到软件工程的工程思维,‌‌从而缺少了工程能力的锻炼。基本工程思维具体如下:

‌        模块化将复杂的问题拆分成若干个子问题,每个子问题都是一个模块,每个模块都有自己独立的功能,并且模块之间可以相互协作,共同完成复杂问题的解决。这种方法有助于提高开发效率和代码的可维护性
        代码质量:编写高质量的代码是工程思维的重要体现。高质量代码不仅要求代码的正确性,还要求代码的可读性、可维护性和可扩展性。这包括使用良好的编程习惯、合理的代码结构、清晰的注释等。

以下实例说明基本语法的用法和工程思维的基本规划实战:
import requests as r
from bs4 import BeautifulSoup as soup#装载库,as为别名soup,简化名称方便使用
import pandas as pd

class ComingFilm():#定义类
#定义类的方法,self的作用相当于C++、java 的表示对象自己的this
    def getResponse(self):
        header = {'User-Agent': 'ua.chrome'}#字典类型
        res=r.get('   ',headers=header)#库函数调用


        #print(res.text)
        print(res.status_code)
        #print(res.headers)
        res.encoding='utf-8'
        tree=soup( res.text,'lxml' )
        return tree
    def getData(self,DOMtree):
			# film为list类型,存储每行<tr class="">……</tr>
        film=tree.select('tbody >tr')
        print(film[0])
        print("+++++++++++++++==========")
        filmList=[]
        for f in film:#访问列表每一个元素,f存储每一行
            items=f.select('td')
            row=[]
            for item in items:#提取每一行的每一列
                #print(item.get_text())
                row.append(item.get_text().strip().replace('\n', ''))#容器list的方法
    
            filmList.append(row)
            #print(row)
        self.saveData(filmList)
    
    def saveData(self,filmList):   
        print(filmList[0:2])#切片访问list
        print("+++++++++++++++==========")
        d=pd.DataFrame(filmList,columns=['data','name','type','loc','Wperson'])
        #DataFrame是一种二维的表格型数据结构,
        print(d[0:2][:])#切片访问dic
        print("+++++++++++++++==========")
        print(d)
        d.to_csv("Coming5.csv",index=False,encoding='utf-8-sig',mode='+a')
         #DataFrame存储到Coming5.csv文件

if __name__=="__main__" :
   CF= ComingFilm()#创建对象CF
   tree=CF.getResponse()#调用对象的方法
   if not (tree is None):
       CF.getData(tree)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值