【python基础】python基础知识讲解

本篇文章讲解了python编程的基础部分内容,主要从最基本的函数、文件操作、面向对象与模块几个方面进行讲解

python标准数据类型分为Number(数字)、String(字符串)、List(列表)、Dictionary(字典)、Sets(集合)、Tuple(元组)

2、python基础知识

2.1列表

  • 列表中每个元素都是可变的
  • 列表中的元素是有序的,每个元素对应一个位置
  • 列表可以容纳python中的任何对象

2.1.1列表的索引及切片

  • 列表的索引从左至右为0,1,2,3;从右至左为-1,-2,-3,-4
  • 列表的切片是左闭右开区间

代码如下:

all_in_list = [0.3, 'hello', True]
print(all_in_list)
res = all_in_list[0]   # 列表的索引
print(res)
res = all_in_list[-2]
print(res)
res = all_in_list[0:2]   # 列表的切片,左闭右开
print(res)

 结果如下:

 2.1.2列表的增删改查操作

名称

函数说明

list.append(obj)

在列表末尾添加新的对象

list.insert(index, obj)

将对象插入列表

list.remove(obj)

移除列表中某个值的第一个匹配项

代码如下:

all_in_list = [0.3, 'hello', True]
all_in_list.append('hello world')  # 新增元素
all_in_list.insert(0,'pre-hello')
print(all_in_list)

all_in_list.remove('hello world')  # 删除元素
del all_in_list[:2]
print(all_in_list)

all_in_list[0] = 100  # 元素的修改
print(all_in_list)

结果如下: 

2.2字符串

2.2.1字符串操作

代码如下:

string = 'My name'
res = string[0]  # 字符串的索引
print(res)
res = string[:2]  #左闭右开
print(res)

res = string*2  #打印两遍字符串
print(res)
res = string+' is xxx'  #字符串后面加上is xxx
print(res)
res = string.split(sep=',') #字符串切片
print(1,string)
res = string.lower()    #把字符串所有字母变成小写
# string[0] = 'Y'   # 非法操作,字符串属于不可变的数据类型
print(res)

结果如下:

 2.3字典

  • 字典以键值对形式存在
  • 用{ }进行构建字典,键来索引值
  • 键不能重复,不能修改,值可修改

2.3.1字典的访问及增删改查

代码如下:

dic = {'h':'hello', 0.5:[0.3,0.2], 'w':'world', 'hh':0.5}
res = dic['h']   # 字典中的元素无先后顺序,通过键来访问值
print(res)

dic['h'] = 100   #替换键值对的值
dic['hw'] = 'hello world'  # 新增键值对
print(dic)

dic.update({1:2,3:4})   # 新增键值对
print(dic)

del dic['h']   #删除键值对
print(dic)

结果如下:

3.文件操作

3.1文件访问方式

r以只读方式打开文件。文件的指针将会放在文件的开头
w文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

3.2文件操作方法

open(文件名,访问模式)打开文件
f.close()关闭文件,记住用open()打开文件后需得关闭它,否则会占用系统的可打开文件句柄数。
f.readline()读出一行信息。
f.readlines()读出所有行,也就是读出整个文件的信息。
f.write(string)把string字符串写入文件。

3.3练习:小说《Walden》单词词频统计,用Python统计小说Walden中各单词出现的频次,并按频次由高到低排序。 

1.导入所需的re模块,以只读的方式打开文件,读入文本

import re
f = open('Walden.txt', 'r')
txt = f.read()   # 读取进来的数据类型是字符串
f.close()
print(txt)

结果如下:

 

2.把文本全部变成小写,去除小说中的标点符号

(re.sub(替换的内容,替换成什么,对哪一个字符串进行操作))

txt = txt.lower()  #把字母变成小写
txt = re.sub('[,.?:"\'!-]', '', txt)   # 去除小说中的标点符号
print(txt)

结果如下:

3.把单词以空格的形式进行分割,建立字典

words = txt.split()   # 单词分割
word_sq = {}

4.把字典中的键取出来依次进行遍历,如果不存在,值等于一,如果已经存在,值加一


for i in words:
    if i not in word_sq.keys():
        word_sq[i] = 1
    else:
        word_sq[i] += 1
print(word_sq )

结果如下:

5.使用自定义函数降序排列

res = sorted(word_sq.items(), key=lambda x:x[1], reverse=True)  # 排序
print(res)

 结果如下:

4.函数

4.1内建函数:

print()、input()、int()等

4.2自定义函数:

方式1:def function(x,y):               #定义def关键字,这种方式必须有返回值

                        return 'result’

方式2:y = lambda x:x+1  #返回x里面的第一个元素

4.3练习:自定义求序列偶数个数的函数

使用第一种定义方式,使用for循环遍历列表,初始化z为0,如果列表中的数能被2除尽,则是偶数,z加1

代码如下:

def su(x):
    z = 0
    for i in x:
        if i%2==0:
            z += 1
            # print(z)
    return z

res = su([1,2,3,4,5,6])
print(res)

结果如下:

5. 面向对象与模块

5.1类是对象的抽象,对象是类的实例

定义一个类的属性和方法:

class Human:
    def __init__(self, ag=None, se=None):
        self.age = ag   # 属性
        self.sex = se

    def square(self, x):   # 方法
        return x**2

类的实例化,调用类的方法和属性:

zhangfei = Human(ag=23, se='男')   # 类的实例化
res = zhangfei.square(10)
print(res)
res = zhangfei.age
print(res)
res = zhangfei.sex
print(res)

结果如下:

5.2导入模块和调用函数的三种方式

#导入模块的三种方式

import packagename

import  packagename  as new_name

from  packagename  import function_name

#调用函数的三种方式

packagename.function_name

new_name. function_name

function_name

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值