python基础数据类型1
python基础数据类型1
part1:
''' ''': 三个单引号用于换行的字符串
字符串可以相加(拼接)相乘(重复)
在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
- type: 判断类型
part2:
运算符
- / %
** :幂运算,求x的y次幂
// :整除 返回商的整除部分
逻辑运算符:
and or not
在没有括号情况下:not > and > or
str <=>int可以相互转化(字符串转数字int会自动去除空格)
int<=>bool : 可以相互转化(非0即True)
str<==> :非空即true
str<-->bool
s1=''
print(bool(s1))
s2=True
print(str(s2))
- 编码:(一个字节:8位)【1 byte = 8 bit】
ASCII码:1个英文字母:1个字节
GBK码: 1个英文字母:1个字节,1个中文,2个字节
Unicode: 无论中文英文: 4个字节
Utf-8: 升级: 最少用一个字节表示一个字符(a:一个字节,欧洲:2个字节 中文:3个字节)
格式化
input中输入的都是字符串
可以通过int将字符串转换成数字
也可以通过str将数字转化为字符串
格式化输出:
当你遇到这样的需求:字符串中想让某些位置变成动态可传入的,首先考虑到格式化输出。
while else (while没有被break终止则执行else)
pass: 过
part3
字符串
s1='python全栈22期'
1.按索引: s1[index]
2.按照切片: s1[start_index:end_index]
3.按照切片步长:s1[start_index:end_index:step]
4.反向按照切片步长:s1[start_index:end_index后延一位:-step]
5.
全取出来
s9=s1[:]
print(s9)
字符串常用操作方法
s='tAiBai'
1.s.upper() s.lower() 变成大小写
2.s.startswith('tA') s.endswith() 是否已某某开头或者结尾
3.s.replace('gg','xx',1) 替换
4.s.strip() 只能去除左右两边的
5.s.split() 默认按照空格分隔,返回一个列表
6.join (必须是字符串) s2=':'.join(l1)
7.count:数出某个字符串出现的次数
8.format:格式化输出(三种)
9.is系列
10. in 和 not in
part4:
列表
- 列表的创建:
方式一
li=[1,2,'alex']
方式2
li=list()
方式3:列表推导式
列表的索引,切片
列表的增删改查:
1.增:
1.append
2.insert
3.extend:迭代者增加(一个元素)一个一个的加上去
2.删除
1.pop按照索引位置删除
2.2.remove按照指定元素去删除,如果由重名元素,默认删除第一个
3.3.clear()清空所有[了解]
4.del1)按照索引删除2.按照切片删除 delli[-1] delli[::2]
3.改
1.按照索引改
2.按照切片改(了解)
3.按照切片步长改值(必须一一对应)
4.查
索引切片
列表的嵌套
tuple只读
1.查看
2.元组的拆包(一一对应)
3.元组应用场景:a.打包和解包操作:
# 打包
a = 1, 10, 100
print(type(a), a) # <class 'tuple'> (1, 10, 100)
解包
i, j, k = a
print(i, j, k) # 1 10 100
b.交换两个变量的值
a, b = b, a
a, b, c = b, c, a
需要说明的是,上面并没有用到打包和解包语法,Python的字节码指令中有ROT_TWO和ROT_THREE这样的指令可以实现这个操作,效率是非常高的。但是如果有多于三个变量的值要依次互换,这个时候没有直接可用的字节码指令,执行的原理就是我们上面讲解的打包和解包操作
c.让函数返回多个值
return语句中有两个值,这两个值会组装成一个二元组然后返回。所以调用find_max_and_min函数会得到这个二元组,如果愿意也可以通过解包语法将二元组中的两个值分别赋给两个变量
- range():看做:可以自己控制范围的数字列表,但是它不是列表
- 指定范围,生成指定数字
面试题:l1 = range(5)
print(l1[l1[1:3]]) #range(1,3) 但在python2中返回的是一个列表
print(l1[-1]) #4
for I in range(1,5,-1): print(i) # 没有东西
for I in range(5,1,-1): print(i) #5,4,3,2 #倒叙要从大到小
part5:
字典
- 数据类型的分类:
可变(不可哈希)的数据类型:list dict set
不可变(可哈希)的数据类型:str bool int tuple. 比如:str,对原字符的操作不会改变原字符串,而是形成一个新的字符串 (键应该是不可变数据类型)
- 字典的创建方式:
方式1:dic=dict((('one',1),('two',2),('three',3)))
方式2:dic=dict(one=1,two=2,three=3)
方式3(官方写法):dic=dict({'one':1,'two':2,'three':3})
验证字典的合法性:键应该是不可变数据类型
字典的增删改查
1.增:
1.直接增加有则改之,无则增加
2.setdefault()有则不变,无则增加
2.删:
1.pop()按照键去删除键值对返回值是删除对应的值(重要)#有第二个值不会报错,并且返回第二个值
2.clear()清空
3.del按照键删除,没有此键会报错
3.改:按键改
dic['name']='alex'
4.查:
1.直接没有会报错
2.get()(重要)可以设置返回值#没有此键时不会报错,并且返回第二个值
3.三个特殊的keys()values()items()
- 字典的嵌套
python基础数据类型1的更多相关文章
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- 1--Python 入门--Python基础数据类型
一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
- 老男孩Python==基础数据类型考试题
转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...
随机推荐
- 该如何选择 background-image 和 img 标签
用img标签 如果你希望别人打印页面时候包含这张图片请使用 img 标签 当这张图片有非常有意义的语义,比如警告图标,请使用img标签及它的alt属性.这样意味着你可以向所有的用户终端现实他的意义. ...
- web项目中视频的上传和展示
思路: 上传:<form>表单提交视频-->后台使用字节流保存到本地. 展示:<video>标签展示: src属性发送请求 --> 使用字节流将视频绑定到响应并返回 ...
- CSS:两端对齐原理(text-align:justify)
我是一个小白我是一个小白我是一个小白喷我吧,哈哈 写样式的是时候经常会碰到字体两端对齐的效果,一般就网上找端css样式复制下就结束了,没有考虑过原理是啥贴下代码 <head> <me ...
- C# 将Excel转为PDF时设置内容适应页面宽度
将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小:如果Excel表格数据的设计或布局比较宽或者数据内较少的情况,转出来的PDF要么会将原本的一个表格分割显示在两个页面,或 ...
- PAT B1091 N-自守数
输入样例: 3 92 5 233 输出样例: 3 25392 1 25 No '解题思路:判断的时候将结果转换成字符串,判断后面几位数字和输入数字是否相同,掉进了N是从1到10的坑,而不是1到9 ...
- Java到底是编译还是解释型语言?编译和解释型语言有什么区别?
7.java语言执行过程与方式: 编译型语言: 是指使用专门的编译器.针对特定平台(操作系统)将某种高级语言源程序一次性"翻译"成可被该平台硬件运行的机器码(包括指令和数据),并包 ...
- 将本地项目上传到gitLab操作
在设置好SSH之后,执行下面的操作即可完成: git init // 初始化git status //查看提交文件状态git remote add origin git地址 // 连接 ...
- ZXing Blazor 扫码组件 , ssr/wasm通用
项目介绍 本项目是利用 ZXing 进行封装的 Blazor 组件库 直接调用手机或者桌面电脑摄像头进行扫码 项目截图 项目地址 https://github.com/den ...
- Linux上安装RePlace
RePlAce: Advancing Solution Quality and Routability Validation in Global Placement 项目地址 https://gith ...
- 实现call、apply 及 bind 函数
今日学习内容: (1)call 函数的实现步骤: 判断调用对象是否为函数,即使是定义在函数的原型上的,但是可能出现使用 call 等方式调用的情况. 判断传入上下文对象是否存在,如果不存在,则设置为 ...