''''''
'''
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. fjnu2019第二次友谊赛 B题

    ### 题目链接 ### 题目大意: 给你一个 n * m 的地图以及小蛇蛇头的初始位置,告诉你它会往 上.下.左.右 四个方向走.若在走的过程中(包括结束时)会使得小蛇越界,则输出 "Ga ...

  2. 压测 swoole_websocket_server 性能

    概述 这是关于 Swoole 入门学习的第十篇文章:压测 swoole_websocket_server 性能. 第九篇:Swoole Redis 连接池的实现 第八篇:Swoole MySQL 连接 ...

  3. idea中tomcat乱码

    idea中tomcat乱码 解决方案: a. file - settings - 搜File Encodings,改为utf-8 b.打开idea工作目录bin,在idea64.exe.vmoptio ...

  4. PDF转换成DXF文件?PDF转DXF的操作方法

    在CAD工作中,经常就需要将绘制完成的图纸文件的格式进行转换,那怎么将PDF文件转换成DXF格式的呢?具体要怎么来进行操作呢?本编教程小编就来教教大家具体操作方法,具体操作如下: 一.工具转换 推荐指 ...

  5. PHP strstr 字符串函数

    定义和用法 strstr - 查找字符串的首次出现 版本支持 PHP4 PHP5 PHP7 支持 支持 支持 V5.3.0 新增可选的 before_needle 参数. V4.3.0 strstr( ...

  6. Java的三种代理模式&完整源码分析

    Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCache缓存的实现机制](https://www.c ...

  7. SQLServer之GROUP BY语句

    GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT column_name, aggregate_func ...

  8. 利用socket传递图片

    package com.company.s3; import java.io.File; import java.io.FileOutputStream; import java.io.InputSt ...

  9. 031.[转] 从类状态看Java多线程安全并发

    从类状态看Java多线程安全并发 pphh发布于2018年9月16日 对于Java开发人员来说,i++的并发不安全是人所共知,但是它真的有那么不安全么? 在开发Java代码时,如何能够避免多线程并发出 ...

  10. Postsql 修改字段长度和类型

    以后更改字段长度会重写表,如果表比较大,那么表会加锁,需要很长时间 通过一种方法通过修改pg_attribute.atttypmod字段修改长度,不需要重写表 查询select * from pg_a ...