''''''
'''
1 python的定义
是一门弱类型的解释性的高级编程语言
这里的高级是相对低级(例如:汇编语言等) 高级编程语言和低级编程语言的区别
1、前者更接近于人的理解--字母组成的语法
2、后者更接近于计算器的理解--字节码、二进制 2 python的特点
人生苦短,我用python
简洁 3 为什么学习python
爱好,人工智能,机器学习,大数据 4 python第一个程序
print('hello world')
方式1:在cmd中输入python后,在交互命令行,输入上述语句,enter
方式2:在本地d盘新建一个hello.py的文件,将上述语句复制到.py文件中,保存后
在cmd中,进入到d盘, 执行命令 python hello.py
方式3:将上述语句写入pycharm后,run 5 变量的概念
变量是程序运行过程中产生的中间值--temp(暂存属性,开辟一个内存空间,用于保存值)
1、内存空间的名字就是变量的名字
2、内存空间保存的值就是变量的值
比如: a=10 变量名字就是a 变量的值是10 6 变量的命名规则:
1、组成:数字、字母、下划线组成
2、开头:不能是数字开头
3、关键字:不能是关键字,比如:list
4、长度:不要太长
5、中文:不要是中文
6、有意义:要有意思(一看名字,就知道变量大概表示的意思)
7、大小写:严格区分大小写
8、写法:推荐下划线或者驼峰法命名
下划线:hello_world(单词之间,下划线分隔开)
驼峰法:helloWorld (首字母不大写,第二个单词开始,首字母大写) 7 变量的数据类型
1 int 整数 + - * / // bit_length()
2 str 字符串
1、表示方式 ' " \''' \""" 注意点:这里的\ 表示转义
1 单引号''
2 双引号""
3 三个单引号 ''' '''
4 三个双引号 """ """
2、* 重复
3、+ 拼接
4、%s 格式化
5、索引和切片
s1[start:end:step] 左闭右开
1 start 起始索引号-下标
2 end 结束索引号-下标 (取不到)
3 start 步长(不写,默认是1) 6、常见内置方法
1 upper() 转换成大写字母 2 strip() 去掉字符串两端的空白
strip('ab') 去掉字符串两端的'ab' 3 replace(old,new,count)
参数3 count表示从左到右替换的次数
参数3不写,默认是全部替换 4 split() 把字符串拆分成几个子字符串,每个子字符串作为列表的元素,返回的是列表
默认分隔符是空格
split('_') 分隔符是下划线 5 '_'.join() 把参数iterable中的字符串通过连接符'_'拼接成字符串
写法: '连接符'.join(iterable)
注意点:
1 iterable中的元素必须是str,而不能是int
2 join不是字符串的内置方法 6 startswith()
写法:s1.startwith('a')
作用:判断字符串是否以字母'a'开头 7 find index count
写法:s1.find('a')
作用:从字符串s1中查找字符‘a’,返回索引号;如果找不到,就返回-1 --更健壮 推荐 写法:s1.index('a')
作用:从字符串s1中查找字符‘a’,返回索引号;如果找不到,就报错 写法:s1.count('a')
作用:从字符串s1中统计字符'a'出现的次数,返回出现的次数int
如果是0次,代表没有找到(也有查找的功能)
8 isdigit()
写法:s1.isdigit()
作用:判断字符串是否是数字形式的,是的话,返回True 9 len()
写法:len(s1)
作用:返回字符串的长度 7、字符串是iterable
for i in s1:
循环体(break continue)
else:
pass 8、字符串的编码方式
1 ascii 8位 1个字节
2 gbk 国标码 gb2312 16位 2个字节
3 unicode 万国码 32位 4个字节
4 utf-8 可变的unicode
1 英文字符 8位 1个字节
2 欧洲字符 16位 2个字节(德文、法文、西班牙文等字符)
3 中文字符 24位 3个字节
字符串编码后变成字节bytes
编码-加密-压缩
字节解码后变成字符串
解码-解密-解压
bytes.decode() #解码 3、bool 布尔类型
取值:True False
作用:用于判断的
类型转换:
False:0或者空('' [] () {} set() None)
空字符串、空列表、空元组、空字典、空集合、空None
注意:空格、\r \n \t都是True
True:除了上面的,其他都是True
注意点:类型转换False可以直接用于判断
备注:
例子1
content1 = input('请输入你的名字:') #输入的是字符串
if content1: #判断空 如果不输入内容,直接回车,就提示-你没有名字 注意点:和下面行的结果不一样
# if content1 == '': #如果不输入内容,直接回车,就打印-你的名字是
print('你的名字是 ',content1)
else: #如果你什么都没有输入,这个content1就是空字符串
print('你没有名字') 例子2
li1 = [1,2,3]
if li1: #这里就是在判断列表是否为空, 和下面行等效
# if li1 == []:
print(li1)
else: #
print('空列表') 4、列表 list
表示:[],元素之间是逗号隔开
概念:列表是一个容器,可以存放任意数据类型
和其他开发语言的数组array类似
特点:
1、列表是可变的
2、列表由索引和切片功能
常见操作:
1 增
1 append(元素值)
在列表最后面追加元素
2 insert(i,元素值)
在列表指定位置前插入元素
3 extend(iterable)
把iterable中的元素依次添加到原列表
2 删
1 pop()
参数不写,默认是删除最后一个元素
参数也可以指定索引号,来删除
2 remove
删除指定的元素值
3 del
切片或者单个删除
4 clear
清空元素
3 改
1 按照索引-下标修改
切片修改
单个索引号修改
4 查
1、单个索引号取值
2、for循环遍历 01列表-增加元素小结
1 append是末尾追加新元素--最常用
2 insert是指定位置前插入新元素
3 extend是将iterable中元素依次添加到原列表
02列表-删除元素小结
1 pop
不带参数,默认删除列表最后一个元素,并且获取到被删除的最后一个元素
指定参数,删除指定位置-索引号的元素,并且获取到被删除的指定位置的元素
2 remove
参数:元素值(不是位置)
作用:删除指定元素值
3 del
1 参数:单个位置-索引号
写法:del 列表(位置)
作用:删除单个位置的元素
2、参数:切片
写法:del 列表(切片)
作用:切片删除多个位置的元素
3、参数:列表名
写法:del 列表名
作用:删除整个列表,回收内存空间(和清空clear是不同的)
4、参数:字典的key
写法:del 字典名[key]
作用:删除字典中指定key对应的键值对
综上,del的作用
1、可以删除单个位置的元素
2、可以切片删除多个元素
3、可以删除整个列表,回收内存空间
4、不仅是列表,也适用于字典
4 clear
参数:为空
写法:li1.clear()
作用:清空列表的元素,变成空列表
清空-列表的内存空间没有被回收(和del li1不一样)
03列表-修改元素小结
1 单个位置修改--单个元素修改
写法:li3[1] = 'james'
作用:指定位置-索引号进行列表单个元素的修改 2、切片多个元素修改
1 2个元素改成1个元素
正确写法:li3[1:3] = ['james']
错误写法:li3[1:3] = 'james' 注意点 2 2个元素改成2个元素
写法:li3[1:3] = ['james','kevin'] 3 2个元素改成3个元素
写法:li3[1:3] = ['james','kevin','lucy']
04列表-查询元素小结
1 单个查询-单个取值-按照单个位置-索引号-下标
2 多个查询-多个取值-按照切片
3 全部查询-全部取值-for循环遍历 5、其他常见操作
1 count() 计数
计算某个元素在列表出现的次数
2 index() 查找
返回某个元素在列表中的位置-索引号-下标
3 sort() 排序
把列表的元素进行排序,默认升序,列表本身修改了
4 reverse()反转
把列表的元素反转,列表本身修改了 6、列表在循环遍历的过程中,不能删除元素,因为涉及到元素的移动
解决办法:
把要删除的元素,添加到新的列表中,循环新列表,删除老列表 7、深浅拷贝和赋值
1、= 赋值,两个变量指向同一个内存地址,不同的变量只是同一个内存地址的不同别名
2、浅拷贝,只拷贝第一层(第二层及以上还是指向同一个内存空间,没有实现拷贝)
li1.copy()
li1[:]
检验是否是一个内存空间的办法:看变量的id值
3、深拷贝,不仅拷贝第一层,第二层及以上都拷贝
li1.deepcopy()
扩展:在其他的编程语言(比如:java),叫做克隆,也分为深浅克隆 浅拷贝和深拷贝的类比
1、浅拷贝是第一层内存空间分开,第二层及以上内存空间是同一个
--第一层独立,第二层及以上是一变都变
第一层就是家庭夫妻财务AA
第二层就是家庭夫妻设立的共同账户
2、深拷贝是第一层内存空间分开,第二层及以上内存空间也分开--每层完全独立
类比:家庭夫妻财务完全AA,没有设立共同账户 8、列表推导式
写法
[结果 for循环 if判断]
例子:
li7 = [1,2,3]
#需求:将列表中的奇数,变成其平方数
li8 = [i*i for i in li7 if i%2 == 1 ]
print(li8) #[1, 9] '''

Python【day 15】基本数据类型-int str bool list的更多相关文章

  1. Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈

     python 的数据类型: 1.int:存放 1,2,3 等数据 ,用于数字的运算 2.bool :True, False 用于判断 3.str:字符串,用来存储少量的数据 4.list : 数组的 ...

  2. 基础数据类型(int,str,bool)

    一 python 中的基础数据类型 1.int  数字类型(整数类型)  主要用来数学计算 2.str  字符串   可以保存少量数据进行操作 3.bool  布尔值  判断真假   True  Fa ...

  3. 编码,基础数据类型 int str bool,for循环

    一.编码: ASCII: 8位  1个字节  其实是7位,首位全部是0,创造者留出一位,以便后续使用; gdk :    16位 2个字节 国标码 只能识别汉语和英语 英语:8位 1个字节    汉语 ...

  4. python摸爬滚打之day03----基本数据类型(int,str,bool)

    1.数据类型转换 字符串 ----> bool print( bool("hello") )  -----> True 数字----> bool print( b ...

  5. python数据类型,int,str,bool

    一,python中的int() int在python中主要用来运算,对字符串的转化,用int(str)表示,并且需要str.isdigit为真. 在int()中二进制的转换如下: #bit_lengt ...

  6. python基础-2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange

    1.编码转换 unicode 可以编译成 UTF-U GBK 即 #!/usr/bin/env python # -*- coding:utf-8 -*- a = '测试字符' #默认是utf-8 a ...

  7. python基础数据类型—int、bool、字符串的常用方法

    1.int int为整型数据,主要用于计算和类型转化(将字符串转为数字) 常用方法 #bit_length()当用二进制表示数字时所用最少位数,如下十进制数12用二进制表示是1100(bin),所以# ...

  8. python中的基本数据类型(int,bool,str)及字符串操作

    一. 基本数据类型概况 1.  int 整数,主要用来进行数学运算 2.  str 字符串,可以保存少量数据并进行相应的操作 3.  bool 布尔值,判断真假,True,False 4.  list ...

  9. Python基础—基础数据类型int、bool、str(Day3)

    一.int 数字 用于计算,+ - * / % **等 bit_lenth():转化成二进制的最小位数. i=4 print(i.bit_length())执行结果:3 1   0000 0001 2 ...

随机推荐

  1. Java题库——Chapter5 方法

    1)Suppose your method does not return any value, which of the following keywords can be used as a re ...

  2. C# - VS2019 DataGridView导出到Excel的三种方法

    //原文出处:http://www.yongfa365.com/Item/DataGridViewToExcel.html 1 #region DataGridView数据显示到Excel /// & ...

  3. Android6.0 源码修改之Setting列表配置项动态添加和静态添加

    写在前面 最近客户有个需求,要求增加操作Setting列表配置项的功能,是不是一脸懵,没关系,一图胜千言,接下来就上图.诺,就是这么个意思.   原来的列表配置项     增加了单个配置项     增 ...

  4. Command CompileSwiftSources failed with a nonzero exit code

    Xcode错误提示:Command CompileSwiftSources failed with a nonzero exit code,网上找了好多才搞定,通过在Build Setting里面自添 ...

  5. Spring Boot 2 使用Servlet、Listener和Filter配置

    开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 一.使用Servlet配置 1.修改启动类 Demo ...

  6. Error 942 occured during Initialization of Bufq KUPC$S_1_20181023155636

      一台ORACLE实例(Oracle Database 10g Release 10.2.0.5.0)启动时,报"Error 942 occured during Initializati ...

  7. mongodb4版本,windows下的安装与配置(史上步骤最全最详细+图解)

    安装的是4.2.1版本,安装途中出现过很多错误,找遍各种博客基本没能解决 1.mongodb安装的官方地址: https://www.mongodb.com/download-center/commu ...

  8. Linux—磁盘管理

    https://www.cnblogs.com/new-journey/p/10076387.html https://www.cnblogs.com/jiangxiaoxian/p/9610903. ...

  9. c++用流控制成员函数输出数据

    #include<iostream> #include<iomanip> using namespace std; int main() { ; double b=314159 ...

  10. 【洛谷5298】[PKUWC2018] Minimax(树形DP+线段树合并)

    点此看题面 大致题意: 有一棵树,给出每个叶节点的点权(互不相同),非叶节点\(x\)至多有两个子节点,且其点权有\(p_x\)的概率是子节点点权较大值,有\(1-p_x\)的概率是子节点点权较小值. ...