首页 > 分享 > 【Python】基础

【Python】基础

文章目录 1.概述 ⑴Python的优缺点 ⑵代码注释 ⑶Python运行机制 ⑷Python和Java的区别 2.基础语法 ⑴python常用数据类型 ⑵变量命名 ⑶变量使用 ⑷运算符 ⑸if语句 ⑹循环结构 for-in循环 while循环 ⑺函数 3.面向对象 ⑴概述 ⑵@property装饰器 ⑶ __slots__魔法 ⑷ 静态方法和类方法 ⑸ 抽象类和抽象方法 4.多进程基础 ⑴概述 ⑵举例 5.多线程基础 ⑴概述 ⑵全局解释器锁(GIL) 6.垃圾回收 ⑴概述 ⑵引用计数机制 ⑶标记-清除 ⑷分代收集 7.字符串 ⑴创建字符串 ⑵python字符串格式化: ⑶Python三引号 8.列表 ⑴列表基础 ⑵列表操作 ①访问列表中的值 ②更新列表 ③删除列表 9.元组 ⑴元组概述 ⑵访问元组 ⑶修改元组 ⑷删除元组 10.字典 11.装饰器 ⑴什么是装饰器 ⑵装饰器的例子 ①简单的方法装饰器 ②通用装饰器 ③类装饰器 ⑶装饰器原理 12.反射 ⑴概述 ⑵反射使用 ⑶例子 13.内省 1.概述 ⑴Python的优缺点 Python的优点 解释型语言,天生具有平台可移植 支持两种主流的编程范式(面向对象编程和函数式编程)都提供了支持 可扩展性和可嵌入性,可以调用C/C++代码,也可以在C/C++中调用Python Python的缺点 执行效率稍低,因此计算密集型任务可以由C/C++编写 代码无法加密 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误 ⑵代码注释 单行注释 - 以#和空格开头的部分 多行注释 - 三个引号开头,三个引号结尾 ⑶Python运行机制 执行a.py文件,如果不存在import命令,则对a.py代码进行编译,生成中间字节码PyCodeObject,以a.pyc的格式存储。 如果引用了b.py则会检查b.py是否被编译生成了b.pyc,如果存在还需要检查b.pyc的修改时间是否等于源文件最近的修改时间,如果一样,则直接调用b.pyc。 中如果检查不存在b的pyc文件或者b.pyc文件修改时间与源文件最近修改时间不对应,则需要重新对b.py文件进行编译,产生中间字节码,存储与b.pyc中,再根据字节码进行解释执行。 ⑷Python和Java的区别 JAVA执行速度快 python入门简单 Java需要先编译代码,而Python不用编译就能运行 2.基础语法 ⑴python常用数据类型 整型,python3支持int类型和二进制,八进制,十进制,十六进制表示法。 浮点型,小数 字符串型,单引号或双引号括起来的任意文本,还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾) 布尔型,布尔值只有True、False两种值 复数型,形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j ⑵变量命名 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。 大小写敏感(大写的a和小写的A是两个不同的变量)。 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。 ⑶变量使用 用小写字母拼写,多个单词用下划线连接 受保护的实例属性用单个下划线开头 私有的实例属性用两个下划线开头 ⑷运算符

在这里插入图片描述

⑸if语句

if、elif和else关键字,Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

""" 分段函数求值3x - 5(x > 1) f(x) =x + 2(-1 <= x <= 1)5x + 3(x < -1) """ x = float(input('x = ')) if x > 1: y = 3 * x - 5 else: if x >= -1: y = x + 2 else: y = 5 * x + 3 print('f(%.2f) = %.2f' % (x, y))

12345678910111213141516 ⑹循环结构

在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。也是有break和continue的。

for-in循环 range(101)可以产生一个0到100的整数序列 range(1, 100)可以产生一个1到99的整数序列 range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量

sum = 0 for x in range(2, 101, 2): sum += x print(sum) 1234 while循环

import random answer = random.randint(1, 100) counter = 0 while True: counter += 1 number = int(input('请输入: ')) if number < answer: print('大一点') elif number > answer: print('小一点') else: print('恭喜你猜对了!') break print('你总共猜了%d次' % counter) if counter > 7: print('你的智商余额明显不足')

1234567891011121314151617 ⑺函数

在Python中可以使用def关键字来定义函数,在函数名后面的圆括号中可以放置传递给函数的参数,而函数执行完成后我们可以通过return关键字来返回一个值。
在Python中,函数的参数可以有默认值,也支持使用可变参数。

默认值

from random import randint def roll_dice(n=2): """ 摇色子 :param n: 色子的个数 :return: n颗色子点数之和 """ total = 0 for _ in range(n): total += randint(1, 6) return total def add(a=0, b=0, c=0): return a + b + c # 如果没有指定参数那么使用默认值摇两颗色子 print(roll_dice() print(add()) print(add(1)) # 传递参数时可以不按照设定的顺序进行传递 print(add(c=50, a=100, b=200))

1234567891011121314151617181920212223 可变参数

def add(*args): total = 0 for val in args: total += val return total print(add()) print(add(1)) 12345678 3.面向对象 ⑴概述

在Python中可以使用class关键字定义类

class Student(object): # __init__是一个特殊方法用于在创建对象时进行初始化操作 # 通过这个方法我们可以为学生对象绑定name和age两个属性 def __init__(self, name, age): self.name = name self.age = age def study(self, course_name): print('%s正在学习%s.' % (self.name, course_name)) # PEP 8要求标识符的名字用全小写多个单词用下划线连接 # 但是部分程序员和公司更倾向于使用驼峰命名法(驼峰标识) def watch_movie(self): if self.age < 18: print('%s只能观看《熊出没》.' % self.name) else: print('%s正在观看岛国爱情大电影.' % self.name)

123456789101112131415161718

然后我们可以通过下面的方式使用这个对象:

def main(): # 创建学生对象并指定姓名和年龄 stu1 = Student('骆昊', 38) # 给对象发study消息 stu1.study('Python程序设计') # 给对象发watch_av消息 stu1.watch_movie() stu2 = Student('王大锤', 15) stu2.study('思想品德') stu2.watch_movie() if __name__ == '__main__': main() 12345678910111213

属性和方法的访问权限只有两种,也就是公开的和私有的,如果希望属性是私有的,在给属性命名时可以用两个下划线作为开头,在实际开发中,不建议将属性设置为私有的,因为这会导致子类无法访问(后面会讲到),Python程序员会遵循一种命名惯例就是让属性名以单下划线开头来表示属性是受保护的,本类之外的代码在访问这样的属性时应该要保持慎重

class Test: def __init__(self, foo): self.__foo = foo def __bar(self): print(self.__foo) print('__bar') def main(): test = Test('hello') # AttributeError: 'Test' object has no attribute '__bar' test.__bar() # AttributeError: 'Test' object has no attribute '__foo' print(test.__foo) if __name__ == "__main_

12345678910111213141516

相关知识

python基础语法花多长时间
SKYNE/python
python 字符串方法isalpha()对中文无效
Python基本数据类型
这个好玩!用Python识别花卉种类,并自动整理分类!
python 花卉识别系统 用python搭建一个花卉识别系统(IT技术)
Python机器学习基础教程
python绘制花
《Python程序设计:人工智能案例实践》((美) 保罗·戴特尔(Paul Deitel))【简介
科学网—为什么生态学家要学习Python或者R?

网址: 【Python】基础 https://m.huajiangbk.com/newsview112899.html

所属分类:花卉
上一篇: 室内花草装饰怎么布置?
下一篇: 室内花卉搭配室内花卉推荐