当前位置:网站首页 > Python编程 > 正文

《Python编程从入门到实战》学习心得

一、前言

之前,项目后台基本都是使用 Java 的 SpringBoot 框架完成的,
Python 自去年到现在,一直以来,都是玩着学的,没有想过要应用到项目上。
但近来,科技园这边的吴老师,建议项目中使用 Python 的 Django 框架做后台,因其容易拓展、维护等,这是笨重的 Java 难以企及的。

是时候认真对待 Python ,近来其也火得不行了~
花了一天跳读了一本评价极好的书《Python编程从入门到实战》,以复习一下之前的 Python 基础,同时做了一些小 demo,同时借机对比了 C++、Java、JavaScript 等语言的基础,像读小说般轻松有趣,相当不错的一次体验,分享一下
这里写图片描述

推荐 Python基础 学习网站:
子雨大数据之Spark入门教程(Python版)
Python教程 - 廖雪峰的官方网站
编程小白的第一本 Python 入门书

二、demo

Python解释器有两种,也就是说有两种方式执行Python代码——①交互式编程、②脚本式编程
很多初始教程采用交互式编程
这里笔者借助 pycharm,采用脚本式编程。

1.数据类型

# 1、全体小写 print('Itaem'.lower()) # 2、全体大写 print('Itaem'.upper()) # 3、连接+ print('Itaem'+'团队') # 4、转义:和当年 C++ 课设常用的‘UI’符号一样作用 print('方向:\n\t大数据\n\t云计算\n\t人工智能') # 5、去空:lstrip 去左空、rstrip 去右空 print('----'+' ITAEM '.strip()+'----') # 6、乘方:Python 特色 print(23) # 7、浮点:和 C++ 一致 print(2*0.3,3/2,3.0/2) # 8、字符+ 数字:和 Java 不一样,得先转换先 print('ITAEM有'+str(15)+'个成员') # 9、求模:可以 %2 根据 1/0 定 奇偶 print(5%2) 

2.列表

# 1、列表 CRUD lang=['Java','JavaScript','Python'] # ① 查 # 第一个元素 print(lang[0]) # 最后一个元素,当len=0 时报错,负数即从末尾算起 print(lang[-1]) # ② 改 lang[0]='Go' print(lang) # ③ 增 lang.append('php') print(lang) # ④ 删 del lang[0] print(lang) # ⑤ 删末、用之 print(lang.pop()) print(lang) # ⑥ 删值:只删除第一个指定的值 lang.remove('JavaScript') print(lang) # 2、列表 组织 lang=['Java','C','Python'] # ① 永久排序: # Ⅰ、正:按字母 lang.sort() print(lang) # Ⅱ、反:按字母 lang.sort(reverse=True) print(lang) # ② 临时排序:只排序显示本次 print(sorted(lang)) # print(sorted(lang,reverse=True)) # 反 print(lang) # ③ 倒排序 lang.reverse() print(lang) # ④ 长度 print(len(lang)) # 3、列表 遍历 lang=['Java','C','Python'] # ① for in:和 ES 差不多,就省了( ) for l in lang: print(l) # ② 数值 for v in range(3,9): print(v) # ③ 数值->列表 nums=list(range(3,9)) print(nums) # ④ 统计数字列表 # 最小 print(min(nums)) # 最大 print(max(nums)) # 平均 print(sum(nums)) # ⑤ 列表解析 squares=[v2 for v in range(3,9)] print(squares) # ⑥ 切片 print(squares[:3]) print(squares[0:3]) print(squares[0:]) 

3.元组

ssh=('Spring','Struts2','Hibernate') print(ssh) print(ssh[0]) # ① 元组不能修改 # ssh[0]='xxx' # 报错 # ② 遍历 for v in ssh: print(v) 

4.字典

# 1、创建:基本是 JSON 串、可嵌套 program={ 
    'C++':'good', 'Java':'well', 'Python':['perfect', 'powerful'], 'other':{ 
    'php':'easy', 'C#':'windows' } } print(program) # 2、查 print(program['Java']) # 3、增 program['Go']='excellent' print(program) # 4、改 program['C++']='common' print(program) # 5、删 del program['C++'] print(program) # 6、遍历key-value for k,v in program.items(): print(k,v) # 7、遍历key、排序 for k in sorted(program.keys()): print(k) # 8、遍历value:value 嵌套,排不了序 for v in program.values(): print(v) 

这里写图片描述

5.流程控制

# 1、if-elif-else 判断 SSM=['Spring','SpringMVC','MyBatis'] # 列表部位空返回 True,否则 False if SSM: print('SSM不为空') elif 'Hibernate' not in SSM: print('Hibernate 不属于SSM系列') else: print('结束') # 2、input 输入:默认字符串 # name=input('your name') # print('hello',name) # age=int(input('your age')) # 字符转数值 # if 18==age: # print('perfect!') # 3、while 循环:break 退出、continue 跳过 i=0 total=0 while i<=100: i = i + 1 if i==5: break if i==4: continue total=total+i print(total) 

6.函数

import mymodule as s # 1、定义函数:传参 def sayHello(name,msg='excellent~'): print(name,msg) return 'that`s all' # 2、参数顺序 sayHello('linhongcun!','well done~') # linhongcun! well done~ sayHello(msg='good~',name='larger5!') # larger5! good~ # 3、默认值:和 C++ 一致 sayHello(name='ITAEM!') # ITAEM excellent~ sayHello('ITAEM!') # ITAEM excellent~ # 4、返回值 print(sayHello('04008')) # 5、列表参数 def update(list): list.append('55开') # ① 原件 list=['Python','Java'] update(list) print(list) # ② 副本:禁止修改列表 update(list[:]) print(list) # 6、不定参数 def show(*lan): print(lan) show('Python') show('Python','JavaScript') 

7.类

# 继承 object class People(): def __init__(self,hobby='bb'): self.hobby=hobby class Student(People): # 构造方法 def __init__(self,hobby='bb',name='lvcha',age=15): super().__init__(hobby) self.name=name self.age=age # 类似 Java 的 toString def __str__(self): return str(self.hobby+self.name+str(self.age)) # 定义类 内部函数 def showMSG(self): print('your name:',self.name) print('your age',self.age) s1=Student('progra','linhongcun',21) print(s1.hobby) print(s1) 

8.文件

# 1、传统打开、读取、关闭:和 C++ 基本一致 file1=open('xxx.txt','r') #注意路径 #全部输入,打成一行 content=file1.readlines() print(len(content)) print(content) file1.close() # 2、with 在不需要访问文件后将自动关闭 ✔ with open('xxx.txt','r') as file2: print(file2.read()) # 3、新建写入 with open('zzz.txt','w') as file3: file3.write('I like programming\n') file3.write('I love you\n') # 4、追加 with open('zzz.txt','a') as file4: file4.write('I can`t forget you\n') 

9.异常

# 1、try-except-else try: # print(1/0) print(2/5) except ZeroDivisionError: print('fail by zero') else: print('ok') 

10.JSON

import json # 列表 language1=['Python','Java','JavaScript'] # 字典 language2={ 
    'Python':'powerful', 'Java':'famous', 'JavaScript':'developing' } # 元组 language3=('C++','C','C#','Go') # 1、JSON 写入文件 with open('yyy.txt','w') as file1: # json.dump(language1,file1) json.dump(language2,file1) # json.dump(language3,file1) # 2、读取 JSON 文件 with open('yyy.txt','r') as file2: txt=json.load(file2) print(txt) 

11.pygame

import pygame import sys def run(): # 初始化屏幕 pygame.init() # 窗口大小 screen = pygame.display.set_mode((900, 600)) # 窗口标题 pygame.display.set_caption('吃鸡神坑助手') # 浅灰色 bg_color=(230,230,230) image=pygame.image.load('numberOne.png') rect=screen.get_rect() while True: # 监视键盘、鼠标 for event in pygame.event.get(): if event.type==pygame.QUIT: sys.exit() # 背景颜色 screen.fill(bg_color) # 图片 screen.blit(image,rect) # 显示窗口 pygame.display.flip() # 运行 run() 

这里写图片描述

12.模块化编程

这里写图片描述

参考文章:
使用模块的方法:Python3导入自定义模块的3种方式
使用__.ini.py 以模块化:python引入导入自定义模块和外部文件

1.__init__.py
def show(): print('hello') 
2.test.py
from CrashProject import other other.show() 

13.切片、迭代器、生成器

letter = ['a', 'b', 'c'] num = ['1', '2'] # []->() list = (a + b for a in letter for b in num) print(list) for a in list: print(a) list = [a + b for a in letter for b in num] print(list) 

这里写图片描述

这里写图片描述

14、装饰器

类似 JavaEE Spring 框架的 AOP

# 模拟登陆拦截 def AOPTest(func): print("---登陆前---") func() print("---登陆后---") @AOPTest def f1(): print('调用方法') 

这里写图片描述

15、属性 setter、getter

class Student(object): @property def birth(self): return self._birth @birth.setter def birth(self, value): self._birth = value s1=Student() s1.birth=18 print(s1.birth) 

这里写图片描述

16、多态

class Animal: def __init__(self, name): self.name = name def talk(self): pass @staticmethod # 封装 def animal_talk(obj): obj.talk() class Cat(Animal): def talk(self): print('喵') class Dog(Animal): def talk(self): print('汪') d = Dog("dog1") c = Cat("cat1") Animal.animal_talk(c) Animal.animal_talk(d) 

这里写图片描述

三、其他

1、使用豆瓣加速 pip 模块,如安装:

pip install -i https://pypi.doubanio.com/simple/ django pip install web.py -i http://pypi.douban.com/simple 
到此这篇《Python编程从入门到实战》学习心得的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • python作品_python官方推荐的三本书2024-11-19 09:00:07
  • python机器人代码_python编程入门2024-11-19 09:00:07
  • 爱心代码python复制粘贴_怎么用python编写心形图案2024-11-19 09:00:07
  • 猿编程python怎么样_猿编程app2024-11-19 09:00:07
  • python编程能干什么_python能做什么2024-11-19 09:00:07
  • python开发软件有哪些?Python编程软件2024-11-19 09:00:07
  • python趣味编程100例pdf_趣味编程100例2024-11-19 09:00:07
  • python minecraft_编程2024-11-19 09:00:07
  • 青少年如何从零开始学习Python编程?有它就够了!2024-11-19 09:00:07
  • 迈向AI时代:掌握Python编程与ChatGPT的强强联手2024-11-19 09:00:07
  • 全屏图片