Python基础知识入门

1. python 循环

1.1 while 循环

# while 循环
condition = 1
while condition < 10:
    print(condition)
    condition = condition + 1

在这里插入图片描述

注:在Python中,True 和False 分别表示正确和否定。在循环中,当正确时会继续执行;当否定时则会结束执行。

Python在每一个while或for循环中,都需要在第一行最后结束位置处引一个冒号 : 用来结束

1.2 for 循环

# for 循环
# list ---> 列表
example_list = [1,2,3,4,5,45,67,433,5,66]
for i in example_list:
    print(i)
    print('inner of for')
    
print('outer of for')

在这里插入图片描述

1.2.1 python内置函数 — 针对于for循环

range 函数 —> Python内置函数,可用于for循环中。一个电脑自动生成的迭代器。

# range函数 实际上是 1~9
for i in range(1,10):
    print(i)

在这里插入图片描述
range函数 第三个参数为步长

for i in range(1,10,5):
    print(i)

在这里插入图片描述

1.3 python 循环中的两个重要方法(break & continue)

break:跳出整个循环,不会执行下面的任何语句
continue:跳出本次循环(不会执行continue下面的代码),继续下一次循环

a = True
while a:
    b = input('type something')
    if b == '1':
        a = False
    else:
        pass  # pass 就是什么都不做

print('finish run')

在这里插入图片描述
举例说明 break&continue

# python 循环中的两个重要方法(break & continue)
while True:
    b = input('type something')
    if b == '1':
        break # break 跳出整个循环,不会执行下面的任何语句
    else:
        pass  # pass 就是什么都不做
    print('still in while')
    
print('finish run')

在这里插入图片描述

# python 循环中的两个重要方法(break & continue)
while True:
    b = input('type something')
    if b == '1':
        continue # continue 跳出本次循环(不会执行continue下面的代码),继续下一次循环
    else:
        pass  # pass 就是什么都不做
    print('still in while')
    
print('finish run')

在这里插入图片描述

2. python 条件语句

if 语句 —> 当条件成立时 执行

x = 1
y = 2
z = 0
if x<y:
    print('x is less than y')
if x<y>z:
    print('x is less than y, and y is greater than z')

a = 2
b = 2
if a<=b:
    print('a is less or equal to b')

# python中判断相等  ==
c = 6
d = 6
e = 7
if c == d:
    print('c is equal to d')
# python中判断不相等  !=
if d!=e:
    print('d is not equal to e')

在这里插入图片描述

if … else … 语句

注: if 和 else 后都要有 冒号 :

x = 4
y = 2
z = 3
if x>y:
    print('x is greater than y')
else:
    print('x is less or equal to y')

在这里插入图片描述

if … elif … else … 语句

注:只会执行一个

x = -2
if x>1:
    print('x > 1')
elif x<-1:
    print('x < -1')
elif x<1:
    print('x < 1')
else:
    print('x = 1')
print('finish running')

在这里插入图片描述

3. python 函数 def

def —> define的缩写 无参函数定义形式: def 函数名():
要使用定义好的函数 需要对函数进行函数调用

#python 函数 def
def function():
    print('This is a function')
    a = 1 + 2
    print(a)

# 函数调用
function()

在这里插入图片描述

def —> define的缩写 有参函数定义形式: def 函数名(参数1,参数2,…):

def fun(a,b):
    c = a*b
    print('the c is' , c)

fun(2,5)
# 强调一下将具体某个变量赋值为具体哪一个值
fun(a = 2 , b = 5)

在这里插入图片描述

def —> define的缩写 函数默认参数

# 给定函数默认参数 —— 即定义函数时,直接给函数参数赋值
def sale_car(price,color='red',brand='carmy',is_second_hand=True):
    print('price:',price,
          'color:',color,
          'brand:',brand,
          'is_second_hand:',is_second_hand)

# sale_car(1000,'red','carmy',True)
# 使用函数默认参数
sale_car(13100)
# 不想使用函数参数的默认值,可以再函数调用时进行参数重新赋值
sale_car(12300,'blue')

在这里插入图片描述
补充:函数返回值/输出值 —> return

def fun():
    a = 10
    print(a)
    # 函数返回/输出值
    return a + 100

print(fun())

在这里插入图片描述

4. python 全局变量&局部变量

全局变量:通常字母都大写 APPLE

# python 全局 & 局部变量
# APPLE 全局变量
APPLE = 100
def fun():
    # a 此时为局部变量
    a = 10
    return a + 100
print(APPLE)
# 报错
print(a)

在这里插入图片描述

# python 全局 & 局部变量
# APPLE 全局变量
APPLE = 100
def fun():
    # a 此时为局部变量
    a = APPLE
    return a + 100
print(APPLE)
# 输出 200
print(fun())

在这里插入图片描述
使用 global 定义全局变量

# python 全局 & 局部变量
# APPLE 全局变量
APPLE = 100
# 要使用 global 定义全局变量,需将此变量在最开始赋值为 None
a = None
def fun():
    # global ---> 将 a 定义成一个全局变量
    # 无论怎样 此时 a 都是一个全局变量
    global a
    a = 20
    return a + 100

print(APPLE)
print('a past =', a)
print(fun())
print('a now =', a)

在这里插入图片描述
不使用 global 定义全局变量(与 使用 global 定义全局变量进行对比)

APPLE = 100
# 要使用 global 定义全局变量,需将此变量在最开始赋值为 None
a = None
def fun():
	# a 为局部变量不能输出到全局
    a = 20
    return a + 100

print(APPLE)
print('a past =', a)
print(fun())
print('a now =', a)

在这里插入图片描述

5. python 外部模块安装

研究型编程大部分会与数学有关联,而数学相关的模块就可能会是NumPy。

numpy下载网址

参考此文章即可 链接: 如何手动安装 numpy

# 测试 numpy 是否安装成功
from numpy import *
#	输出随机矩阵 即安装成功
print(random.rand(4,4))

在这里插入图片描述

6. python文件读写

python中换行符 \n

text = 'This is my first test.\nThis is next line.\nThis is last line.'
print(text)

在这里插入图片描述
例1:简单文件的写入

# python 文件读写
text = 'This is my first test.\nThis is next line.\nThis is last line.'

# 以写的形式打开文件
my_file = open('my file.txt','w')
# 在文件里写内容
my_file.write(text)
# 关闭文件
my_file.close()

在这里插入图片描述
例2:简单文件的内容追加

# python 文件读写
# 在已有文件的后面进行内容追加
append_text = '\nThis is appended file.'
# 以追加内容的形式打开文件
my_file = open('my file.txt','a')
# 再打开文件的后面追加内容
my_file.write(append_text)
# 关闭文件
my_file.close()

在这里插入图片描述
例3:简单文件的读取

# python 文件读写
# 以读的形式打开文件
# 此时是将打开的文件存到 file里 而不是将文件的内容存到file里
file = open('my file.txt','r')
# 读取文件中的内容
content = file.read()
# 输出文件中的内容
print(content)

在这里插入图片描述

7. python 类(class)

python中 类(class)一般是以大写字母开头,即首字母大写。后面要有冒号 :
类(class)可能会有自己的属性也可能会有自己的功能。

# python class 类
# 类(class)的定义功能有一点不一样,要在函数中加一个self
class Calculator:
    # 类(class)的属性
    name = 'Good calculator'
    price = 18

    # 函数 ---> 类(class)中的功能
    def add(self,x,y):
        # 调用自己类中的属性 需使用self
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        print(x * y)
    def divide(self,x,y):
        print(x / y)

在这里插入图片描述

7.1 类(class)的初始(init)

类(class)的初始(init) 即在刚开始生成类的时候,要给类初始定义一些信息。

注:init 两边各有两个下划线

# python class 类
# 类(class)的定义功能有一点不一样,要在函数中加一个self
class Calculator:
    # 类(class)的属性
    name = 'Good calculator'
    price = 18

    # 类(class)的初始(init)
    def __init__(self,name,price,height,width,weight):
        self.name = name
        self.price = price
        self.hei = height
        self.wid = width
        self.wei = weight
    # 函数 ---> 类(class)中的功能
    def add(self,x,y):
        # 调用自己类中的属性 需使用self
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        print(x * y)
    def divide(self,x,y):
        print(x / y)

在这里插入图片描述

# python class 类
# 类(class)的定义功能有一点不一样,要在函数中加一个self
class Calculator:

    # 类(class)的初始(init)
    def __init__(self,name,price,height,width,weight):
        self.name = name
        self.price = price
        self.hei = height
        self.wid = width
        self.wei = weight
    # 函数 ---> 类(class)中的功能
    def add(self,x,y):
        # 调用自己类中的属性 需使用self
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        print(x * y)
    def divide(self,x,y):
        print(x / y)

在这里插入图片描述

8. python 输入(input)

输入(input):在输出的屏幕中进行数据的输入。

# python input 输入

# 将输入的值赋值给 a_input
# input 的返回值是一个字符串  return a string
a_input = input('Please give a number:')
if a_input == '1':
    print('This is a good one')
elif a_input == str(2):
    print('See you next time')
else:
    print('Good Luck')

在这里插入图片描述

9. python 元组和列表

元组和列表比较相似。元组 —> tuple 列表 —> list。
元组和列表都是一连串有顺序的数字
一般来说元组(tuple)是用小括号( ),也可以将小括号( )省略掉 而列表(list)是用中括号[ ]
元组(tuple)和列表(list)的用途:基本上用于迭代一个一个进行输出
注:在元组(tuple)和列表(list)中,索引都是从0开始的

# python 元组和列表
# 元组(tuple) 的定义形式1
a_tuple = (12,3,5,15,6)
# 元组(tuple) 的定义形式2
another_tuple = 2,4,6,7,8

# 列表(list)的定义形式
# a_list[0] ---> 12      a_list[1] ---> 3     .....
a_list = [12,3,67,7,82] # 此时列表长度为 5

# 迭代进行一个一个输出
# 输出列表的值
for content in a_list:
    print(content)

print('-----------------------')
    
# 输出元组的值
for content in a_tuple:
    print(content)
# range(5)  ---> 依次输出 0~4
for index in range(len(a_list)): # len( ) ---> 计算列表的长度
    print('index = ',index,'number in list = ',a_list[index])
    
print('-----------------------')

for index in range(len(a_tuple)): # len( ) ---> 计算列表的长度
    print('index = ',index,'number in tuple = ',a_tuple[index])

在这里插入图片描述

9.1 列表(list)常用函数

  1. 追加数值 append() —> 在列表的最后追加一个值
a = [1,2,3,4,2,3,1,1]
# 在列表(list) a 的最后追加 一个值 0
a.append(0)
print(a)

在这里插入图片描述

  1. 指定位置添加数值 insert()
a = [1,2,3,4,2,3,1,1]
# 指定位置添加数值
# 向第二个位置添加数值 0
a.insert(1,0)
print(a)

在这里插入图片描述

  1. 移除元素 remove()
a = [1,2,3,4,2,3,1,1]
# 移除数值
# 移除的是列表(list)中具体的数值,而不是指数据元素在列表中的索引
# 只会移除列表中第一次出现的数值,后面相同的数值不会移除
a.remove(1)
print(a)

在这里插入图片描述

  1. python中 负索引 -1 的含义
    -1 : 代表最后一个元素
a = [1,2,3,4,2,3,1,-1]
# python 中存在 负索引
# 索引 -1 ---> 在python中代表最后一个元素
print(a[-1])

在这里插入图片描述

  1. python中 分割数据元素的输出
# python 中数据元素 分割输出
a = [1,2,3,4,2,3,1,-1]
# python中 此时 0:3(0、1、2) ---> 列表中第1~3位元素
print(a[0:3])
# python中 也可以省略上述写法 ---> 直接写成 :3
print(a[:3])

print(a[3:5]) # 3:5(3、4) ---> 列表第4、5位元素
print(a[5:])
print(a[-3:])

在这里插入图片描述

  1. 输出具体数值的索引 index()
# python 中输出某个值的索引
a = [1,2,3,4,2,3,1,-1]
# index() 函数参数 是具体的数值
# index(2) ---> 返回 第一次出现数值是 2 的位置索引
print(a.index(2))

在这里插入图片描述

  1. 计算列表中出现指定数值的次数是多少 count()
# count() ---> 计算列表中出现指定数值的次数是多少
a = [4,1,2,3,4,2,3,1,-1]
# a.count(4) ---> 计算列表 a 中出现数值 4 的次数是多少 
print(a.count(4))

在这里插入图片描述

  1. 对列表从大到小 或 从小到大 顺序进行排序 sort()

(1) 从小到大 顺序排序

a = [4,1,2,3,4,2,3,1,-1]
# python 中对列表 从大到小 或 从小到大 顺序进行排序 ---> sort()函数
# sort() 不传入任何参数时,就会从小到大进行排序,排序之后会覆盖掉原有的列表数据
a.sort()
print(a)

在这里插入图片描述 (2) 从大到小 逆序排序

a = [4,1,2,3,4,2,3,1,-1]
# python 中对列表 从大到小 或 从小到大 顺序进行排序 ---> sort()函数
# 若想对列表中元素按 从大到小 顺序进行排序 则需要给sort()函数传入一个参数 reverse = True
a.sort(reverse=True) # 默认值是 reverse=False 按从小到大顺序进行排序
print(a)

在这里插入图片描述

9.2 多维列表

多维列表:即是将一维列表变成二维、三维列表。

# python 多维列表
# 一维列表
a = [1,2,3,4,5]
# 多维列表  三行三列 多维度 通过行数 列数来定位数值
multi_dim_a = [ [1,2,3],
                [2,3,4],
                [3,4,5] ]

print(a[0])
print(multi_dim_a[2][2])

在这里插入图片描述

10. python 字典(dictionary)

python中,字典(dictionary)与列表(list)是类似的,但字典(dictionary)会有更多的功能。
字典(dictionary)是没有顺序的。列表(list)是以一对中括号[ ]进行表示的,而字典(dictionary)是以一对大括号{ }进行表示的。
字典(dictionary)是 key : value 形式。

# python 字典(dictionary)

# 列表(list)
a_list = [1,2,3,5,4,5,4]

# 字典(dictionary)
# 字典是key : value 形式
# 字典的key是字符串(String)形式
d = {'apple':1,'pear':2,'orange':3}
# 字典的key是数字形式
d2 = {1:'a','c':'b'}
# 从字典(dictionary)中取出值
print(d['apple'])

print(a_list[0])

# 删除字典(dictionary)中的元素
del d['pear']
print(d)

# 增加字典(dictionary)中的元素
d['b'] = 20
print(d)

# 字典(dictionary)中 value 的多样形式
#     列表(list)形式     字典(dictionary)形式  数值形式
d3 = {'apple':[1,2,3] , 'pear':{1:3,3:'a'} , 'orange':2}
print(d3['pear'][3])

在这里插入图片描述

11. python 载入模块(import)

在脚本文件的最顶行(第一行)进行 import 。

载入模块的四种方式:

# python 载入模块(import)
# 加载模块的第一种方法
import time
print(time.localtime())

在这里插入图片描述

# 加载模块的第二种方法
# 此时 as 的作用是将time模块这个名字 起别名 为 t
import time as t
print(t.localtime())

在这里插入图片描述

# 加载模块的第三种方法  --- 只想 import 模块的指定功能,不想使用的功能不会import进来
from time import time,localtime # 只import了time模块的time功能和localtime功能
# 这种方式可以省略第一种方法中time.localtime()的time,直接打印localtime()即可
print(localtime())
print(time())

在这里插入图片描述

# 加载模块的第四种方法
# import了time模块中的所有功能
from time import *
# 此种方法也可以省略time,直接打印输出
print(localtime())
print(time())

在这里插入图片描述

11.1 python 中自己的模块

在python中,如何运用自己所创建的模块?
导入模块时需注意: 要导入的模块和此时脚本文件应处于同一个目录之下。

在这里插入图片描述
要导入的模块(自己的模块)程序代码 m1.py

# 充当自己的模块 需要导入的一个模块

def printData(data):
    print('I am m1')
    print(data)

脚本文件程序代码 python2.py

# python 载入自己的模块
# 载入 m1 模块
import m1

m1.printData('I am pyhton')

在这里插入图片描述

12. python 错误处理(try)

# python 错误处理(try)
# 打开文件  用只读的方式
file = open('eeee','r')

在这里插入图片描述

# python 错误处理(try)
try:
    file = open('eeee','r')
except Exception as e:
    print(e)

在这里插入图片描述

13. python 浅复制 & 深复制 (copy & deepcopy)

浅复制(copy):浅复制会出现同一内存空间的情况
深复制(deepcopy):深复制就是完完全全复制(copy)过来,任何东西都不会被重复引用到同一个内存空间

#  python 浅复制 & 深复制 (copy & deepcopy)
# (复制)copy 在python中是一个模块需先载入模块
import copy
a = [1,2,3]
b = a
# id 用来输出 a b在硬盘中所处的空间地址
id(a)
id(b)

b[0] = 11
print(a)
a[1] = 22
print(b)

print(id(a) == id(b))

# 浅复制
c = copy.copy(a)
print(id(a) == id(c))
c[1] = 222222
print(a)
print(c)
a = [1,2,[3,4]]
d = copy.copy(a)
print(id(a) == id(d))
print(id(a[2]) == id(d[2]))
a[0] = 11
print(d)
a[2][0] = 333
print(d)

# 深复制  任何东西都不会被重复
e = copy.deepcopy(a)
print(id(e[2]) == id(a[2]))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14. python 存放数据(pickle模块)

pickle模块:在本地目录或多天之后想对一些数据进行再次使用,我们就可以使用pickle模块来保存python运算完的结果,以便我们之后使用。
pickle模块可以做到数据的保存和提取功能。

# python 存放数据(pickle模块)
import pickle
# 字典
a_dict = {'da':111, 2:[23,1,4], '23':{1:2, 'd':'sad'}}
# 首先打开一个文件(file)进行数据的保存
# 一般来说,pickle的保存形式文件  后缀是 .pickle
file = open('pickle_example.pickle','wb')
# dump是将a_dict 装载到file里
pickle.dump(a_dict,file)

file.close()

在这里插入图片描述

# python 存放数据(pickle模块)
import pickle
# 字典
a_dict = {'da':111, 2:[23,1,4], '23':{1:2, 'd':'sad'}}
file = open('pickle_example.pickle','rb')
# 读取数据
a_dict1 = pickle.load(file)
file.close()
print(a_dict1)

在这里插入图片描述

15. python set 功能

set功能:将所有重复的数据剔除掉,只留下不一样的那些数据。

# python  set 功能
char_list  = ['a','b','c','c','d','d','d']
# 使用set功能剔除掉上述列表中重复的数据,只留下不一样的数据
print(set(char_list)) # 使用set功能后 数据序列是无顺序的

在这里插入图片描述

sentence = 'Welcome Back to This Tutorial'
# 使用set功能剔除掉上述列表中重复的数据,只留下不一样的数据
print(set(sentence))

在这里插入图片描述

# python  set 功能
char_list  = ['a','b','c','c','d','d','d']
# 使用set功能剔除掉上述列表中重复的数据,只留下不一样的数据
unique_char = set(char_list)
# 使用set功能剔除掉重复数据之后,向新的数据序列添加元素
unique_char.add('x')
print(unique_char)

在这里插入图片描述

# python  set 功能
char_list  = ['a','b','c','c','d','d','d']
# 使用set功能剔除掉上述列表中重复的数据,只留下不一样的数据
unique_char = set(char_list)
# 使用set功能剔除掉重复数据之后,清除所有的数据信息
unique_char.clear()  # 清除所有数据信息,会传回一个空的 set()
print(unique_char)

在这里插入图片描述

# python  set 功能
char_list  = ['a','b','c','c','d','d','d']
# 使用set功能剔除掉上述列表中重复的数据,只留下不一样的数据
unique_char = set(char_list)
# 使用set功能剔除掉重复数据之后,向新的数据序列添加元素 x
unique_char.add('x')
# remove 删除指定数据元素 x
# 若remove删除的数据元素并不存在于数据序列中,则系统会报错
unique_char.remove('x')
print(unique_char)

在这里插入图片描述

16. python 正则表达(RegEx)

正则表达式(Regular Expression)又称 RegEx,是用来匹配字符的一种工具。在一大串字符中寻找你需要的内容。它常被用在很多方面,比如网页爬虫,文稿整理,数据筛选等等。最简单的一个例子,比如我需要爬取网页中每一页的标题。而网页中的标题常常是这种形式。

# 简单匹配  --- 不使用正则表达 版本
pattern1 = 'cat'
pattern2 = 'bird'
string = 'dog runs to cat'
print(pattern1 in string) 
print(pattern2 in string)

在这里插入图片描述

# python 正则表达(RegEx)
# 使用正则表达 匹配版本
import re # 要想使用正则表达 需导入 re 模块
pattern1 = 'cat'
pattern2 = 'bird'
string = 'dog runs to cat'
print(re.search(pattern1,string))
print(re.search(pattern2,string))

在这里插入图片描述

# python 正则表达(RegEx)
# 使用正则表达 匹配版本     匹配多种可能 --- 使用中括号[ ]
import re # 要想使用正则表达 需导入 re 模块
ptn = r'r[au]n' # 此时 第一个r 表示这是正则表达式。 [au]表示有a或u两种可能,ran和run
print(re.search(ptn,'dog runs to cat'))

在这里插入图片描述

# python 正则表达(RegEx)
# 使用正则表达 匹配版本     匹配更多种可能 --- 使用[ ]
import re # 要想使用正则表达 需导入 re 模块
print(re.search(r'r[A-Z]n','dog runs to cat')) # 此时[A-Z]可表示匹配大写字母A~Z任何其中之一
print(re.search(r'r[a-z]n','dog runs to cat')) 
print(re.search(r'r[0-9]n','dog r1ns to cat')) # 此时[0-9]可表示匹配数字0~9任何其中之一
print(re.search(r'r[0-9a-z]n','dog runs to cat')) # 此时[0-9a-z]可表示既可以匹配数字0~9 又可以匹配小写字母a~z任何其中之一

在这里插入图片描述
正则表达的特殊种类匹配(如下表)

符号匹配形式
\d匹配所有的数字0~9
\D与\d正好相反,匹配除数字以外的字母形式
\s匹配所有的空白符(\t\n\r\f\v)
\S与\s正好相反
\w匹配所有的大小写英文字母和所有数字以及下划线 _
\W与\w正好相反
\\匹配反斜杠 \
.匹配所有,除了\n
^匹配是否出现在句首
$匹配是否出现在句尾
# python 正则表达(RegEx)
import re # 要想使用正则表达 需导入 re 模块
# 寻找匹配所有
# findall 函数
print(re.findall(r'r[au]n','run ran ren')) # findall函数会同时匹配ran和run
# | --- or 或者
print(re.findall(r'(ran|run)','run ran ren')) # | --- 同时匹配ran或run

在这里插入图片描述

# python 正则表达(RegEx)
import re # 要想使用正则表达 需导入 re 模块
# 替换
# re.sub() --- 替换
print(re.sub(r'r[au]ns','catches','dog runs to cat'))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值