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.变量由字母.数字.下划线任意 ...
随机推荐
- 如何用vue打造一个移动端音乐播放器
写在前面 没错,这就是慕课网上的那个vue音乐播放器,后台是某音乐播放器的线上接口扒取,虽然这类项目写的人很多,但不得不说这还是个少有的适合vue提升的好项目,做这个项目除了想写一个比较大并且功能复杂 ...
- CSS系列——浏览器默认样式
了解HTML标签在各浏览器当中的默认样式,可以让我们了解,为什么会要写Reset.css,Reset.css当中要怎么写样式最合理.试着思考下面的问题: 为什么会有默认样式? 每个浏览器的默认样式有什 ...
- Java/C++实现策略模式---旅游出行方式
旅游的出行方式有乘坐飞机旅行.乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式. 类图: Java代码: public class Person { ...
- 牛客网-剑指Offer 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- JAVA环境搭建之MyEclipse10+jdk1.8+tomcat8环境搭建详解
一.安装JDK 1.下载得到jdk-8u11-windows-i586.1406279697.exe,直接双击运行安装,一直next就可以,默认是安装到系统盘下面Program Files, 我这里装 ...
- k8s pod故障分类与排查
一.Pod故障状态基本有几种Pod状态 处于PendingPod状态 处于WaitingPod状态 处于ContainerCreatingPod状态 ImagePullBackOffPod状态 Cra ...
- js刷新页面window.location.reload()
window.location.reload()刷新当前页面 window.parent.location.reload()刷新父亲对象(用于框架) opener.location.reload()刷 ...
- 判断是否微信,qq等登陆。进去不同的页面下载
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>安 ...
- node.js - mysql
今天结束的挺早,因为今天的内容还可以不是很难,今天全程是学了一些关于mysql数据库和sql查询语句的内容包括在node终端里面怎么来连接数据库.经过今天的一个学习,我感觉离那个地步越来越近了,就是那 ...
- MySQL8自增主键变化
MySQL8自增主键变化 醉后不知天在水,满船清梦压星河. 一.简述 MySQL版本从5直接大跃进到8,相信MySQL8一定会有很多令人意想不到的改进,如果不想只会CRUD可以看看. 比如系统表引擎的 ...