1、基础语法

编码、标识符、保留字、注释、行与缩进...

2、变量类型

(1)Python3有6个标准的数据类型:

  • Numbers(数字)

     数字数据类型用于存储数值

     不可改变的数据类型

    可细分为 int、float、bool、complex(复数),没有python2中的long

  • String(字符串)

      字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符

     变量[头下标:尾下标]

     反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

    字符串可以用+运算符连接在一起,用*运算符重复。

    Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。

      Python中的字符串不能改变。

  • List(列表)

     列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

     列表是写在方括号([])之间、用逗号分隔开的元素列表。

    和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

    列表截取的语法格式:变量[头下标:尾下标],索引值以 0 为开始值,-1 为从末尾的开始位置。

  • Tuple(元组)

    元组(tuple)与列表类似,不同之处在于元组的元素不能修改。

    元组写在小括号(())里,元素之间用逗号隔开。

    元组中的元素类型也可以不相同

  • Sets(集合)

     集合(set)是一个无序不重复元素的序列

     基本功能是进行成员关系测试和删除重复元素

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    创建格式:parame = {value01,value02,...} 或者 set(value)

  • Dictionary(字典)

    列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合

    键(key)必须使用不可变类型

    在同一个字典中,键(key)必须是唯一

(2)数据类型转换

常用函数

描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

3、注释

l  单行注释以 # 开头

l  多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来

4、运算符

(1)算术运算符: +、-、*、/、%、**(幂 - 返回x的y次幂,如a**b 为10的21次方)、//(取整除 - 返回商的整数部分);

(2)比较运算符:==、!=、>、<、>=、<=

(3)赋值运算符:=、+=、-=、*=、/=、%=、**=(幂赋值运算符)、//=

(4)位运算符:&、|、^、~、<<、>>

(5)逻辑运算符:and、or、not

(6)成员运算符:in(如果在指定的序列中找到值返回 True,否则返回 False),not in(与in相反)

(7)身份运算符:is(is 是判断两个标识符是不是引用自一个对象)、is not(is not 是判断两个标识符是不是引用自不同对象)

(8)运算符优先级(从高到低):

运算符

描述

**

指数 (最高优先级)

~ + -

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位 'AND'

^ |

位运算符

<= < > >=

比较运算符

<> == !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not or and

逻辑运算符

5、条件控制

if 语句:

  

 if condition_1:   

      statement_block_1 

   elif condition_2:   

     statement_block_2 

   else:     

     statement_block_3

6、循环语句

(1)while

while 判断条件:

       语句

else:

       statement_block  

注:while … else 在条件语句为 false 时执行 else 的语句块。

(2)for

for <variable> in <sequence>:
     <statements>
else:
     <statements>

(3)break、continue与pass 

break语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

pass 不做任何事情,一般用做占位语句。

7、函数

(1)函数定义:

def 函数名(参数列表):   

    函数体

(2)参数传递:

实际传递的是可变类型(list,dict )和不可变类型(strings, tuples,  numbers和Sets )。

(3)参数类型:

1) VAR_POSITIONAL

参数类型为VAR_POSITIONAL时,即*args参数(接收的是一个tuple),只能通过位置传值,如:

def func_a(*args):

           print(args)

# 通过位置传值

func_a('alex', 'timeflow')

2)VAR_KEYWORD

参数类型为VAR_KEYWORD,即 **kwargs参数(接收的是一个dict),只能通过关键字传值,如:

def func_b(**kwargs):

          print(kwargs)

# 通过关键字传值

func_b(a=1, b=2)

3)POSITIONAL_OR_KEYWORD

此参数前面没有VAR_POSITIONAL类型参数,可以通过位置或关键字传值,如:

def func_c(args):

         print(args)

# 通过位置传值

func_c(1)

# 通过关键字传值

func_c(args=1)

4)KEYWORD_ONLY

此参数前面存在VAR_POSITIONAL类型的参数,只能通过关键字传值,如:

def func_d(*args, age, sex):

            print(args, age, sex)

# 只能通过关键字传值

func_d('alex', age=24, sex='man')

5)POSITIONAL_ONLY

只能通过位置传值的参数。Python并没有明确的语法去定义一个只能通过位置传值的函数参数,但是在很多内置和扩展模块的函数会接受这种类型的参数。

(4)匿名函数

可使用 lambda 来创建匿名函数。

lambda 函数的语法:

lambda [arg1 [,arg2,.....argn]]:expression

示例:

#lambda

sum = lambda arg1, arg2: arg1 + arg2;

# 调用sum函数

print ("相加后的值为 : ", sum( 10, 20 ))

(5)变量

1)作用域

u  L (Local) 局部作用域

u  E (Enclosing) 闭包函数外的函数中

u  G (Global) 全局作用域

u  B (Built-in) 内建作用域

以L –> E –> G –>B 的规则查找。

2)global 和 nonlocal关键字

当内部作用域想修改外部作用域的变量时,就可用到global和nonlocal关键字:

l  修改全局变量,global

l  修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量,使用 nonlocal 关键字

8、文件读写

常用的读写模式:

模式

r

r+

w

w+

a

a+

+

+

+

+

+

+

+

+

+

创建

+

+

+

+

覆盖

+

+

指针在开始

+

+

+

+

指针在结尾

+

+

9、面向对象

(1)类定义

class ClassName:       

   <statement-1>         

         .        

         .      

  <statement-N>

(2)继承

class DerivedClassName(Base1, Base2, Base3):       

    <statement-1>         

          .      

          .       

     <statement-N>     

(3)类属性和方法

1)类的私有属性

__private_attrs:两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。

2)类的方法

在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定是用 self。

3)类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类地外部调用。self.__private_methods。

(4)类的专有方法

__init__ : 构造函数,在生成对象时调用

__del__ : 析构函数,释放对象时使用

__repr__ : 打印,转换

__setitem__ : 按照索引赋值

__getitem__: 按照索引获取值

__len__: 获得长度

__cmp__: 比较运算

__call__: 函数调用

__add__: 加运算

__sub__: 减运算

__mul__: 乘运算

__div__: 除运算

__mod__: 求余运算

__pow__: 乘方

可对运算符进行重载。

10、标准库

说明

操作系统接口

os模块提供了不少与操作系统相关联的函数。

文件通配符

glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:

命令行参数

通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。

错误输出重定向和程序终止

sys 还有 stdin,stdout 和 stderr 属性,即使在 stdout 被重定向时,后者也可以用于显示警告和错误信息。

字符串正则匹配

re模块为高级字符串处理提供了正则表达式工具。

数学

math模块为浮点运算提供了对底层C函数库的访问;random提供了生成随机数的工具

网络

urllib.request、smtplib

日期和时间

datetime

数据压缩

zlib,gzip,bz2,zipfile,以及 tarfile

...

...

11、多线程

Python3 中thread 模块已被废弃。目前可以使用 threading 模块代替。但为了兼容性,Python3 将 thread 重命名为 "_thread"。

(1)创建线程的两种方式:

1)调用 _thread 模块中的start_new_thread()函数来产生新线程

_thread.start_new_thread ( function, args[, kwargs] ):

参数说明:

u  function - 线程函数。

u  args - 传递给线程函数的参数,他必须是个tuple类型。

u  kwargs - 可选参数。

2)threading

从 threading.Thread 继承创建一个新的子类,并实例化后调用 start() 方法启动新线程,即它调用了线程的 run() 方法;

(2)线程同步

使用 Thread 对象的 Lock 和 Rlock 可以实现简单的线程同步,这两个对象都有 acquire 方法和 release 方法,对于那些需要每次只允许一个线程操作的数据,可以将其操作放到 acquire 和 release 方法之间。

主要参考:python教程

  

python3基础入门-知识点简记的更多相关文章

  1. 2. Python3 基础入门

    Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...

  2. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

  3. MyBatis基础入门--知识点总结

    对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exceptio ...

  4. Python基础入门知识点——if 语句简介

    前言 if 语句是最简单的选择结构.如果满足条件就执行设定好的操作,不满足条件就执行其他其他操作. 判断的定义 如果 条件满足,才能做某件事情, 如果 条件不满足,就做另外一件事情,或者什么也不做 判 ...

  5. Python基础入门知识点——Python中的异常

    前言 在先前的一些章节里你已经执行了一些代码,你一定遇到了程序“崩溃”或因未解决的错误而终止的情况.你会看到“跟踪记录(traceback)”消息以及随后解释器向你提供的信息,包括错误的名称.原因和发 ...

  6. Python基础入门知识点——深浅拷贝

    深浅拷贝 对象引用.浅拷贝.深拷贝(拓展.难点.重点) Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果 其实这个是由于共享内存导致的结果 拷贝 ...

  7. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  8. Python3零基础入门学习视频+源码+课件+习题-小甲鱼

    目录 1. 介绍 2. 目录 3. 下载地址 1. 介绍 适用人群 完全零基础入门,不需要任何前置知识. 课程概述 本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程. 前半 ...

  9. Python基础入门一文通 | Python2 与Python3及VSCode下载和安装、PyCharm激活与安装、Python在线IDE、Python视频教程

    目录 1. 关键词 2. 推荐阅读 2.1. 视频教程 3. 本文按 4. 安装 4.1. 视频教程 4.2. 资源下载 4.3. 安装教程 1. 关键词 Python2 与Python3及VSCod ...

随机推荐

  1. 利用H5构建地图和获取定位地点

    地图与地理定位 定位在大部分项目中都需要实现,如何实现主要有如下的几种方法 H5定位 在HTML5中navigator有很强大的功能,其中就有定位的方法 navigator.geolocation.g ...

  2. Java高级工程师——面试总结

    面试技巧 1.背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目.技术都无法描述清楚的话,我想没有 ...

  3. springboot之fastjson

    <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifac ...

  4. JavaScript var的作用域和提升

    在ES6标准之前,var 作为唯一的声明变量关键字,本篇将着重介绍var的作用域和变量提升. 1. var Hoisting(变量提升) va rHoisting:使用var在函数或全局内任何地方声明 ...

  5. python_14_生成器

    什么是生成器? -- 动态的生成有规律的列表和元组,查询多少才会生成多少数据,不需要时数据不存在 - 大到10几万数据,就省空间了 什么是列表生成式? -- [ handle_i_result for ...

  6. JSP错误页面的处理和exception对象

    exception对象可以使用的主要方法如下所示. l        getMessage():该方法返回错误信息. l        printStackTrace():该方法以标准错误的形式输出一 ...

  7. android新建项目

    MinMum Required SDK :最低支持的Android api的版本,你的应用不能在低于这个版本的手机上面运行 Target SDK:你的应用最高支持android api版本 Compi ...

  8. linux判断文件是否存在

    #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参 ...

  9. Sql Server的艺术(二) SQL复杂条件搜索

    本次讲到where字句中经常用到的集中较为复杂的搜索条件,包括组合的查询条件.IN运算符.NOT运算符.LIKE运算符和相关通配符. 学习本节需要用到一下两张表: CREATE TABLE TEACH ...

  10. CentOS7下 Java、Tomcat、MySQL、Maven热部署

    本文介绍了CentOS7 64位下Java.Tomcat.MySQL.Maven热部署等服务器环境的搭建和调试过程. 学生服务器资源获取方法: 云+校园计划 - 腾讯云 阿里云云翼计划 github ...