计算机中,一切皆为对象

世界万物,皆为对象,一切对象皆可分类

------------------------------------我是分割线------------------------------------

1.IDE集成开发环境(Integrated Development Enviroment)

VIM:经典的Linux下的文本编辑器

Emacs:Linux文本编辑器,相对于VIM更友好一点

Eclipse:Java IDE,支持python,c,c++

Visual  Studio:微软的IDE,支持python,c++,java,c#等

Notepad++

sublime:python开发的

pycharm:主要用于python开发的IDE

2.pycharm设置模板默认添加作者、时间、IDE等信息

(1). 打开Pycharm,选择 File > Settings(Ctrl + Alt + S)

(2). 找到"File and Code Templates", 右侧菜单选择"Python Script",对模板进行编辑

格式为: ${<variable_name>},如常用的:

${USER}   当前系统用户

${DATE}   当前系统日期

${TIME}   当前系统时间

${PRODUCT_NAME}   创建文件的IDE名称

3.格式化输出

常用的占位符:%s s是string的意思 %d d是digit的意思 %f f是float的意思

变量.isdigit()  判断是不是数字

exit('string')  退出程序

4.数据类型

可变类型:列表、字典

不可变类型:整型、字符串、元组

4.1 数字

int(整型):表示比较小的整数

long(长整型):表示比较大的整数

注:在python3中不区分int和long,在python2,java,c中是被严格区分的

float(浮点型):大部分情况下是指小数

complex(复数):a+bj

4.2 布尔值

True or False

4.3 字符串

字符串拼接如果用逗号或加号,不仅拼写麻烦,而且每使用一个加号都需要开辟一片新的内存,这使得运行效率降低,因此常用格式化输出(%)

4.4 列表List[ ]

列表:list1=['a','b','c','d','e'],这样就可以把一些元素变成有关联的了,对其操作有增删改查等list内置方法

增:insert(看可以插入任意位置)、append(只能默认插入最后一个位置) extend(list2)(将list2扩展到list1,对list2没有影响)

  list1.append('f')

  list1.insert(2,'f')

  list1.extend(list2)

删:remove(根据内容删除元素,括号里面的东西是一个整体,也就是说不能切片)、

  pop(根据索引删除元素,并且可以返回所删除的内容)、

  del(不是list内置方法,适用于删除其它如常量、字典等)

  list1.remove(list1[3])  #删除索引为3的元素

  pop1=list1.pop(3)     #根据索引删除索引为3 的元素,并返回删除的元素给pop1;如果没有参数,则会删除列表最后一个元素

改:

  list1[2]='g'  #替换索引为2的元素 的值

  list1[1;3]=[‘h’,'i']  #替换索引为1,2的元素的值

查:顾头不顾尾(学会切片,即取出列表的子列表)

  list1[0:]   #取到最后一个元素

  list1[0:-1]  #取到倒数第二个值

  list1[0: :2]  #以步长为2依次从左到右取值

  list1[4::-2]  #以步长为2依次从右到左取值

  list1.count('a')  #统计元素a的个数

  list1.index('b')  #取出元素‘b’的索引,如果有多个,只会返回第一个‘b’的索引

(如果一定要得到其它几个‘b’的索引,在得到第一个‘b’的索引后,切片得到子列表,然后获得另一个‘b’在子列表中的索引,通过适当运算就得到在原列表里的索引)

排序

list1.reverse()  #将列表list1里面的元素反转

list1.sort()     #将列表中的元素排序(按照ASCII编码规则排序) ,默认的是list1.sort(reverse=False),还可以设置为list1.sort(reverse=True)

4.5元组Tuple()

注:(1)元组只读,不能修改(用途:如果你自己在编写程序的时候,有些数据不想让别人修改,就可以用元组)

  (2)元组在映射时可以当键使用,而列表不行

  (3)如果你的元组里面只有一个元素,最后在后面加一个逗号,此时在web中才认为它是一个元组

4.6 字典Dictionary{ }

键值对(key-value),键必须是不可变数据类型

定义字典的两种方法
info1= {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
info2=dict(([key,value],[key,value])) (不常用)

info3=dict([[key,value],[key,value]]) (不常用)
 
  • dict是无序的
  • key必须是唯一的,so 天生去重

增:

  info1[key]=value

  info1.setdefault(key,value)  #如果键存在,不改动,返回键相对应的值;如果键不存在,增加新的键值对,并返回对应的值

删:

  del info1[key]       #删除键值对

  del info1      #删除整个字典

  info1.clear()   #清空字典

  info1.pop(key)  #删除键值对,返回key对应的value

  info1.popitem()   #随机删除一个键值对,并以元组返回键值对

改:

  info1['stu1101']=new value  #通过键查找值

    info1.update(info2)  #将字典info2中的的键值对全部加入info1,如果有重复的key,info2会会覆盖info1的内容

查:

info1.keys()  #查看字典中所有的键,返回的不是列表,是一种新的数据类型dict_item,可以转换成列表供使用,list(info1.keys())

info1.values()  #查看字典中的值

info1.items()  #查看字典中所有的键值对

info1['stu1101']  #通过键查找值

其它操作及涉及到的方法

fromkeys  #可以初始化一个字典,但是基本上不用,因为在使用过程中会存在问题

       Info4.fromkeys([key1,key2,key3],value)  #value会赋值给key1,key2,key3

多级嵌套
sorted(字典)  #默认按照键值排序

字典遍历

效率高:for key in info1:

      print(key,info[key])

效率低:for i,j in info.items():

      print(i,j)  

(因为要把items的使用有一个列表转换的过程,所以比较慢)

4.7 字符串

print(字符串*20)  #重复输出20次

print(字符串[0:])  #通过切片的方式获得字符串中的字符,操作和列表一样

string1 in string2  #判断字符串1 是否在字符串2中

string1 + string2   #字符串拼接,占内存多,导致效率低,可以通过格式化输出或join方法

字符串st内置方法 功能
 c='-----'.join([a,b,c,d])  #join是字符串内置方法(所以引号里面只能是字符串),通过引号里面的字符串,将后面的a,b,c,d拼接在一起
 st.count('字符a')  #统计字符a的个数
 st.capitalize()  #首字母大写
 st.center(50,'-')  #居中打印:总共打印50个字符,st居中,其余的用‘-’填充
 st.ljust(50,‘*’)  #居左
 st.rjust(50,‘#’)  #居右
 st.encode()  
 st.endswith('字符串')  #判断字符串是否以某字符串为结尾
 st.startswith('字符串')    #判断字符串是否以某字符串为开头,在文件处理中经常处理到
 st.expandtabs(tabsize=10)    #扩展字符串中字符之间的空格,一般用不到

st.find('字符')

   #查找到st中第一个字符的位置,并返回该字符的索引值,默认从左往右

st.rfind('字符')

 #从右往左找第一个值(索引值是唯一的)
 st.format(name='venus')

 

  st='hello kitty {name},{age}'

  st.format(name='venus',age=27)  #以赋值的方式

  print(st)

 #格式化输出,此时的输出值是hello kitty venus,27

 st.format_map(name='venus')

  st='hello kitty {name},{age}'

  st.format_map({name:'venus',age:27})  #以键值对的方式

  print(st)

 #格式化输出,此时的输出值是hello kitty venus,27

 st.index('字符')    #和find的功能一样,所不同的是,找不到内容时会报错,而find会返回-1,也是没有找到的意思
 st.isalnum()  #判断字符串是不是由数字和字母组成的 ,一般用不到
 st.isdecimal()  #判断字符串是不是只包含十进制数,一般不用
 st.isdigit()  #判断字符串是不是只包含数字(整数)
 st.isnumeric()  #判断字符串是不是只包含数字(整数)
 st.isidentifier()  #判断非法变量的

st.islower()   st.isupper()

 #判断字符串是不是全都小写/大写

st.lower()   st.upper()

 #大写变小写、或小写变大写

st.swapcase()

 #大写变小写并且小写变大写

st.isspace()

 #判断字符串是否有空格

st.istitle()

 #判断单词的首字母是不是大写

st.strip()

 #帮我们去掉所有的空格和换行符,在文本处理中也是经常用到

st.lstrip()     st.rstrip()

 #去左去右空格和换行

st.replace('old内容',‘new内容’)

 #内容替换

st.split()

st.split(‘分割标志’)

 #把字符串变成列表,如果想要把列表变成字符串,可以用join

 #将字符串按照分割标志位进行分割(这个分割标志位来自字符串中)

split 是非常重要的字符串方法,它是join的逆方法,用来将字符串分割成序列

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> 'usr/bin/env'.split('/')
['usr', 'bin', 'env']
>>> 'usr/bin/env'.split('/')
['usr', 'bin', 'env']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'using the default'.split()
['using', 'the', 'default']

如果不提供任何分隔符,程序会把所有空格作为分隔符

5.技巧之pycharm的Debug调试模式

6.作业----购物功能

  (1)向我展示购物车中的商品及属性

   (2)用户选择所要购买的商品,并显示你可以所拥有的资金,买完后所剩资金是多少

   (3)提示用户还需不需要购买其他商品,可用资金

6.1 enumerate函数的使用方法:遍历列表(可以返回两个变量或返回一个变量)

                          (enumerate是枚举的意思)

7.一些常用命令

len(list1)   #查看列表的长度

id(变量)  #查看变量的内存ID

Day4 Python基础之数据类型(三)的更多相关文章

  1. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  2. Day4 - Python基础4 迭代器、装饰器、软件开发规范

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  3. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  4. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

  5. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  6. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  7. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  8. 第三篇:python基础之数据类型与变量

    阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...

  9. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

随机推荐

  1. VsCode中使用Emmet神器快速编写HTML代码

    一.Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML ...

  2. Unity Shader 基础(2) Image Effect

    Unity中 Image Effect 是Post Processing的一种方,Unity自身也提供很多Effect效果供使用.Image Effect的使用官方文档做了很多介绍,这里重点Post ...

  3. Python爬虫-04:贴吧爬虫以及GET和POST的区别

    目录 1. URL的组成 2. 贴吧爬虫 2.1. 只爬贴吧第一页 2.2. 爬取所有贴吧的页面 3. GET和POST的区别 3.1. GET请求 3.2. POST请求 3.3. 有道翻译模拟发送 ...

  4. IDEA用maven创建springMVC项目和配置(XML配置和Java配置)

    1.DEA创建项目 新建一个maven project,并且选择webapp原型. 然后点击next 这里的GroupId和ArtifactID随意填写,但是ArtifactID最好和你的项目一名一样 ...

  5. aliyun mysql

    https://segmentfault.com/q/1010000009603559?sort=created

  6. MySQL高级知识(九)——慢查询日志

    前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中.慢查询日志 ...

  7. oracle 多版本

    并发控制 concurrency control 数据库提供的函数集合,允许多个人同时访问和修改数据. 锁(lock)是Oracle管理共享数据库资源并发访问并防止并发数据库事务之间“相互干涉”的核心 ...

  8. Spring获取实现某接口的所有实例bean

    1.获取 applicationContext,通过ApplicationAware自动注入 2.getBeansOfType.getBeanNamesForType Map<String, I ...

  9. 【转】Win10开机密码忘了?教你破解Win10开机密码

    [PConline 技巧]Win10开机密码忘记了怎么办?这个问题很多人都遇到过,如何破解一台Win10电脑的开机密码呢(非BIOS开机密码)?其实很简单,利用下面这个方法,分分钟就能搞定. 一招破解 ...

  10. 二、Oracle 数据库基本操作

    一.oracle常用数据类型数字:number(p,s) p表示数字的长度包括小数点后的位数,s表示小数点后的位数固定长度字符:char(n):n表示最大长度,n即是最大也是固定的长度,当数据不满长度 ...