Python初识

【参考资料】

  • 零基础入门学习python(小甲鱼)
  • 流畅的Python

Python数据类型

Number数字类型

整数类型整数之间的进制转换  二进制
    计算机常用
    是计算机唯一能直接理解的数字
    表示为0b开头的0,1代码
    例如 0b01101, 0b10001
  八进制
    不常用
    以0o开头的包含0-7的数字
  十六进制
    缝16进1
    其实是每四位二进制表示一位十六进制数
    包含0-9, a-f
    数字上以0x开头表示
  十进制
    10, 80, 178  浮点数
  • 数学中的小数
  • 计算机里边表示浮点数可以有条件省略

String字符串类型

  • 用来表示一串文字信息
  • 如何表示单双引号交错使用
  • 单引号
  • 双引号
  • 三引号(三个单引号或者三个双引号)
    • 能够扩起多行信息

str = ‘hello world’

str = “”” hello world “””

  • 字符串格式化
  • 利用百分号(%)
    • 在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
    • %d: 此处应该放入一个整数
s = " I am d%"   print(s%18)
+ %s: 表示此处应该放入一个字符串
s = " I am s%"   print(s%'str')
  • 利用format函数
    • s = “I am {0}—{1}”.format (“str1”,’str2′)

布尔值

  • 表示真假的值
  • 只有两个值, True/False
  • 布尔值可以跟数字直接操作

list 有序列表 list = [ ]

定义一个list

list = []

list概念

  • list是一种有序的集合,可以随时添加和删除其中的元素
  • 使用下标操作(索引) 从0开始
  • 也可以用负数作为索引 从最后一个值开始获取元素

List 常用操作

*
– 列表相加用加好链接两个list, 列表与证书相乘 相当于多个列表相加
– len() 函数可以获得list元素的个数 ,len(list)
– pop() 要删除list末尾的元素,list.pop()
– pop(i) 要删除指定位置的元素,用list.pop(i)
– del list[下标] 当list删除后 该变量不能继续使用了
– list.remove(val) 删除list内的值 值不存在会报错
– append() 往list中追加元素到末尾:list.append(‘val’)
– insert() 往list中的下标前面插入元素 list.insert(下标,val)
– sort() list排序 list.sort()
– clear() list清空 list.clear()
– reverse() list反转 list.reverse()
– copy() list浅拷贝 list.copy()
– [:] 分片操作 list[1:3:幅度] (包含左边不包含右边 可以省略不写 默认0开始 结尾结束! 幅度默认为1)
* 设置新list(骚操作 列表生成式)
– L1 = [‘Hello’, ‘World’, 18, ‘Apple’, None]
– L2 = [i.lower() for i in L1 if i !=18 if i != None]
– L2 == [‘hello’, ‘world’, ‘apple’]
– a_list = [i for i in range(1,10)]
– a_list = [i for i in range(1,10) if i % 2 == 0 ]

tuple 元组

创建一个元祖     t = ()

元组的特性

  • 是序列表,有序,可以是任意类型
  • 元组数据值可以访问
  • list所有特性,除了可修改外,元组都具有
  • 元组的操作函数 与list一样,list具有的一些操作,比如索引,分片,序列相加,相乘,成员资格操作等,一模一样
变量交换法   # python的写法
    a,b = b,a

set 无序集合

创建一个set集合

s = set ()

  • 集合的特征
  • 集合是数学中的一个概念
  • 集合中每一个数据成为一个元素
  • 自动过滤掉重复的值
  • 集合内数据无序,即无法使用索引和分片
  • 集合内部数据元素具有唯一性,可以用来排除重复数据
  • 集合内的数据,str, int, float, tuple,冰冻集合等,即内部只能放置可哈希数据
  • 集合基本函数
  • add(val) 向集合内添加元素 如:set.add(val)
  • remove(val) 移除制定的值,直接改变原有值,如果要删除的值不存在,报错 set.remove(val)
  • discard: 移除集合中指定的值,跟remove一样,但是入股要删除的话,不报错
  • set.clear() 清空set数据
  • intersection: 交集 s1.intersection(s2)
  • difference: 差集 s1.difference(s2)
  • union: 并集
  • issubset: 检查一个集合是否为另一个子集 s1.issubset(s2)
  • issuperset: 检查一个集合是否为另一个超集

undefined

dict 字典

定义一个字典 dict = {}    字典是使用 键-值(key-value)存储

字典的特征

  • 字典是序列类型,但是是无序序列,所以没有分片和索引
  • 字典中的数据每个都有键值对组成,即key val 对
  • key: 必须是可哈希的值 比如int,string,float,tuple, 但是,list,set,dict 不行
  • value: 任何值

字典基本函数

  • del dict[“key”] 删除某个操作
  • pop(key) 也可以删除某个key
  • in, not in 成员检测
  • str(dict) 返回字典的字符串格式
  • clear 清空字典
  • dict.keys() 返回字典的键组成的一个结构
  • dict.values() 返回字典的val组成的一个结构
  • dict.get(“one”) 返回指定键返回相应的值 如果没有则返回None 也可以指定自己的val
  • fromkeys() 使用指定的序列作为键,使用一个值作为字典的所有的键的值
  • dict.fromkeys([‘key1′,’key2′,’key3’], “value”)

Original: https://www.cnblogs.com/Kuju/p/10088120.html
Author: 酷酷的sinan
Title: Python初识

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599298/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux

    1、关机命令 命令 说明 sync 将数据由内存同步到硬盘中 shutdown 关机 shutdown -h 10 10分钟后关机 shutdown -h now 立马关机 shu…

    数据库 2023年6月16日
    0107
  • SQL语句实战学习

    参考:https://zhuanlan.zhihu.com/p/38354000再次感谢作者的整理!! 1.数据已提前准备好了,已知有如下4张表:学生表:student 成绩表:s…

    数据库 2023年6月16日
    085
  • 前后端数据交互利器–Protobuf

    Protobuf 介绍 简而言之,Protobuf 是 Google 开源的一款用于处理前后端数据交互格式的工具。通常来讲前后端使用的编程语言是不同的,使用 Protobuf无需多…

    数据库 2023年6月16日
    0102
  • 8、ThreadPoolTaskExecutor线程并发

    一、线程池的优点: 1、降低资源消耗。通过重复利用自己创建的线程降低线程创建和销毁造成的消耗。 2、提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 3、提高线…

    数据库 2023年6月6日
    094
  • 关于ThreadLocal的一道面试题

    问:上面这段代码会输出什么?为什么? 为什么输出1然后空指针了? 输出1是没有任何问题的。那空指针是为什么呢? 因为这是两个线程,子线程和主线程。子线程设置1,主线程肯定拿不到啊。…

    数据库 2023年6月16日
    0109
  • 容器化 | 在 S3 实现定时备份

    让我们来看看该功能是如何使用的。 [En] Let’s take a look at how this feature is used. 可用 Cron 表达式(与 L…

    数据库 2023年5月24日
    072
  • 类加载器ClassLoader

    1.双亲委派模型 java是根据双亲委派模型的加载类的,当一个类加载器加载类时,会先尝试委托给父类加载器去加载,直到到达启动类加载器顶层若加载不了,则再让子类加载器去加载直到类成功…

    数据库 2023年6月16日
    0109
  • 银河麒麟V10安装MySQL8028

    记一次成功安装MySQL8028到银河麒麟V10,并实现远程访问的方法 工具/原料 数据库下载地址(实验版如图): [En] Download address of the dat…

    数据库 2023年5月24日
    093
  • Collection

    ArrayList底层使用了数组存储 LinkedList底层使用双向链表 HashSet底层是一个HashMap支持,HashMap底层物理实现一个Hash表 LinkedHas…

    数据库 2023年6月14日
    099
  • MySQL实战45讲 18

    18 | 为什么这些SQL语句逻辑相同,性能却差异巨大? 在 MySQL 中,有很多看上去逻辑相同,但性能却差异巨大的 SQL 语句。对这些语句使用不当的话,就会不经意间导致整个数…

    数据库 2023年6月14日
    082
  • 学习笔记——Django项目中关联查询以及关联查询的筛选

    2022-10-01 关联查询: 在Django项目中使用ORM模式设置表后,进行关联查询,即两个表直接有联系的查询。 方式: 可以通过主表查询从表,也可以通过从表查询主表。 方式…

    数据库 2023年6月14日
    075
  • Python–socket

    socket网络编程:socket、socketserver socket:{server,client} socket_server示例: socket_client示例: 应用…

    数据库 2023年6月9日
    082
  • Redis与Python连接实例

    2022-09-22 1、 Redis与Python建立连接之前需要先安装”Redis”安装包: 在ubantu中,打开终端,输入命令: sudo pip …

    数据库 2023年6月14日
    0114
  • 5000+字硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储。 集群使用公式(CRC16 key)& 1…

    数据库 2023年6月9日
    097
  • 如何本地navicat连接虚拟机安装的linux 的mysql

    2022.3.20 如何本地连接虚拟机安装的linux 的mysql 1防火墙开启开启 1.1、开启端口3306 1.2、重启防火墙 1.3查看已经开放的端口: 如果mysql 密…

    数据库 2023年5月24日
    077
  • .NET nhibernate 添加新的表运行报is not mapped的问题

    最后在修改一个.NET nhibernate的项目,按照原来的表添加了一个实体和一个hbm.xml的配置文件,写好所有业务代码以后运行报以下错误 NoAuthorizationSi…

    数据库 2023年6月9日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球