Python特点
type
status
date
slug
summary
tags
category
icon
password
Property
 
notion image
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
 

Python的优势

变量与常量
type
status
date
slug
summary
tags
category
icon
password
Property
 

关键字

一些具有特殊功能的标识符(关键字),Python已经使用,所以不允许开发者自己定义和关键字相同名的标识符:
 

变量

变量组成的三大部分:变量名 = 变量值
  • 变量在程序中就是用一个变量名表示,变量名指向变量值所在的内存地址,是访问变量值的唯一方式
  • =用来将变量值的内存地址绑定给变量名
  • 变量值就是真是需要的数据
变量名必须是大小写英文、数字和_的组合,且不能用数字开头:
数据类型
type
status
date
slug
summary
tags
category
icon
password
Property
 

 
Python主要有8种数据类型:Number(数字)、Boolean(布尔值)、None(空值)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)
 
 
 

Number(数字)

整数

编码和字符串操作
type
status
date
slug
summary
tags
category
icon
password
Property

 

编码

字符串比较特殊的是还有一个编码问题。
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可表示最大整数是65535,4个字节可表示最大整数是4294967295

ASCII编码

由于计算机是美国人发明的,因此最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122
notion image
 
输入输出与格式化
type
status
date
slug
summary
tags
category
icon
password
Property
 

 

注释

 

冒号:

Python每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。缩进有利有弊,好处是强迫你写出格式化的代码。Python没有规定缩进是几个空格还是Tab,按照约定俗成的惯例,应该始终坚持使用4个空格的缩进。
 
运算符
type
status
date
slug
summary
tags
category
icon
password
Property

算数运算符

假设变量a=2,b=3,c=5的情况下,算数运算符如下:
notion image
 

赋值运算符

notion image
 

位运算符

条件判断和循环
type
status
date
slug
summary
tags
category
icon
password
Property

 

条件判断

elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if判断条件还可以简写,比如写:
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False
内置函数
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:
调用函数的时候,如果传入的参数数量不对,会报TypeError的错误;传入的参数数量是对的,但参数类型不能被函数所接受,也会报TypeError的错误
 
notion image
数据类型转换
enumerate
eval
all、any
定义函数
type
status
date
slug
summary
tags
category
icon
password
Property
目录
目录

 
Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后在缩进块中编写函数体,最后用return语句返回返回值
如果已经把my_abs()的函数定义保存为abstest.py文件了,那么可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数
 

空函数

如果想定义一个什么事也不做的空函数,可以用pass语句:
函数的参数
type
status
date
slug
summary
tags
category
icon
password
Property

 
定义函数的时候,把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。
Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数可变参数关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化代码。
 

位置参数

一个计算的函数:
对于power(x)函数,参数x就是一个位置参数。调用power函数时,必须传入有且仅有的一个参数xpower(5)
切片和迭代
type
status
date
slug
summary
tags
category
icon
password
Property
目录
目录

 

切片

取一个listtuple的部分元素是非常常见的操作。比如,一个list
取前3个元素,应该怎么做?笨办法:
对这种经常取指定索引范围的操作,用循环十分繁琐,因此Python提供了切片(Slice)操作符,大大简化这种操作。
 
列表生成式
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以:
 
但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?
方法一是循环:
 
循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list