python基础巩固(变量类型:字典、集合、元组、列表、数字、字符串)
Python 3 教程 菜鸟教程
https://www.runoob.com/python3/python3-tutorial.html
在控制台DOS运行.py文件
- 先切换到.py文件所在目录
- 再输入python hello.py (输入python3 hello.py执行会报错,这里与菜鸟教程不同)
在Unix & Linux 平台安装 Python3
- 先下载Unix/Linux的源码压缩包 https://www.python.org/downloads/source/
- 解压压缩包,并安装
# 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('''这是多行记录 #运行结果如下=========== 这是多行记录 第二行 第三行
3 |
在列表[]、字典{}、元组()的多行语句,不需要使用反斜杠(\),但结束符必须最后再加,例如:
空行
函数之间或类的方法之间用空行分隔,作用在于分隔两段不同功能或含义的代码,代码结构清晰。
Print输出
Print默认输出是换行的,要实现不换行需要在末尾加上end=''
##print默认输出是换行的,要实现不换行需要在末尾加上end='' print('**************') 运行结果: ************** Bueowei wewlaoe ************** Bueowei wewlaoe **结束 |
import 与 from……import
#import 与from……import |
变量
python中的变量不需要声明,但每个变量在使用前必须赋值(因赋值以后该变量才会被创建)
变量就是变量,它没有类型,这里所说的‘类型’是变量所指的内存中对象的类型。
多个变量赋值:
python允许同时为多个变量赋值,从后向前赋值:
a,b,c=1,2,'wrotuw'
print('==========') |
可以用del语句删除一些对象引用:
a,b,c,d=20,5.5,True,4+3j |
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 |
字符串:
1.用单引号’word’ 或双引号”一个句子” 或三引号’’’ 一个段落‘’’
2.反斜杠’\’可以用来转义,使用r可以让反斜杠不发生转义 (r:raw string 未加工的)
3.字符串用+运算符连接在一起,用*运算符重复
4.python的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
字符串的截取格式:变量[头下标:尾下标:步长]
- Python中的字符串不能改变。
实例:
#!/usr/bin/python3 |
数据类型转换 str(x) 将对象x转换为字符串
Number 数字:
整数int(且表示为长整型)、浮点数float、复数complex 1+2j、布尔bool
数值运算
print(5+4) #9 加 print(17%3) #2 求余数(3*5+2) |
print('======Number的一些函数===========') import math print(abs(-3)) #取绝对值 3 print(math.fabs(-10)) #取绝对值,返回的浮点数 10.0 print(math.floor(4.9)) #返回的下舍整数 4 print(round(10.5623,1)) #返回浮点数的四舍五入值,1代表舍入到小数后的位数 10.6 print(max(5,6,3,32,654)) #参数可以为序列 654 print(min(5,6,3,32,654)) #参数可以为序列 3 print(pow(3,2)) #x**y 幂运算,3**2=9 print('======随机函数===========') import random # r=random() #随机生成一个(0,1)范围内的实数 TypeError: 'module' object is not callable print(random.choice(range(10))) #从0到9中随机挑选一个整数 print(random.uniform(3,30)) #随机生成一个[x,y]范围内的实数 print('======数学常量===========') print(math.pi) #3.141592653589793 print(math.e) #2.718281828459045
数据类型转换 int(x) 将对象x转换为整数 ;float(x) 将对象float转换为一个浮点数
List列表
列表中元素的类型可以不相同,可以是数字、字符串,甚至可以嵌套列表
和字符串一样,可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
mlist=[567,'qbd',2.23,'runbo',['s',57]] |
与python字符串不一样的是,列表中的元素可以改变
mlist=[567,'qbd',2.23,'runbo',['s',57]] |
截取可以接收第三个参数:截取的步长,若步长为负数,表示逆向读取(可以用于翻转字符串、列表)
mlist=[567,'qbd',2.23,'runbo',['s',57]] |
yname='wewlaoe' |
数据类型转换 list(s) 将序列s转换为一个列表
Tuple(元组)
与字符串类似,可以被索引、截取,进行连接+ 重复* 操作
print('======元组=======')
|
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list等
mtuple=('adcd',323,3.5,'w394',[23,'age'])
mtuple[-1][0]='heigh' |
构造包含0个或1个元素的元组比较特殊如下:
tup1=() #空元组 |
虽然元组中的元素不能改变,不允许删除,但可以使用del语句来删除这个元组:del tup2
数据类型转换 tuple(s) 将序列s转换为一个元组
String字符串、list列表、tuple元组都属于sequence序列:
- 可以被索引m[n]
- 可以被截取m[a:b]( 当b未被省略时,截取的规则为“前闭后开”,是不包含m[b]的)
可以按步长截取m[a:b:e](步长为负数时,可以翻转序列)
- 也可以使用+ *操作符
Set集合
集合基本功能是进行成员关系测试和删除重复元素
可以使用大括号{} 或者set()函数创建集合,注意创建一个空集合必须用set(),而不是{},因为空的{}是用来创建一个空字典。
集合是无序的,不支持被索引、截取,且当有重复元素时只保留其中一个。
print('=========集合的运算==========')
#set可以进行集合运算 a=set('sejdkeldkkf') #创建集合方式2 ,且set只能带一个参数 print(a[0]) #运行结果 TypeError: 'set' object does not support indexing 集合不支持索引
#集合:差集、并集、交集、求差异集 |
数据类型转换 set(s) 将序列s转换为一个可变集合(a.add(5) 、a.update(6,7,8))
数据类型转换 frozenset(s) 将序列s转换为一个不可变集合,与tuple的区别在于无序,元素不可重复,且元素只能是不可变类型。
Dictionary 字典
字典是无序的对象集合,不能通过索引下标访问,而是通过键值来存、取的。
字典就是一种映射类型:键(key):值(value),且键(key)必须使用不可变类型(字符串、数字、元组),键(key)在该字典中是唯一的。
print('======字典=====')
tinydict={'site':'cdds.369.cn','name':'不停学','site':'utf-8'} #重复的键,相当于修改了对应的值
print(tinydict.keys()) #输出所有键 运行结果:(['site', 'name']) 返回的类型:<class 'dict_keys'> |
创建字典的几个方式:
Dict1={} |
数据类型转换 dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
=====================================
Ctrl + / 注释(或取消注释),也可多行注释
Shift + F10 运行
Shift + F9 调试
快速查看文档:Ctrl + Q
进入列编辑模式:alt+鼠标
选中单词:ctrl+w
搜索:ctrl+f
全局搜索:ctrl+shift+f