python学习

python秋枫 2020-11-16 10:29:45
学习 Python 博客园


一、PYTHON中的元素

1.基本元素

  • 运算符: + - * / %等等
  • 运算顺序:先乘除 再加减 括号最优先
  • 变量:就是一个标签:,由非数字开头的字母、数字、下划线组成,它的内容可以是数值、字符串、列表、元组和字典。
  • 数值,就是数字。如a = 100
  • 字符串,就是用一对双引号、或单引号引起来的内容,只要被引号引起来,就是字符串了。    

如: b = ”Hello World”
100是数值,而 ”100”是字符串。      

  • 转义字符

\t 表示 tab                    \n 表示 换 行

  • %s 占位,用%后的变量替换

如:
a = 100
b = ” HelloWorld ”
print ” point = %s \n \” %s   \” ”  % (a, b)  
打印出:
point=100
” Hello World ”

2.列表

例如:

c = [1,2,3,4,5,6,7] 
d = [”张三”,”李四”,”王五”]  
e =[1,2,3,”4”,”5”,d]

  • 用 列表名[索引号] 索引列表中的元素    

d[0]表示列表 d中的第零个元素“张三”

  • 用列表名[起 : 止]表示切片,从列表中切出相应的元素 前闭后开

c[0:2] 切出 [1,2]
c[ : ] 切出[1,2,3,4,5,6,7] 

  • 用列表名[起 : 止: 步长] 带步长的切片,步长有方向。

如c = [1,2,3,4,5,6,7] ,若切出 [5,4,3,2] 用c[4 :0 :-1]  ; 切出[5,4,3,2,1]用 c[4 ::-1] ;切出 [6,4,2] 用 c[-2 ::-2]; 从倒数第二个开始一直切到头,步长-2

  • 修改:列表名 [ 索引号 ] = 新值
  • 删除:del 列表名[ 索引号 ]  
  • 插入: 列表名.insert(插入位置索引号,新元素)
  • 喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦!群里都是想学习编程的小伙伴哦

3.元组

一旦定义不能改变

f=(1,2,3)

4.字典

  • 字典里放着 {键:值, 键:值, 键:值} n 个键值对

   dic={1:”123”,”name”:”zhangsan”,”height”:180}

  • 用字典名[ 键 ] 索引字典中的值    

  dic[”name”] 表示字典dic 中键”name”对应的值”zhangsan”

  • 修改:字典名 [ 键 ] = 新值
  • 删除:del 字典名[ 键 ]  
  • 插入:字典名[ 新键 ] = 新值

二、python语法

 Python 代码是使用四个空格的缩进表示层次关系的

  • 循环语句
  1. for 变量 in range (开始值,结束值)       例如:
     
  2. for 变量 in 列表名    如:
    M = ['a', 'p', 'o']
    for i in M:
  3. while   条件   :
  4. 终止循环用 break 
  • turtle 模块

import turtle # 导入 turtle 模 块

t = turtle.Pen ( ) #用 turtle 模块中的 Pen 类,实例化出一个叫做 t 的对象

t.forward (像素点)  #让 t 向前走多少个像素点

t.backward (像素点)  #让 t 向前走多少个像素点t.left (角度)         #让 t 左转多少角度 t.right (角度)        #让 t 右转多少角度t.reset ( ) # 让 t 复 位

  • 函数
  1. 函数(function):组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
    比如input()就是一个函数,可以直接使用函数,不用每次重新定义如何从控制台接收输入,所以函数是帮助实现代码复用的。

  2. 定义函数:def    函数名   (参数表):
                          函 数 体 括号里的参数如果不需要可以为空

  3. 使用函数:函数名 (参数表)   

    如 :input("please input your class number:")
    定义:def hi_name(yourname):
                      print ”Hello %s”%yourname 使用:hi_name(”zhangsan”)
    会输出:Hello zhangsan
  4. 函数返回值: return  
         def add(a,b):
               return a+b
         c=add(5,6)               # c 被赋值为 add的返回值 11 
  5. 内建函数:python解释器自带的函数
    如:abs(-10) 返 回 10 


  • 模块

模块(module):是一个 Python 文件,以.py 结尾,包含了 Python 函数等语句。先导入,再使用,用模块.函数名调用。

例如:
import time
time.asctime ( )
输出:'Tue Jan 1621:51:06 2018'

包含有多个模块,如:from PIL import Image

  • 变量作用域

局部变量:在函数中定义的变量,只在函数中存在,函数执行结束不可再用。全局变量,在函数前定义的变量,一般在整个代码最前面定义,全局可用。

喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦!群里都是想学习编程的小伙伴哦

三、类、对象和面向对象的编程

  • 类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。物以类聚人以群分,类是可实例化出对象的模具。
  • 实 例 化 : 对 象 = 类()  如:t = turtle.Pen()
  • 对象:是类实例化出的实体,对象实实在在存在,完成具体工作。
  • 面向对象:程序员反复修改优化类,类实例化出对象,对象调用类里的函数执行具体的操作。


例如在上图中,有动物、哺乳动物和猫。 动物是一个类,他们具有共同的功能:呼吸、移动和吃东西。哺乳动物也是一个类,他们是动物类里的子类,是在动物类的基础上多了喂奶的功能。猫是哺乳动物类的一个子类,猫类在哺乳动物的基础上多了捉老鼠的功能。

类命名时第一个字母常大写,比如 Animals、Mammals 和 Cats 的首字母都大写了。这些类的右侧列出了每个类具有的功能:比如呼吸、移动和吃东西是动物这个类具备的功能,在计算机中用函数的形式表示。喂奶是哺乳动物的功能,是哺乳动物这个类里的函数。捉老鼠是猫类具有的功能,是猫类的函数。

√上面的类是下面类的父类;下面类是上面类的子类

√子类实例化出来的对象,可以使用自身和父类的函数与变量

  • 类的定义: 

class 类名 (父类名) : 
      pass

如果有父类,写在类名后面的括号里;如果没有父类,可以不写括号了。用关键词 pass 占个位置,之后再用具体函数把类补充完整。 

举例:classAnimals:
       pass
classMammals(Animals):
       pass
classCats(Mammals):
       pass

  • 类里定义函数时,语法规定第一个参数必须是 self 。
  • init__函数,在新对象实例化时会自动运行,用于给新对象赋初值。

(1)将猫类实例化出一个叫 kitty 的对象,kitty 有自己的特征属性,比如身上有 10 个斑点:
kitty = Cats(10)        #实例化时运行  init 函数,给 spots 赋值,告知 kitty 有 10 个斑点
print”kitty.spots” #打印出 10
(2)kitty 可以做具体的工作,比如捉老鼠:
kitty.catch_mouse()#对象运行函数,必须用对象.函数名,调用类里的函数
                    #会运行 print ”catch mouse” 故打印出catch mouse

  • 对象调用类里的函数,用对象.函数名
    对象调用类里的变量,用对象.变量名
  • 类内定义函数时,如调用自身或父类的函数与变量,须用self.引导, 应写为 self.函数名或 self.变量名

代码验证:



  • 补充:

Python 中虽然没有访问控制的关键字,例如 private、protected 等等。但是,在Python 编码中,有一些约定来进行访问控制。

单下划线、双下划线、头尾双下划线说明: 

_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 frommodule import *

  foo:双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

  foo__: 头尾双下划线定义的是特列方法,类似init() 之类的。

四、文件操作

 

  • 文件写操作

import pickle

开:文件变量= open(”文件路径文件名”, ”wb”)
存:pickle.dump(待写入的变量,文件变量)
关:文件变量.close()     

代码验证:          

  • 文件读操作

import pickle

开:文件变量= open(”文件路径文件名”, ”rb”)
取:放内容的变量 =pickle.load(文件变量)
关:文件变量.close()                      

代码验证:

喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦!群里都是想学习编程的小伙伴哦

版权声明
本文为[python秋枫]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/chenyunhui1994/p/13983824.html

  1. 利用Python爬虫获取招聘网站职位信息
  2. Using Python crawler to obtain job information of recruitment website
  3. Several highly rated Python libraries arrow, jsonpath, psutil and tenacity are recommended
  4. Python装饰器
  5. Python实现LDAP认证
  6. Python decorator
  7. Implementing LDAP authentication with Python
  8. Vscode configures Python development environment!
  9. In Python, how dare you say you can't log module? ️
  10. 我收藏的有关Python的电子书和资料
  11. python 中 lambda的一些tips
  12. python中字典的一些tips
  13. python 用生成器生成斐波那契数列
  14. python脚本转pyc踩了个坑。。。
  15. My collection of e-books and materials about Python
  16. Some tips of lambda in Python
  17. Some tips of dictionary in Python
  18. Using Python generator to generate Fibonacci sequence
  19. The conversion of Python script to PyC stepped on a pit...
  20. Python游戏开发,pygame模块,Python实现扫雷小游戏
  21. Python game development, pyGame module, python implementation of minesweeping games
  22. Python实用工具,email模块,Python实现邮件远程控制自己电脑
  23. Python utility, email module, python realizes mail remote control of its own computer
  24. 毫无头绪的自学Python,你可能连门槛都摸不到!【最佳学习路线】
  25. Python读取二进制文件代码方法解析
  26. Python字典的实现原理
  27. Without a clue, you may not even touch the threshold【 Best learning route]
  28. Parsing method of Python reading binary file code
  29. Implementation principle of Python dictionary
  30. You must know the function of pandas to parse JSON data - JSON_ normalize()
  31. Python实用案例,私人定制,Python自动化生成爱豆专属2021日历
  32. Python practical case, private customization, python automatic generation of Adu exclusive 2021 calendar
  33. 《Python实例》震惊了,用Python这么简单实现了聊天系统的脏话,广告检测
  34. "Python instance" was shocked and realized the dirty words and advertisement detection of the chat system in Python
  35. Convolutional neural network processing sequence for Python deep learning
  36. Python data structure and algorithm (1) -- enum type enum
  37. 超全大厂算法岗百问百答(推荐系统/机器学习/深度学习/C++/Spark/python)
  38. 【Python进阶】你真的明白NumPy中的ndarray吗?
  39. All questions and answers for algorithm posts of super large factories (recommended system / machine learning / deep learning / C + + / spark / Python)
  40. [advanced Python] do you really understand ndarray in numpy?
  41. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行
  42. [advanced Python] Python advanced column main readme: never forget the original intention and forge ahead
  43. python垃圾回收和缓存管理
  44. java调用Python程序
  45. java调用Python程序
  46. Python常用函数有哪些?Python基础入门课程
  47. Python garbage collection and cache management
  48. Java calling Python program
  49. Java calling Python program
  50. What functions are commonly used in Python? Introduction to Python Basics
  51. Python basic knowledge
  52. Anaconda5.2 安装 Python 库(MySQLdb)的方法
  53. Python实现对脑电数据情绪分析
  54. Anaconda 5.2 method of installing Python Library (mysqldb)
  55. Python implements emotion analysis of EEG data
  56. Master some advanced usage of Python in 30 seconds, which makes others envy it
  57. python爬取百度图片并对图片做一系列处理
  58. Python crawls Baidu pictures and does a series of processing on them
  59. python链接mysql数据库
  60. Python link MySQL database