python基础巩固(变量类型:字典、集合、元组、列表、数字、字符串)

Python 3 教程 菜鸟教程

https://www.runoob.com/python3/python3-tutorial.html

在控制台DOS运行.py文件

  1. 先切换到.py文件所在目录
  2. 再输入python hello.py (输入python3 hello.py执行会报错,这里与菜鸟教程不同

在Unix & Linux 平台安装 Python3

  1. 先下载Unix/Linux的源码压缩包 https://www.python.org/downloads/source/
  2. 解压压缩包,并安装

# tar -zxvf Python-3.7.7.tgz    说明:这是解压文件

# cd Python-3.7.7

# ./configure

# make && make install  说明:make是编译,make insatll 来进行安装

在Linux设置环境变量

在bash shell输入:export PATH=”$PATH:/usr/local/bin/python”

说明: /usr/local/bin/python 是 Python 的安装目录。


Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。

常见的 Shell 有 sh(sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有sh)、

csh(有点类似C语言,所以才得名为 C shell ,简称为 csh)、

tcsh(tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持)、

ash(一个简单的轻量级的 Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容)、

bash(bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的shell)

Window 平台安装 Python3

打开 WEB 浏览器访问 https://www.python.org/downloads/windows/ ,一般就下载 executable installer,x86 表示是 32 位机子的,x86-64 表示 64 位机子的。

集成开发环境PyCharm社区版,免费

PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。

PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……

PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/

PyCharm 安装地址:http://www.runoob.com/w3cnote/pycharm-windows-install.html

Python3 基础语法

编码:默认情况下,python3源码文件以UTF-8编码,所有字符都是unicode字符串,当然也可以指定编码:# -*- coding:cp-1252 -*-

标识符:对大小写敏感

第一个字符必须是以字母或下划线_

标识符的其他部分由:字母、数字和下划线组成

说明:在python3中,可以用中文作为变量名,非ASCII标识符也可以作为变量。

python保留字(即关键字):

这些关键字不能把他们用作标识符名称,Python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:

多行语句:

如果语句很长,我们可以使用反斜杠(\)来实现多行语句

也可以使用’’’...’’’跨越多行


print(‘‘‘这是多行记录
第二行
第三行
‘‘‘)
tem=1+\
    2
print(tem)

#运行结果如下===========

这是多行记录

第二行

第三行

3

在列表[]、字典{}、元组()的多行语句,不需要使用反斜杠(\),但结束符必须最后再加,例如:

空行

函数之间或类的方法之间用空行分隔,作用在于分隔两段不同功能或含义的代码,代码结构清晰。

Print输出

Print默认输出是换行的,要实现不换行需要在末尾加上end=‘‘


##print默认输出是换行的,要实现不换行需要在末尾加上end=‘‘

print(‘**************‘)
print(str)
print(yname)
print(‘**************‘)
print(str,end=‘ ‘)
print(yname,end=‘ **‘)
print(结束)

运行结果:

**************

Bueowei

wewlaoe

**************

Bueowei wewlaoe **结束

import 与 from……import


#import from……import
‘‘‘
将整个模块导入:import 模块名
从某个模块中导入某个函数:from 模块名 import 函数1
从某个模块中导入多个函数:from 模块名 import 函数1,函数2,函数3
从某个模块中导入全部函数:from 模块名 import *
‘‘‘
import sys
print(‘python 路径为:,sys.path)

from sys import path
print(‘python 路径为:,path)
#因为已经导入path成员,所以此处引用时不需要加sys.path

变量

python中的变量不需要声明,但每个变量在使用前必须赋值(因赋值以后该变量才会被创建)

变量就是变量,它没有类型,这里所说的‘类型’是变量所指的内存中对象的类型。

多个变量赋值:

python允许同时为多个变量赋值,从后向前赋值:


a,b,c=1,2,‘wrotuw‘
print(a,b,c)    #运行结果:1 2 wrotuw

 

print(‘==========‘)
a,b,c=1,2
print(a,b,c)    #运行结果:ValueError: not enough values to unpack (expected 3, got 2)

可以用del语句删除一些对象引用:


a,b,c,d=20,5.5,True,4+3j
del a
del b,c
print(a,b,c,d)      #运行结果 NameError: name ‘a‘ is not defined

Python3中有六个标准的数据类型:

数字12、 字符串’we’、 列表[1,3]、 元组(a,b)、字典{‘name’:’Ben’}、 集合{a,3,’Lily’}

不可变数据(3个):数字、字符串、元组

可变数据(3个):列表、字典、集合

比如:Python字符串不能被改变,向一个索引位置赋值,比如word[0]=’m’会导致报错。


TypeError: ‘str‘ object does not support item assignment  str类型不支持给他的项赋值

但一个变量可以通过赋值指向不同类型的对象。

内置函数type()可以用来查询变量所指的对象类型。


a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))  #运行结果:<class ‘int‘> <class ‘float‘> <class ‘bool‘> <class ‘complex‘>

 

字符串:

1.用单引号’word’ 或双引号”一个句子”  或三引号’’’ 一个段落‘’’

2.反斜杠’\’可以用来转义,使用r可以让反斜杠不发生转义 (r:raw string 未加工的)

3.字符串用+运算符连接在一起,用*运算符重复

4.python的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。

字符串的截取格式:变量[头下标:尾下标:步长]

  1. Python中的字符串不能改变。

实例:


#!/usr/bin/python3

str=‘Bueowei‘

print(str)                                #    ==Bueowei
print(字符串的长度:,len(str))           # ==7
print(str[2])       #输入第3个字符                 ==e
print(str[2:5])    #输出第3个到第5个的所有字符      ==eow 等同于str[2] str[3] str[4]
print(str[2:])      #输出从第3个字符到最后一个字符   ==eowei
print(str[0:-1])   #输出第一个到倒数第二个的所有字符  ==Bueowe
print(str[:-2])     #输出从第1个字符到倒数第三个字符    ==Bueow

数据类型转换 str(x) 将对象x转换为字符串

 

Number 数字:

整数int(且表示为长整型)、浮点数float、复数complex 1+2j、布尔bool

数值运算


print(5+4)      #9  
print(4.3-2)    #2.3 在混合类型计算中,python会把整型转换为浮点数
print(3*7)      #21    
print(2/4)      #0.5    除,得到一个浮点数
print(2//4)     #0      除,只保留整数部分
print(17%3)     #2      求余数(3*5+2
print(3**2)     #9      乘方

数据类型转换 int(x) 将对象x转换为整数 ;float(x) 将对象float转换为一个浮点数

List列表

列表中元素的类型可以不相同,可以是数字、字符串,甚至可以嵌套列表

和字符串一样,可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。


mlist=[567,‘qbd‘,2.23,‘runbo‘,[‘s‘,57]]
tinylist=[123,‘weor‘]

print(mlist)
print(mlist[:])           #和第一个写法效果一样
print(mlist[0])           #567
print(mlist[1:3])         #‘qbd‘ 2.23
print(mlist[2:])         #2.23,‘runbo‘,[‘s‘,57]
print(tinylist*3)       #[123, ‘weor‘, 123, ‘weor‘, 123, ‘weor‘]
print(mlist+tinylist)   #[567, ‘qbd‘, 2.23, ‘runbo‘, [‘s‘, 57], 123, ‘weor‘]

与python字符串不一样的是,列表中的元素可以改变


mlist=[567,‘qbd‘,2.23,‘runbo‘,[‘s‘,57]]
mlist[0]=‘89‘
print(mlist)        #[‘89‘, ‘qbd‘, 2.23, ‘runbo‘, [‘s‘, 57]]

截取可以接收第三个参数:截取的步长,若步长为负数,表示逆向读取(可以用于翻转字符串、列表)


mlist=[567,‘qbd‘,2.23,‘runbo‘,[‘s‘,57]]
mlist[0]=‘89‘
print(mlist)            #[‘89‘, ‘qbd‘, 2.23, ‘runbo‘, [‘s‘, 57]]
print(mlist[1:4:2])     #[‘qbd‘, ‘runbo‘]
print(mlist[-1::-2])     #[[‘s‘, 57], 2.23, ‘89‘] 翻转列表


yname=‘wewlaoe‘
print(yname[-1])    #e
print(yname[-1::-1])    #eoalwew  翻转字符串

数据类型转换 list(s) 将序列s转换为一个列表

Tuple(元组)

与字符串类似,可以被索引、截取,进行连接+   重复* 操作


print(‘======元组=======‘)
tuple=(‘adcd‘,323,3.5,‘w394‘)
tinytuple=(134,‘ruor‘)

print(tuple)
print(tuple[0])
print(tuple[1:3])
print(tinytuple*2)
print(tuple+tinytuple)

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list等


mtuple=(‘adcd‘,323,3.5,‘w394‘,[23,‘age‘])
mtuple[0]=‘old‘     #TypeError: ‘tuple‘ object does not support item assignment

mtuple[-1][0]=‘heigh‘
print(mtuple)       #(‘adcd‘, 323, 3.5, ‘w394‘, [‘heigh‘, ‘age‘])

构造包含0个或1个元素的元组比较特殊如下:


tup1=()     #空元组
tup2=(3,)   #一个元素,需要在元素后添加逗号

数据类型转换 tuple(s) 将序列s转换为一个元组

String字符串、list列表、tuple元组都属于sequence序列:

  1. 可以被索引m[n]
  2. 可以被截取m[a:b]( 当b未被省略时,截取的规则为“前闭后开”,是不包含m[b]的)

可以按步长截取m[a:b:e](步长为负数时,可以翻转序列)

  1. 也可以使用+ *操作符

Set集合

集合基本功能是进行成员关系测试和删除重复元素

可以使用大括号{} 或者set()函数创建集合,注意创建一个空集合必须用set(),而不是{},因为空的{}是用来创建一个空字典。

集合是无序的,不支持被索引、截取,且当有重复元素时只保留其中一个。


print(‘=========集合的运算==========‘)
#成员测试
student={‘Daives‘,‘ShanSan‘,‘Anliy‘,‘Tom‘,‘Sam‘,‘Llly‘ #创建集合方式1
if ‘Rose‘ in student:
    print(‘Rose 在集合中)
else:
    print(‘Rose 不在集合)

if ‘Daives‘ in student:
    print(‘Daives 在集合中)
else:
    print(‘Rose 不在集合)

#set可以进行集合运算

a=set(‘sejdkeldkkf‘)    #创建集合方式2  ,且set只能带一个参数
print(a)            #运行结果  {‘k‘, ‘e‘, ‘j‘, ‘l‘, ‘s‘, ‘d‘, ‘f‘}

print(a[0])         #运行结果   TypeError: ‘set‘ object does not support indexing 集合不支持索引

#集合:差集、并集、交集、求差异集
print(a-b)  #运行结果{‘k‘, ‘l‘, ‘f‘, ‘s‘}       a  b的差集 (只在a中而不在b中的元素组成的集合
print(b-a)  #运行结果{‘y‘}                      a  b的差集 (以b为目标,筛出b中独有的,a中没有的项)
print(a|b)  #运行结果{‘l‘, ‘e‘, ‘k‘, ‘y‘, ‘d‘, ‘s‘, ‘f‘, ‘j‘}       a  b的并集
print(a&b)  #运行结果   {‘d‘, ‘e‘, ‘j‘}         a  b 的交集
print(a ^ b)    #运行结果       {‘f‘, ‘k‘, ‘y‘, ‘s‘, ‘l‘}       a  b 中不同时存在的元素

数据类型转换 set(s) 将序列s转换为一个可变集合(a.add(5)  、a.update(6,7,8))

数据类型转换 frozenset(s) 将序列s转换为一个不可变集合,与tuple的区别在于无序,元素不可重复,且元素只能是不可变类型。

Dictionary  字典

字典是无序的对象集合,不能通过索引下标访问,而是通过键值来存、取的。

字典就是一种映射类型:键(key):值(value),且键(key)必须使用不可变类型(字符串、数字、元组),键(key)在该字典中是唯一的。


print(‘======字典=====‘)
dict={}
dict[‘age‘]=89
dict[‘name‘]=‘Daysan‘
dict[3]=‘333‘
dict[(3.2,5)]=‘dwie‘
print(dict.keys())      #运行结果   dict_keys([‘age‘, ‘name‘, 3, (3.2, 5)])
print(dict[0])      #运行结果   KeyError: 0,不是按0索引的,而被视为键值0

 

tinydict={‘site‘:‘cdds.369.cn‘,‘name‘:不停学,‘site‘:‘utf-8‘} #重复的键,相当于修改了对应的值
print(tinydict)     #输出完整的字典        运行结果:{‘site‘: ‘utf-8‘, ‘name‘: ‘不停学‘}

 

print(tinydict.keys())    #输出所有键   运行结果:([‘site‘, ‘name‘])     返回的类型:<class ‘dict_keys‘>
print(tinydict.values())    # #输出所有值   运行结果:dict_values([‘utf-8‘, ‘不停学‘])     返回的类型:<class ‘dict_values‘>

创建字典的几个方式:


Dict1={}
Dict1[‘age‘]=89                  #先定义,后面使用时赋值
Dict2={‘site‘:‘cdds.369.cn‘}    #定义同时赋值
Dict3=dict([(‘Runonb‘,1),(‘Google‘,3)])     #使用类型转换函数dict(),直接从键值对序列中构建字典。

数据类型转换 dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。

=====================================

Ctrl + / 注释(或取消注释),也可多行注释

Shift + F10    运行

Shift + F9    调试
快速查看文档:Ctrl + Q
进入列编辑模式:alt+鼠标
选中单词:ctrl+w
搜索:ctrl+f
全局搜索:ctrl+shift+f

原文地址:https://www.cnblogs.com/ww-xiaowei/p/12530732.html

时间: 2024-10-12 19:00:40

python基础巩固(变量类型:字典、集合、元组、列表、数字、字符串)的相关文章

python基础之变量类型和数据运算

一.变量的类型 程序中,为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的. 怎样知道一个变量的类型呢? 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要我们主动的去说明它的类型,系统会自动辨别 可以使用type(变量的名字),来查看变量的类型 name = "Python" age = 18 print(type(name),type(age)) —————————————————————————————————— <cla

2015/9/4 Python基础(8):映射和集合类型

Python里唯一的映射类型是字典.映射类型对象里,hash值(key)和指向的对象(值)是一对多的关系.字典对象是可变的,这一点上很像列表,它也可以存储任意个数任意类型的Python对象,其中包括容器类型.字典类型和序列类型的区别是存储和访问数据的方式不同.序列类型只用数字类型的键(从序列开始按数值顺序索引.)映射类型的键(key)可以是其他的对象类型(一般是字符串),映射类型的键直接或间接地和存储的数据值相关联.而在映射类型中,数据是无序排列的. 一个字典条目的语法格式是 键:值. 多条字典

Python基础1--变量类型

首先,在之前,我不是一个 Python玩家,我只是一个使用者,需要即取,现在,我要认真学习和记录,正确称为一个Python的玩家. 说明,这明显不是教程,是我自己理解并记录的笔记而已. Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 数字有四种数值类型:int,long ,float,complex, 例子:a=250 #int b=12345678910L #long,也可以小写l结尾,但是

python有哪些变量类型?以及变量类型的总结

python有哪些变量类型?以及变量类型的总结[数值]Number:float.int.long.complex [字符串]:str注意没有string,这里的str就是string的缩写. 创建方式:str() a='abcdef' 方法: 1.截取:a[头下标:尾下标:每步值] 每步值默认是:1 2.增加:a + a 等同 a*2 3.合并:a + a 4.S.lower() #小写 5.S.upper() #大写 6.S.swapcase() #大小写互换 7.S.capitalize()

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

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

黑马程序员-C语言基础:指针类型与指针和数组、字符串的关系

//指针变量就是用来存储地址的,只能存储地址 格式:  int  *p;  这个p为指针变量:指针变量占8个字节 类型是用来说明这个指针指向的类型: 比如上边的int代表这个指针变量会指向int类型的存储空间: int *p = &a;//这样一句可以写,此时的*只是一个标志,表示这个*只是表示p是个指针: *p = &a;//这样写就错了:此时*p表示取p指向的空间的值: 指针疑问:指针既然都占据8个字节,那么为什么要划分类型, 是因为当用*p指针取值或者赋值的时候,知道该取几个字节,比

《python基础教程(第二版)》学习笔记 字符串(第3章)

<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:%左侧是格式字符串,右侧是需要格式化的值print '%s=%d' % ('x',100) ==> x=100%% 格式字符串中出现 %模板字符串:from string import Templates=Template('$x is 100');  s.substitute(x='ABC');  ==> '

python基础--基本数据类型(Tuple(元组)--不可变数据)

python基础--基本数据类型(Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典)) Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典) Python3 的六个标准数据类型中:不可变数据(四个):Number(数字).String(字符串).Tuple(元组).Sets(集合):可变数据(两个):List(

Python基础知识点:类型和运算

一:类型和运算 –1.1 寻求帮助: dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 help(obj.func) # 查询obj.func的具体介绍和用法 – 1.2 测试类型的三种方法,推荐第三种 if type(L) == type([]): print("L is list") if type(L) == list: print("L is list") if isinstance(L, list): print("

Python基础教程系列:六、元组

实际上元组是跟列表非常相近的另一种容器类型.元组和列表看起来不同的一点是元组用的是圆括号而列表用的是方括号.而功能上,元组和列表相比有一个很重要的区别,元组是一种不可变类型.正因为这个原因,元组能做一些列表不能做的事情.比如用做一个字典的key.另外当处理一组对象时,这个组默认是元组类型.比如  x, y = 1, 2   ;   x, y ---->(1, 2) 所以呢,在这一章节,我们基本就不再从头到尾挨个说了,它和列表的基本操作都是一样的. 我们重点说一下元组和列表间的转换以及元组和列表的