【Python】动手学Python(附示例代码)快速入门

①基本概念

为了对Python有大致的了解,我在这里列出Python与C语言的几点区别,帮助大家更好的理解Python

语言 C语言 Python
类型 解释型高级语言 编译型高级语言
效率
特点 面向对象 面向过程
文件类型 .py .c
变量类型 无需指定 必须指定
范围界定 利用缩进 利用花括号{}
代码分隔 回车 分号;
内存管理 自动管理 手动管理
代码块开始标志 : {

②基础知识

标识符:标识符由字母、数字、下划线组成,不能以数字开头,区分大小写
范围界定:同一代码块语句必须包含相同的缩进空白数量,而不使用花括号{}来界定
字符串表示:可以使用单引号’’、双引号””、三引号””” ””” 三引号可用于多行字符串

【Python】动手学Python(附示例代码)快速入门_第1张图片

注释:单行注释# 多行注释””” ”””
【Python】动手学Python(附示例代码)快速入门_第2张图片

输出函数print()

使用print()进行输出,当输出内容中含有变量时可以使用 %变量类型 进行替换

整型 %d
字符串 %s
浮点数 %f

输出内容用单引号’’ 或双引号"" 均可(当输出内容中含有’时,用",当输出内容含有”时,用’)

print('Hello World')
print("Hello World")
str1 = "你好"
str2 = "世界"
print("输出内容为 %s %s" %(str1,str2))

【Python】动手学Python(附示例代码)快速入门_第3张图片

输入函数input()

variable = input(“提示文字”) 提示文字为要打印的内容,variable为要将输入值赋值的变量
在Python3中使用input()读取的内容将被视为字符串,若要赋值为数值需要进行强转
type(变量)可以获取变量的类型

variable = input("这里是提示内容,请进行输入:")
print(variable)
print(type(variable))
variable = int(input("这里是提示内容,请进行输入:"))
print(variable)
print(type(variable))

【Python】动手学Python(附示例代码)快速入门_第4张图片

导入模块

模块是在代码量变得相当大后,将需要重复使用的代码段放在一块,这部分代码可以导入到现有的Python程序中,导入的过程叫做导入import
导入格式如下
import 模块名 as 别名 使用时 别名.XXX 代表导入整个模块
from 模块名 import 方法名 使用时 方法名( )直接调用 代表从模块中导入某个函数(可同时导入多个函数,以逗号分隔)
安装模块: 在命令行中使用命令 pip install 模块名

#方式一
import time

print(time.time())

#方式二
import time as hellotime

print(hellotime.time())
#方式三
from time import time
print(time())

【Python】动手学Python(附示例代码)快速入门_第5张图片
赋值 =
Python允许同时为多个变量赋值,也允许为多个对象指定多个变量

a=b=c=1
d, e, f = 2, 2.2 , "hello"
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

【Python】动手学Python(附示例代码)快速入门_第6张图片

③数据类型

基本数据类型

Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

type(变量)可以获取变量的类型

数字类型:int(整型)、bool(布尔型)、float(浮点数)、complex(复数)

Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True == 1、False == 0 会返回 True
数值运算:+ - × %均与C语言相同,在这里仅介绍几个Python特有的运算符

/除会返回浮点数
//除是地板除,会直接舍去小数部分,只留下整数部分
**是乘方
Python中没有++,–运算

print(12/5)
print(12//5)
print(3**2)

【Python】动手学Python(附示例代码)快速入门_第7张图片

字符串:’、 “ 、‘’’、 “””均可指定字符串,其中三个单引号或双引号可指定多行字符串, Python无字符类型char

str*N 代表字符串str重复N遍(N为整数)

print("Hello World "*3)

【Python】动手学Python(附示例代码)快速入门_第8张图片

字符串中可使用\转义字符,当不想使\发生转义,要在字符串前加上r

print("Hello \nWorld")
print(r"Hello \nWorld")

【Python】动手学Python(附示例代码)快速入门_第9张图片
字符串是不可变类型
不可以对字符串的内容进行二次修改

a = "Change"
a[0]='H'

【Python】动手学Python(附示例代码)快速入门_第10张图片

元组Tuple:元组不可变,元素写在小括号里(),以逗号分隔 且元素类型可不同 索引下标从0开始
tup = (1, 2.2, "hello")
print(tup)
print(tup[0])
print(tup[1])
tup[0]= 3

报错是由于元组为不可变类型
【Python】动手学Python(附示例代码)快速入门_第11张图片
两个元组之间可以进行比较
两个元组会从对应位置,从左至右开始比较

tup1 = (12,13,1)
tup2 = (12,13,3)
tup3 = (15,13,3)
print("tup1 > tup2吗 ",tup1 > tup2)
print("tup3 > tup2吗 ",tup3 > tup2)

【Python】动手学Python(附示例代码)快速入门_第12张图片

列表List:写在[ ]中,元素之间以逗号分隔,与C语言不同,Python的列表中元素类型可不相同

List是可变类型,元素可以改变

a = [1, 2, 3, 4, 5, 6]
print(a)
a[0]= 9
print(a)
a[3:6]= [1, 2, 3]
print(a)

【Python】动手学Python(附示例代码)快速入门_第13张图片
Python提供增加和删除元素的函数
xxx.append(元素) 在列表最后位置添加元素
xxx.remove(元素) 删除某元素

a = [1, 2, 3, 4, 5, 6]
print(a)
a.append(2.2)
print(a)
a.remove(1)
print(a)

【Python】动手学Python(附示例代码)快速入门_第14张图片

字符串,列表,元组均可以称为序列,有序排列,可以通过下标偏移量访问成员,下标从0开始 XXX[0]
这里介绍一下上面出现的a[3:6]的代码 [:]切片操作符
xxx[m:n] 代表下标从m,到n-1的元素
xxx[-1] 代表最后一个元素
xxx[:] 代表从第一个到最后一个元素
xxx[::-1] 代表倒序,从最后一个元素到第一个元素

a = [1, 2, 3, 4, 5, 6]
print(a[2:4])
print(a[-1])
print(a[:])
print(a[::-1])

【Python】动手学Python(附示例代码)快速入门_第15张图片

集合Set:可以使用大括号{}或set()函数创建集合,创建一个空集合必须使用set(),{}用于创建空字典。由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,基本功能是进行成员关系测试和删除重复元素。

Set支持集合运算,Set是一个无需不重复元素集

a = set(['a','b','c','d','e'])
print("a = ",a)
b = {'a','b','f'}
print("b = " ,b)
print("a和b的差集 ",a-b)  #计算a和b的差集
print("a和b的并集 ",a|b)  #计算a和b的并集
print("a和b的交集 ",a&b)  #计算a和b的交集
print("a和b不同时存在的元素 ",a^b)  #计算a和b中不同时存在的元素

【Python】动手学Python(附示例代码)快速入门_第16张图片

字典Dictionary:用{}表示,是无序的key(键):value(值)字典元素通过键来存取,key必须使用不可变类型,且key不能重复。

形式为 {key1:value1,key2: value2}

dict = {'x':1, 'y':2}
print(dict)
print(dict['x'])
dict['z']=3
print(dict)

【Python】动手学Python(附示例代码)快速入门_第17张图片
遍历字典
借助Python中提供的函数
dict.keys()取出字典中所有的key
dict.values()取出字典中所有的key
dict.items()取出字典中所有的key,value

dict = {'x':1, 'y':2}
for each_key in dict.keys():
    print('key: ',each_key)
print('----------')
for each_value in dict.values():
    print('key: ',each_value)
print('----------')
for key,value in dict.items():
    print('key: ',key,'value: ',value)
print('----------')
for item in dict.items():
    print('key: ',item[0],'value: ',item[1])

【Python】动手学Python(附示例代码)快速入门_第18张图片
推导式:用于优化简单循环
[表达式 for 临时变量 in 可迭代对象 [if 条件表达式]] if条件表达式可以省略
列表推导式式

#eg.求1到10所有偶数的平方  一般写法
alist = []
for i in range(1,11):
    if(i%2==0):
        alist.append(i*i)
print(alist)

【Python】动手学Python(附示例代码)快速入门_第19张图片

#eg.求1到10所有偶数的平方  列表推导式写法
blist = [i*i for i in range(1,11) if(i%2==0)]
print(blist)

【Python】动手学Python(附示例代码)快速入门_第20张图片
字典推导式:与列表推导式类似,均可以简化简单循环

#eg.将字典的value均+1  一般写法
dict = {'a':1, 'b':2, 'c':3}
for i in dict.keys():
    dict[i]= dict[i]+1
print(dict)

【Python】动手学Python(附示例代码)快速入门_第21张图片

#eg.将字典的value均+1  字典表达式写法
dict = {'a':1, 'b':2, 'c':3}
dict = {i: dict[i]+1 for i in dict.keys()} # i: dict[i]+1 格式是 key : value
print(dict)

【Python】动手学Python(附示例代码)快速入门_第22张图片
隐式类型转换:自动转换,由低数据向较高数据类型转换,如int转换到float
显式类型转换:使用类型转换的内置函数

【Python】动手学Python(附示例代码)快速入门_第23张图片

a = 2.78
b = int(a)
c = str(a)
print('a = ',a, ' 类型为 ',type(a))
print('b = ',b, ' 类型为 ',type(b))
print('c = ',c, ' 类型为 ',type(c))

【Python】动手学Python(附示例代码)快速入门_第24张图片

④运算符

比较运算符:基本同C语言,当表达式为真时返回True,为假时返回False

【Python】动手学Python(附示例代码)快速入门_第25张图片

赋值运算符

=	简单的赋值运算符	c = a + b 将 a + b 的运算结果赋值为 c  
+=	加法赋值运算符	c += a 等效于 c = c + a  
-=	减法赋值运算符	c -= a 等效于 c = c - a
*=	乘法赋值运算符	c *= a 等效于 c = c * a  
/=	除法赋值运算符	c /= a 等效于 c = c / a  
%=	取模赋值运算符	c %= a 等效于 c = c % a  
**=	幂赋值运算符	c **= a 等效于 c = c ** a  
//=	取整除赋值运算符	c //= a 等效于 c = c // a  

逻辑运算符:与and,或or,非not

运算符 逻辑表达式 描述
and X and Y 若X为False,返回X的值,否则返回Y的值
or X or Y 若X为True,返回X的值,否则返回Y的值
not not X 若X为True,返回False,如果X为False,返回True
x = 10
y = 5
print('x = 10  y = 5, x and y 为',x and y)
print('x = 10  y = 5, x or y 为', x or y)
print('x = 10  y = 5, not x 为', not x)
x = 0 # 0 看作false
print('x = 0  y = 5, not x 为', not x)

【Python】动手学Python(附示例代码)快速入门_第26张图片

成员运算符:in 和 not in

in 如果在指定的序列中找到值返回 True,否则返回 False
not in 如果在指定的序列中没有找到值返回 True,否则返回 False

a = [1, 2, 3, 4]
b = 3
c = 6
print('b in a 吗?', b in a)
print('c in a 吗?', c in a)
print('c not in a 吗?', c not in a)

【Python】动手学Python(附示例代码)快速入门_第27张图片

身份运算符:身份运算符用于比较两个对象的存储单元

is是判断两个标识符是不是引用自一个对象
x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not是判断两个标识符是不是引用自不同对象
x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False

⑤条件控制

条件语句if

if 表达式:
    代码块

复合条件语句if elif else

if 表达式:
    代码块
elif 表达式:
    代码块
else: 
    代码块
        

代码块的范围由前面的缩进控制!!!

a = 99
if a>100:
    print("a大于100")
elif a<50:
    print("a小于50")
else:
    print("a大于50,小于100")

【Python】动手学Python(附示例代码)快速入门_第28张图片
【Python】动手学Python(附示例代码)快速入门_第29张图片

⑥循环语句

Python中仅有for循环与while循环,没有do-while循环,循环中可以结合break,continue,if语句

for 循环

用法如下:

for 临时变量 in 序列(指字符串,列表,元组):
    循环体

for 临时变量 in range(XXX):
    循环体
a =[1,2,3,4,5]
for i in a:
    print(i)
print('-----------')
for y in range(0,13,2):
    print(y)

【Python】动手学Python(附示例代码)快速入门_第30张图片

while循环

whlie 表达式:
    循环体
i = 0
while i<5:
    print(i)
    i=i+1

【Python】动手学Python(附示例代码)快速入门_第31张图片

⑦函数和类

函数:以def关键字开头 后接函数标识符和圆括号,圆括号中传入参数,以return 表达式 结束函数,不带表达式的return相当于返回None

函数的定义
def 函数名称(参数):
    函数体
    return 需返回的内容


函数的调用
函数名称(参数)
def myfunc():
    print('这是我定义的函数')

myfunc()

【Python】动手学Python(附示例代码)快速入门_第32张图片

类:用来描述具有相同属性和方法的对象的集合,定义了该集合中每个对象所共有的属性和方法,对象则是类的实例

class 类名():
    def __init__(self,参数):
        self.xxx = xxx
        self.xxxx = xxxx
        self.__xxxx = xxxxx #__属性,使得该属性不能被直接修改,只能通过调用方法修改
    def 函数(参数):
        函数体

init 是 Python 中的特殊“方法”(special method),它用于初始化对象
创建实例时它是最先被调用的函数,并且每次创建实例,它的__init__都会被调用,而且它的第一个参数永远是 self,指向创建的实例本身

pass语句:pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句`
当定义的类为明确其功能时,可以使用pass关键字

类的实例化 实例名 = 类名(参数值1,参数值2)
调用类中定义的函数 实例名.函数()
class Monster():
    def __init__(self,name,hp=100):
        self.name = name
        self.hp = hp
    def run(self):
        print('正在移动')

a = Monster('Mike',50)
print(a.name)
print(a.hp)
a.run()
a.name = 'John'
a.hp = 120
print(a.name)
print(a.hp)

【Python】动手学Python(附示例代码)快速入门_第33张图片

类的继承
class 子类名(父类名):
    类的内容

当父类和子类定义同名方法时,子类的调用会覆盖父类同名方法

你可能感兴趣的:(#,Python,python,开发语言)