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.变量由字母.数字.下划线任意 ...
随机推荐
- java-GUI编程之AWT组件
AWT中常用组件 基本组件 组件名 功能 Button Button Canvas 用于绘图的画布 Checkbox 复选框组件(也可当做单选框组件使用) CheckboxGroup 用于将多个Che ...
- 我们如何上传docker到habor上呢
Docker 打包上传habor认证 首先在 Maven 的配置文件 setting.xml 中增加相关 server 配置,主要配置 Docker registry(远程仓库)用户认证信息. < ...
- C++篇:第四章_函数_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 五.函数 (一)函数使用规则 函数的定义不能嵌套但调用可以嵌套 在函数调用时,如 ...
- 几种比较经典的波形及其FFT变换(正弦波,三角波,方波和锯齿波)
之前上学时我的信号学得最差了,主要原因还是我高数学得不怎么样.可能是人总敬畏自己最不会的,所以我觉得我学过诸多科目中,数学是最博大精深而最妙的,从最开始的一次函数到反比例函数,二次三次函数和双曲线,椭 ...
- 2019-2020 10th BSUIR Open Programming Championship. Semifinal
2019-2020 10th BSUIR Open Programming Championship. Semifinal GYM链接https://codeforces.com/gym/103637 ...
- Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架
Metalama是一个基于微软编译器Roslyn的元编程的库,可以解决我在开发中遇到的重复代码的问题.但是其实Metalama不止可以提供编译时的代码转换,更可以提供自定义代码分析.与IDE结合的自定 ...
- 坐实大数据资源调度框架之王,Yarn为何这么牛
摘要:Yarn的出现伴随着Hadoop的发展,使Hadoop从一个单一的大数据计算引擎,成为大数据的代名词. 本文分享自华为云社区<Yarn为何能坐实资源调度框架之王?>,作者: Java ...
- HTTP和HTTPS有什么不同
网站的URL会分为两部分:通信协议和域名地址. 域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言.网站中的通信协议一般就是HTTP协议和HT ...
- toggleClass() 把本来的有的类名去掉 本来没有的 加上
连续点击按钮可以交替颜色,就是改变class
- CentOS8更换yum源后出现同步仓库缓存失败的问题
1.错误情况更新yum时报错: 按照网上教程,更换阿里源.清华源都还是无法使用.可参考: centos8更换国内源(阿里源)_大山的博客-CSDN博客_centos8更换阿里源icon-default ...