引:此文是自己学习python过程中的笔记和总结,适合有语言基础的人快速了解python3和没基础的作为学习的大纲,了解学习的方向、知识点;笔记是从多本书和视频上学习后的整合版。

(一)初识python

1、一般文件以.py为格式;用#作注释.

2、一般对象不用特别声明,python会自动识别;一个对象也可以重新绑定到不同数据类型,因为python采用的是动态类型机制;但对已经声明过的对象则不能改变。

3、输出print("a"),在python控制台中也可以直接用这个对象名称,就会打印出来,用print打印多个字符串可用逗号连接,想将多个print打印在同一行,可以print后加上end=参数(例:print(x,end=" "),会以空格分隔)。输入input()

4、字符串可以用双引号或者单引号封装;

5、一个字符串可以通过[]来提取序列中的某一项;"abcd"[1]=="b";

6、len()会返回一个元组的长度;

7、元组的元素追加append,x.append("more");或者list.append(x,"more");元组也可以通过[]提取组内的某一个元素;

8、python语句结尾可不用标点符号,两个语句之间也可用分号分隔.

9、代码中的缩进排版方式是会影响程序的运行结果的!!!而且是非常非常重要...

10、内置打开文件函数open()返回一个文件对象(如果是文本文件,则类型为io.TestIOWrapper),函数有一个必须参数(文件名,可包含路径)和6个可选参数。

常用格式:fin=open(filename,encoding="utf8")  #for reading text

fout=open(filename,"w",encoding="utf8")  #for writing text(如果参数是"a"则是以追加形式写入文件中)

写入数据时用fout.write(string)。从文件里读取到内容的格式是str,被写入的内容也须是str格式的对象。

11、随机数需导入random模块,后用:

x=random.randint(1,6)   #产生给定范围的随机数

y=random.choice(["appel","cherry","a","b"])  #在给定选择项中随机选择一项。

z=random.sample(iterable,limit);iterable为序列类,limit表示生成的最大数量,且limit<=len(iterable)。因为生成的随机序列中iterable中的每个项最多出现一次。其结果z为一个list。

12、将全大写字母表示的标识符看作常量是python的一个约定。

13、对于不了解的函数可用help()命令来看看函数的说明,可用dir()模块名来查看模块内的所有函数名。

14、如果要将一个命令写在两行,可以在第一行的末尾加上转义字符 \ 即可。

(二)逻辑操作符

1、身份操作符(is,is not):用于判断两个对象的引用对象是否指向相同的对象,返回bool值.否定比较可以用is not;

2、比较操作符(<,>,<=,>=,==,!=):因为python使用Unicode编码表示字符串,对包含非ASCII字符的字符串比较更微妙和复杂.在python较有特点的就是可以进行结链比较: a=3,1<a<4(True);

3、成员操作符(in,not in):用于判断一个元素是否存在于一个元组或者集合中,返回bool值.

4、逻辑运算符(and,or,not):and(&)结果为and后边元素结果,or(|)为前边元素结果.not返回bool值,将原值反转.

在python中预定义为常量False的bool表达式、特殊对象None、空序列或集合、值为0的数值型数据项的bool结果为False,其他的都为True.

追加的还有:^(xor),<<左移,>>右移,~反转。

(三)算术操作符

+、-、*、/、+=、*=,对于后两种增强赋值操作符的对象必须是iterable.对于列表进行扩展需对欲增加元素用[]包围。

//除取整,%取余,**(pow())幂,abs()返回绝对值,divmod(x,y)以二元组形式返回x/y所得商和余数(两个整数),round(x,n)返回浮点数x四舍五入得到的整数(如果n有值,则返回相应位数的浮点数)

(四)控制流语句

suite:指一条或多条语句组成的序列。

1、if...else语句:

if boolean_expression1:
  suite1;
elif boolean_expression2:
  suite2;
else:
  ...
(注意有冒号,如果需要考虑某个特定情况但又不需要对它进行处理,那么就可以使用pass作为该分支的suite,pass是一个空语句。)

2、while语句:

while boolean_expression:
  suite
(通过break、continue对循环进行控制,break跳出循环,continue结束当前循环,从新开始新的一轮循环;函数中的return也可以达到break的作用,而且都可以用于for语句)。

3、for...in语句:

for variable in iterable:
  suite

4、基本异常处理语句:

try:
  try_suite;
except exception1 as variable1:
  exception_suite1

出现异常跳出的是整个函数,而不是整个程序。

(五)函数

def functionName(arguments):
  suite

下面请看详细内容:

基础篇

一、基本数据类型

二、组合数据类型

三、控制结构与函数

四、文件的读取和写入

五、模块与包

六、面向对象编程(类)

提高篇

七、正则表达式

八、多线程

九、优化python程序的几点建议

十、数据库的使用

十一、常用网络编程模块介绍

应用篇

十二、GUI设计(tkinter模块)

十三、将python程序转换为exe可执行程序

十四、网络爬虫的编写

十五、游戏编程(pygame模块)

十六、浏览器自动化测试(selenium2)

十六、应用程序自动化测试(uiautomation)

十七、手机自动化测试

Python3入门基础教程的更多相关文章

  1. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  2. jQuery Mobile 入门基础教程

    jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架. jQue ...

  3. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  4. 【转】Gulp入门基础教程

    Gulp入门基础教程 原文在此 前言最近流行前端构建工具,苦于之前使用Grunt,代码很难阅读,现在出了Gulp, 真是摆脱了痛苦.发现了一篇很好的Gulp英文教程,整理翻译给大家看看. 为什么使用G ...

  5. HBase入门基础教程之单机模式与伪分布式模式安装(转)

    原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...

  6. HBase入门基础教程 HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...

  7. 经典Spring入门基础教程详解

    经典Spring入门基础教程详解 https://pan.baidu.com/s/1c016cI#list/path=%2Fsharelink2319398594-201713320584085%2F ...

  8. 超实用的Flask入门基础教程,新手必备!

    Flask入门基础教程 Flask简介 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活.轻便.安全且容易上手.它可以很好地结合MVC模式进行开发,开发人员分工合 ...

  9. Python入门基础教程-准备工作

    作为一名Python的忠实爱好者,在Python的学习过程中趟过了很多坑.不论是在基础语法.爬虫.可视化的学习,亦或是在数据挖掘的项目开展中,整个过程有痛苦也有收获,有捶胸顿足也有仰天长笑.所以在以后 ...

  10. python程序入门 基础教程

    1.VSCode基础使用+VSCode调试python程序入门 2.pip 安装 3.scrapy安装 4.python解析xml

随机推荐

  1. Django的message组件(源码分析)

    Django的Message组件(源码分析) 1. 配置 # MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackS ...

  2. 群论中的 Lagrange 定理

    今天跟 hym 打球时讲到了这个东西,突然发现证明拉格朗日定理的思想有许多跟轨道-稳定集定理很像,所以这里又记录一下. 为了证明 Lagrange 定理,我们需要了解一些关于子群和陪集的性质. 首先给 ...

  3. Java的构造方法和标准JavaBean

    构造方法 一.构造方法概述: 构造方法也叫做构造器,构造函数,平时叫做构造方法 二.构造方法的作用: 创建对象的时候,由虚拟机自动调用,给成员变量进行初始化(赋值) 三.构造方法的格式: public ...

  4. 2022-12-29:nsq是go语言写的消息队列。请问k3s部署nsq,yaml如何写?

    2022-12-29:nsq是go语言写的消息队列.请问k3s部署nsq,yaml如何写? 答案2022-12-29: yaml如下: apiVersion: apps/v1 kind: Deploy ...

  5. 2022-10-15:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。 你可以按 任意顺序 返回答案。 要求时间复杂度O(N)。 输入: nums = [1,1,1

    2022-10-15:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素. 你可以按 任意顺序 返回答案. 要求时间复杂度O(N). 输入: nums = [1,1,1 ...

  6. 2020-09-18:LRU手撸,说下时间复杂度和空间复杂度。

    福哥答案2020-09-18: 方法:哈希表 + 双向链表.时间复杂度:对于 put 和 get 都是 O(1).空间复杂度:O(capacity),因为哈希表和双向链表最多存储 capacity+1 ...

  7. uni-app Flex布局

    Flexbox #Flex 容器 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. nvue布局模型基于 CSS Flexbox, ...

  8. pg_enterprise_views偶然发现的PG神仙插件!

    一直从事数据库相关的工作,对于PG而言最大的问题其实是在运维管理方面,其缺乏有效且直观成体系的系统表,苦觅良久,今日在PG官网中发现了一款新收录的免费插件,其提供了数十张系统表,内容涵盖了从操作系统到 ...

  9. 17.AQS中的Condition是什么?

    欢迎关注:王有志 期待你加入Java人的提桶跑路群:共同富裕的Java人 今天来和大家聊聊Condition,Condition为AQS"家族"提供了等待与唤醒的能力,使AQS&q ...

  10. lec-5-Policy Gradients

    直接策略微分 Goal: idea:求最大值:直接求导 tip:利用log导数等式进行变换 具体推导: 理解策略梯度 假定开始policy服从高斯分布,采样得到回报,计算梯度,根据reward增加动作 ...