1、变量

  • 变量不仅可以是数字,还可以是任意数据类型
  • 命名规范:变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线_的组合,且不能用数字开头
  • python中等号“=”是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,这种变量本身类型不固定的语言称之为动态语言
  • print 'a','b'  #,为空格;

   例如: 

a='ABC'

含义为:(1)在内存中创建了一个'ABC'的字符串

(2)在内存中创建了一个名为a的变量,并把它指向了'ABC'

2、字符串

  • 表示:用'' 或者""括起来
  • 字符串本身包含 '

       用 " " 括起来

         eg:"I'm ok"

  • 字符串本身包含 "

      用 ' ' 括起来

      eg:'Learn "Python"in imooc'

  • 字符串本身既包含 ' 又包含"

       用 \进行转义,转义字符\不计入字符串内容中

      eg:'Bob said \"I \'m OK\".'

  • 常见的转义字符还有:

\n --> 换行

\t--->一个制表符

\\--->\字符本身

  • 字符串‘xxx’和Unicode字符串u‘xxx’
  • 字符串中的函数:

  (1)upper() 把字符变成大写字母

  (2)isintance(x,str)可以判断x是否是字符串

  (3)str.capitalize(s) s字符串首字母大写

  (4)str.strip(rm):删除str字符串中开头、结尾处的rm序列的字符;当rm为空时,默认删除空白符(包括’\n’,’\r’,’\t’,’ ’)。

  • raw字符串与多行字符串

   在字符串前面加一个前缀r,表示这是一个raw字符串,里面的字符不需要转义了例如:r'\^_^/'

   如果表示多行字符串,可以用'''.........'''表示,也可以用r'''.......'''表示

  • Unicode字符串  用u'.....'表示

   Unicode字符串除了多了一个u之外,与普通字符没啥区别,转义字符和多行表示法仍然有效

3、整数和浮点数

  • 整数运算结果仍然是整数,浮点数运算结果仍然是浮点数,整数和浮点数运算结果就变成浮点数了
  • 整数除法,即使除不尽,结果仍然是整数
  • %为求余
  • 如果想着精确结果,把其中一个整数变成浮点数

4、布尔类型

  • True False  与(and)或(or)  非(not)
  • Python中把0、空字符串''和None看成False,其他数值和非空字符串都堪称True

 5、list

  • 创建list  list是一个有序的集合,可以随时添加和删除其中的元素
  • 用[]表示
  • python为动态语言,所以list中包含的元素并不要求都必须是同一种数据类型。
  • 索引从0开始  注意不要越界
  • -1这个索引表示最后一个元素注意不要越界
  • list中的函数:

  (1)添加新元素  添加到尾部 -->  append()

  (2)添加新元素  ---> insert()   两个参数,一个是索引号,第二个是添加的新元素

  (3)删除元素  ---->pop() 删除最后一个元素并且还返回这个元素   如果想删除指定下标的元素为pop(下标值)

  (4)替换元素 ---->L[2]='Mise'

  (5)zip()函数可以把两个list变成一个list

6、tuple 元祖

  • tuple 元组创建完后不能修改了
  • 用()表示
  • 创建单元素的tuple   ---> t=(1,)    不加逗号会被认为是将1赋值给t
  • 可以借助list创建“可变”的tuple 但是变得只是list   t=('a','b',['A','B'])
  • tuple中的不变指的是,tuple中的元素,指向永远不变

 7、if语句

注意:if语句缩进为四个空格

if后接表达式然后用:表示代码块开始、

8、dict字典 

  • 字典dict  key-value  用{}表示
  • dict就是通过key来寻找value的
  • 可以用len()计算长度  一个key-value算一个
  • dict的特点:

  (1)查找速度快

  (2)不论个数,速度都一样但是list会随着元素增加而逐渐下降

  但是dict占用内存大,会浪费很多内容,list占用内存小。

  (3)由于dict是按key查找的,所以,在同一个dict中,key不能重复

  (4)存储的key-value序对是没有顺序的

  (5)作为key的元素必须不可变

9、set

  使用场景:

    有的时候,我们只想要dict的key,不关心key对应的value,目的是保证这个集合的元素不会重复,这时,就用set

  特点:

    元素不重复,而且是无序的

    Set会自动去掉重复的元素

    与dict很像,但是不存储value

    与dict中的key类似,必须是不变对象

10、函数

  • 函数就是最基本的一种代码抽象的方式
  • 调用函数:

    需要知道函数的名称和参数

  • 编写函数:

    要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,用return语句返回函数值。

  • 注意:函数体内的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。
  • 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
  • return None可以简写为return。
  • 定义默认参数

    例如int()函数

    int('123')

    int('123',8) #第二个参数是转换进制,不传,默认是十进制,如果传了,就用传入的参数

  • 函数的默认参数的作用是简化调用。
  • 由于函数的参数按从左到右匹配,所以默认参数只能定义在必须参数后面。

11、迭代

Python中,如果给定一个list或者tuple,我们都可以通过for循环来遍历这个list或着tuple,这种遍历成为迭代

For循环可用于其他可迭代对象上

集合是指包含一组元素的数据结构,
1、有序集合:list,tuple,str和Unicode
2、无序集合:set
3、无序集合并且具有key-value对:dict

迭代与按下标访问数组的最大不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。

索引迭代 ---- enumerate()函数自动把每个元素变成(index,element)这样的tuple,再迭代,就同时获得了索引和元素本身。

迭代dict中的value

  dict对象有个values()方法,返回包含所有value的list

  Dict对象还有一个itervalues()方法

两种方法不同之处:

values()方法实际上把一个dict转换成了包含value的list

但是itervalues()方法不会转换,它会在迭代过程中依次从dict中取出value,所以itervalues()方法比values()方法节省了生成list所需的内存

打印itervalues()发现它返回了一个<dictionary-valueiterator>对象,这说明在python中,for循环可作用的迭代对象远不止list,tuple,str,Unicode,dict等,任何可迭代对象都可以作用于for循环

如果一个对象说自己可迭代,我们就直接用for循环去迭代它,可见,迭代是一种抽象的数据操作,他不对迭代对象内部的数据有任何要求。

迭代dict中的value和key:----用items()或者iteritems()方法

生成列表:

[x*x for x in range(1,11)]

条件过滤:

[x*x for x in range(1,11) if x%2==0]

多层表达式:for循环嵌套for循环

[m+n for m in ‘ABC’for n in ‘123’]

相当于:

L=[]
for m in 'ABC':
for n in '123':
L.append(m+n)

Python中的基本类型简介的更多相关文章

  1. Python学习笔记整理(三)Python中的动态类型简介

    Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之 ...

  2. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  3. Python 中的枚举类型~转

    Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...

  4. python中对象、类型和元类之间的关系

    在python中对象.类型和元类构成了一个微妙的世界. 他们有在这个世界里和平共处,相辅相成.它们遵循着几条亘古不变的定律: 1.python中无处不对象 2.所有对象都有三种特性:id.类型.值 3 ...

  5. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  6. Python中的鸭子类型

    今天,我们来聊一聊Python中的鸭子类型(duck typing). 编程语言具有类型概念,例如Python中有数字类型.字符串类型.布尔类型,或者更加复杂的结构,例如元组tuple.列表list. ...

  7. Python 中的鸭子类型和猴子补丁

    原文链接: Python 中的鸭子类型和猴子补丁 大家好,我是老王. Python 开发者可能都听说过鸭子类型和猴子补丁这两个词,即使没听过,也大概率写过相关的代码,只不过并不了解其背后的技术要点是这 ...

  8. 顺序表的原理与python中的list类型

    数据是如何在内存中存储的? 在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节.假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13. 那么数据类型有 ...

  9. python中使用 C 类型的数组以及ctypes 的用法

    Python 在 ctypes 中为我们提供了类似C语言的数据类型, 它的用途(我理解的)可能是: (1) 与 其他语言(如 C.Delphi 等)写的动态连接库DLL 进行交换数据,因为 pytho ...

随机推荐

  1. 如何使用Curator监听zookeeper事件变化

    掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队 ...

  2. Python基础——循环语句、条件语句、函数、类

    注:运行环境  Python3 1.循环语句 (1)for循环 注:for i in range(a, b):  #从a循环至b-1 for i in range(n):      #从0循环至n-1 ...

  3. 《Tsinghua os mooc》第15~16讲 处理机调度

    第十五讲 处理机调度 进程调度时机 非抢占系统中,当前进程主动放弃CPU时发生调度,分为两种情况: 进程从运行状态切换到等待状态 进程被终结了 可抢占系统中,中断请求被服务例程响应完成时发生调度,也分 ...

  4. MVC-初识

    RAZOR视图介绍 一个cshtml,主体是一个html文本,里面可以写前台和后台代码,混合编写(个人认为不太好,应该分离),这个文件最后会被会被编译为一个类(所以他可以像类一样写一些方法,其他的地方 ...

  5. Netty中两种Keepalive的区别

    在Server端开启TCP keepalive: 两种方式 serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, true); serverB ...

  6. 其实每个行业都有各自的辛苦,好的程序员并不累,他们乐此不疲(见过太多在职位事业、人生方向上随转如流的人,累了疲乏了就去做别的事情了。必须有自己的坚守和立足的点,自我驱动,否则沦为在别人的体制制度中被驱赶一生)good

    作者:陈柯好链接:https://www.zhihu.com/question/39813913/answer/104275537来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  7. Uwl.Admin开源框架(二)

    Uwl.Admin开源框架基于QuartzNet定时任务模块的实现 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:ht ...

  8. Java Web 深入分析(5) Java ClassLoader 工作机制

    Classloader 有3个作用 将class加载到JVM中去 审查每个类由谁去加载,是一种父优先的等级加载 把Class字节码统一编译成JVM统一要求的对象格式 ClassLoader的等级加载机 ...

  9. JS有关引用对象的拷贝问题

    JS中有关引用对象的拷贝问题 问题描述:在开发过程中,拷贝一个对象数组给另一个数组的时候,改变新数组中对象的属性值,原数组中的对象属性值也跟着改变了. 例如新定义一个数组arr1,里面有两个对象,然后 ...

  10. JavaScript 和 Java 是完全不同的语言

    JavaScript 和 Java 是完全不同的语言这个是定论,两者是概念http://www.gzaos.com还是设计都不同. JavaScript 在 1995 年由 Brendan Eich ...