1.列表

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

代码理解:列表的索引,列表数据的增删改,以及列表推导式的使用

# 列表
all_in_list=[0.3,'hello','True']
print('列表数据为:',end='')
print(all_in_list) # 正向索引从开始
res=all_in_list[0]
print('all_in_list[0]的值为:',end='')
print(res)
# 反向所有从-1开始
res=all_in_list[-2]
print('all_in_list[-2]的值为:',end='')
print(res)
# 列表的切片,左闭右开
res=all_in_list[0:2]
print('all_in_list[0:2]的切片值为:',end='')
print(res) # 末尾新增元素
all_in_list.append('hello world')
# 指定位置前插入元素,成为指定位置上的元素
all_in_list.insert(0,'pre-hello')
print('添加新元素后为:',end='')
print(all_in_list) # 删除元素
all_in_list.remove('hello world')
# 删除前两个元素
del all_in_list[:2]
print('删除元素后为:',end='')
print(all_in_list) # 修改元素值
all_in_list[0]=100
print('修改元素后为:',end='')
print(all_in_list) # for循环
x=[]
for i in range(10):
x.append(i) print('for循环添加元素后为:',end='')
print(x) #列表推导式
b=[i for i in range(1,11)]
c=[i**2 for i in range(1,11)]
d=[i**2 for i in range(1,11) if i%2==0]
print('各个列表推导式的值为:',end='')
print(b)
print(c)
print(d) #练习1:求曲边梯形的面积
import math
n=10000
width=2*math.pi/n
# 方法一:利用for循环构建核心数据结构
x=[]
y=[]
for i in range(n):
x.append(i*width)
for i in x:
y.append(abs(math.sin(i)))
S=sum(y)*width
print('方法一曲边梯形的面积为:',end='')
print(S)
# 方法二:利用列表推导式构建核心数据结构
s=[abs(math.sin(i*width))*width for i in range(n)]
print('方法二曲边梯形的面积为:',end='')
print(sum(s))

代码运行结果

2.操作符

Python语言常用以下类型的运算符:算术运算符、比较关系操作符、赋值操作符、逻辑操作符

代码理解:逻辑控制符、字符串的包含in、条件判断语句、冒泡排序的交换值操作

# Python逻辑控制符
res=1<2
print('1<2的正确性:',end='')
print(res)
res=1<2<3
print('1<2<3的正确性:',end='')
print(res)
res='Name'=='name'
print("'Name'=='name'的正确性:",end='')
print(res)
res='M' in 'magic'
print("'M'在'magic'里的正确性:",end='')
print(res) # 条件判定语句
if 1<2:
print('如果1<2正确,则输出:', end='')
print('1.hello') if 1<0:
print('如果1<0正确,则输出:', end='')
print('2.hello')
else:
print('如果1<0不正确,则输出:', end='')
print('2.world') if 1<0:
print('如果1<0正确,则输出:', end='')
print('3.hello')
elif 2<1:
print('如果1<0不正确,但2<1正确,则输出:', end='')
print('3.world')
else:
print('如果1<0不正确,且2<1也不正确,则输出:', end='')
print('3.hehe') # 冒泡排序
x=[1,2,6,0.3,2,0.5,-1,2.4]
print('冒泡排序前值为:', end='')
print(x)
n=len(x)
for i in range(n):
for j in range(i):
if x[j]>x[i]:
# 交换值
x[i],x[j]=x[j],x[i] print('冒泡排序后值为:', end='')
print(x)

代码运行结果

3.字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2 }

代码理解:根据字典索引值,修改值,添加值,删除值,以及字典推导式生成字典

# 字典
dic={'h':'hello',0.5:[0.2,0.3],'w':'world'}
print('字典数据为:',end='')
print(dic) #根据键索引值
res=dic['h']
print("dic['h']对应的值为:",end='')
print(res)
# 根据键修改一个元素
dic['h']=100
print("修改后的字典为:",end='')
print(dic)
# 添加一个元素
dic['hw']='hello world'
print("添加一个键值后的字典为:",end='')
print(dic)
# 同时添加多个元素
dic.update({1:2,3:4})
print("添加多个键值后的字典为:",end='')
print(dic)
# 根据键删除某个元素
del dic['h']
print("删除键值后的字典为:",end='')
print(dic) # 字典推导式
a={i:i**2 for i in range(10)}
print("使用字典推导式生成的字典为:",end='')
print(a)

代码运行结果

4.字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号 ( '" ) 来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

代码理解:字符串带换行和不带换行的两种生成方式、字符串的索引,拼接基本操作、字符串分割、字符串全转为小写

# 字符串,双引号字符串和单引号无区别
string="My name"
print('生成的字符串为:'+string)
# 三引号可以进行换行
string='''My name
'''
print('生成的有换行的字符串为:'+string)
string='My name'
print('单引号与双引号生成的字符串相同,它为:'+string)
print(string)
# 索引字符串第一个元素
print('字符串第一个元素为:'+string[0])
# 索引字符串前两个元素
print('字符串前两个元素为:'+string[:2])
# 重复两次字符串
print('重复两次字符串为:'+string*2)
# 拼接字符串
print('拼接字符串为:',end='')
print(string+' is xxx') # 分割字符串,根据逗号进行分割, 返回结果为列表
res=string.split(sep=',')
print('根据逗号进行分割字符串后为:',end='')
print(1,string)
# 将字符串字母全部变成小写
res=string.lower()
print('将字符串字母全部变成小写为:',end='')
print(res)

代码运行结果

5.文件

代码理解

# 文件操作
f=open("Walden.txt","r")
# 读取文件内容
txt=f.read()
print(txt)
# 读取文件内容的前100行
txt=f.read(100)
print(txt)
f.close()
# 逐行读取文件内容,并返回列表
f=open("Walden.txt","r")
txt_lines=f.readlines()
print(txt_lines)
f.close() #练习3:读取小说中的单词频次
import re
f=open("Walden.txt","r")
# 读取进来的数据类型是字符串
txt=f.read()
f.close()
# 将字符串中字符变为小写
txt=txt.lower()
# 去除小说中的标点符号
txt=re.sub('[,.?:“\’!-]','',txt)
# 单词分割
words=txt.split()
word_sq={}
for i in words:
if i not in word_sq.keys():
word_sq[i]=1
else:
word_sq[i]+=1
# 排序
res=sorted(word_sq.items(),key=lambda x:x[1],reverse=True)
print(res)

6.函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

代码理解

#函数自定义
#第一种方式
def Sum(x,y):
return x+y # 第二种方式,函数的简单自定义
# 返回x的平方
y=lambda x:x**2
# 返回x的第一个元素
y1=lambda x:x[1] res=Sum(1,2)
print(res)
res=y(10)
print(res)
res=y1(['hello',0])
print(res) #练习4:自定义求序列偶数个数的函数
def su(x):
z=0
for i in x:
if i%2==0:
z+=1
return z
res=su([1,2,3,4,5,6])
print(res)

7.面向对象

面向对象的一些基本特征:

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

代码理解

# 方法与函数的区别
all_in_list=[2.5,'hello','world',3]
string='My name'
all_in_list.append('hehe')
#对于字符串对象而言,是没有append方法的
#string.append('Y’) res=string.split()
# split是一个方法,是字符串对象才有的一种方法
#all_in_list.split()
print(all_in_list)
print(res) # 面向对象
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)

Python-基础知识汇集的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  3. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  4. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

  10. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. 2021.07.09 K-D树

    2021.07.09 K-D树 前置知识 1.二叉搜索树 2.总是很长的替罪羊树 K-D树 建树 K-D树具有二叉搜索树的形态,对于每一个分类标准,小于标准的节点在父节点左边,大于标准的节点在父节点右 ...

  2. Windows资源管理器文件名排序

    Windows资源管理器文件名排序 Windows资源管理器文件名排序 背景:自然排序 什么是自然排序? 怎样按自然排序的规则进行排序? 基于Python的解决方案 参考材料 这学期担任了本科生教学助 ...

  3. 9.2 Linux硬盘分区和挂载

    一块新的硬盘存储设备后,先需要分区,然后再格式化文件系统,最后才能挂载并正常使用. 分区:根据需求和硬盘大小划分空间 格式化:对分区安装文件系统 挂载:将设备文件与一个目录关联的动作叫挂载 硬盘分区格 ...

  4. .NET 程序读取当前目录避坑指南

    前些天有 AgileConfig 的用户反映,如果把 AgileConfig 部署成 Windows 服务程序会启动失败.我看了一下日志,发现根目录被定位到了 C:\Windows\System32 ...

  5. XCTF练习题---MISC---Aesop_secret

    XCTF练习题---MISC---Aesop_secret flag:flag{DugUpADiamondADeepDarkMine} 解题步骤: 1.观察题目,下载附件 2.下载完成后发现是个gif ...

  6. [AcWing 798] 差分矩阵

    点击查看代码 #include<iostream> using namespace std; const int N = 1e3 + 10; int a[N][N], b[N][N]; v ...

  7. 老生常谈系列之Aop--Spring Aop源码解析(一)

    老生常谈系列之Aop--Spring Aop源码解析(一) 前言 上一篇文章老生常谈系列之Aop--Spring Aop原理浅析大概阐述了动态代理的相关知识,并且最后的图给了一个Spring Aop实 ...

  8. kubernetes源码学习-环境配置篇

    下载源码 根据kubernetes github 方式可以 mkdir -p $GOPATH/src/k8s.io cd $GOPATH/src/k8s.io git clone https://gi ...

  9. 攻防世界web进阶题—bug

    攻防世界web进阶题-bug 1.打开题目看一下源码,没有问题 2.扫一下目录,没有问题 3.查一下网站的组成:php+Apache+Ubuntu 只有登录界面 这里可以可以想到:爆破.万能密码.进行 ...

  10. 如何用好Nginx的gzip指令

    说一段废话 压缩响应数据有什么作用呢?问的好:从用户体验和IT成本两方面回答这个问题: 用户体验上 网速一定的情况下,传输10MB数据比传输5MB数据的时间快了一半.所以传输数据越小用户加载页面就越快 ...