一.程序交互

name = input(“你的名字是:”)  #用户输入,输入的任何东西都存储成str(字符串类型)的形式

二.注释的重要性

  以后动辄几千行代码的时候,回过头再去看的时候,发现自己都看不懂了,在工作中还会大家一起合作完成代码,不写注释的话,更难以交流了。
单行注释直接在句首写上#就好了
多行注释可用快捷键ctrl+/,或者用三个引号括起来''' 99999999
                         12345789 
                       '''
#1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
#2. 注释可以用中文或英文,但不要用拼音 三.基本数据类型(查看数据类型的方法type())
 

1.数字类型

int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
float(浮点型)(精度限制17位,小数点后16位)
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重,
############ if a.isdigit(): # 判断是不是a数字
2.字符串类型
python中,加了引号(单引号可以,双引号也可以,三个单引号也可以)的字符都叫字符串

你需要考虑单双的配合(特殊情况,其他情况下随意)

msg = "My name is Alex , I'm 22 years old!"
多引号什么作用呢?作用就是多行字符串必须用多引号 字符串拼接:
字符串可以进行相加和相乘的操作
>>> a='hello'
>>> b=' world'
>>>
>>> a + b
'hello world'
>>> res=a + b
>>> print(res)
hello world >>> a*3
'hellohellohello'
a.isdigit()  #  判断一字符串是否只包括数字
a.replace('old','new',max) # old被替换的字符,new换成的字符,max最大替换次数
a.find() # 查找是否含有字符串,是返回索引值,否者返回-1
a.count() # 统计字符出现次数
a.strip() # 删除一个字符串
a.center(10,'-') # 左右填充10位的-
a.split('a',2) # 在a出现是地方进行切片(a也没有了),切片2次
a.format()

通过关键字

1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字
2 grade = {'name' : '陈某某', 'fenshu': '59'}

通过位置

1 print('{1}今天{0}'.format('拍视频','陈某某'))#通过位置
2 print('{0}今天{1}'.format('陈某某','拍视频'))
a.join
>>> A = 'hello,world'
>>> ' '.join(A)
'h e l l o , w o r l d'
>>> '>'.join(A)
'h>e>l>l>o>,>w>o>r>l>d'
3.布尔类型(bool)
布尔类型很简单,就只有两个值,一个真(true),一个假(false),主要用于逻辑运算 4.列表类型(list)
创建 name = ['张三',‘王五’,‘李四’,1,2,5,4,5,4,‘李四’]
list('abc') # 结果为['a', 'b', 'c']
查询,取出 name[0] # 结果为'张三' name[-1] # 结果为'李四'
查询索引值 name.index('李四') # 结果为2,有重复的时候,只能找到第一个
查询重复出现的个数 name.count('李四') # 结果为2(个)
切片(顾头不顾尾) name[0:2] #结果为['张三','王五']
值得注意的是 name[-5:-1] # 结果为[5,4,5,4] name[-5:] # 结果才是[5,4,5,4,'李四']
中间隔一个取一个 name[7:2] # 结果为['张三','李四',2,4]
增加和修改 name.appeend('Xander') # 加到了最后面
name.insert(0,'lexi') # 插入到指定位置
修改(直接赋值就好了) name[1:3] = ‘abc’ # 批量修改‘王五’,‘李四’被修改成了'a','b','c'(中间还增加了一个)
删除 name.pop() # 删掉最后一个
name.remove('张三') # 删除索引到的第一个'张三'
del name[1] # 删掉了name[1],删除全局,可以删除任何东西
del name[1:5] # 批量删除
排序 n = ['a','c','b','f','e',1,3]
n1 = ['a','c','b','f','e']
n2 = [1,2]
n.sort() # 会报错int和str不能一起排序
n1.sort() # 会按照ASCII码表排序
反转 n.reverse()
拼接列表 n1 + n2 # 或者n1.extend(n2)
清空列表 n.clear()
copy n1 = n2 # 如果修改了n2列表中的值,n1也会一起被修改,这里和变量里面是不一样的
n1 = n2.copy() # 这个时候修改n2不会一起修改n1的值
5.元组(tuple)
 """
元组【有序不可变】
  作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读
  定义:
    与列表类型比,只不过[]换成()
""" t = ('a',) # 元祖只有一个元素时,需要加逗号, 和字符串区分开
t = ('a', 'b', 'b', 'c') # 定义一个元组
t = tuple(('a', 'b', 'b', 'c')) print(t.index('b')) # 索引出元素第一次出现的位置,还可以指定在某一范围里查找,这里默认在整个元组里查找输出1
print(t.count('b')) # 计算元素出现的次数,这里输出2
print(len(t)) # 输出远组的长度,这里输出4
print(t[1:3]) # 切片 输出('b','b')
for i in t:
print(i) # 循环打印出元组数据

6.字典(dict)

 """
字典【无序可变】
  作用:存多个值,key-value存取,取值速度快
  定义:
    key必须唯一,必须是不可变类型,value可以是任意类型
""" # 创建:
info = {"name": "tom", "age": 18, "gender": "male"} # 本质info=dict({"name":"tom","age":18})
# info=dict(name='tom',age=18,gender='male')
# info=dict([['name','tom'],('age',18)])
# info={}.fromkeys(('name','age','gender'),None) #{'name': None, 'gender': None, 'age': None} # 增加
info['salary'] = 50000 # {'name': 'tom', 'age': 18, 'salary': 50000, 'gender': 'male'} # 删除
info.pop('age') # 根据键删除某一元素 d={'Michael': 95, 'Tracy': 85}
info.popitem() # 随机删除
info.clear() # {} # 修改
info['age'] = '' # 如果没有该key,则在字典创建新的的的key-value # 查询
info.get('age') # 根据key获取values,如果不存在返回None,这里输出75
'''
setdefault的功能
1:key存在,则不赋值,key不存在则设置默认值
2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值
'''
print(info.setdefault('age', 50000)) #
print(info.setdefault('salary', 50000)) #
print(info) # {'age': 18, 'name': 'tom', 'salary': 50000, 'gender': 'male'} # 其他
print(len(info)) # 输出字典长度
print('age' in info) # python3 中移除了 has_key,要判断键是否存在用in for i in info:
print(i) # 循环默认按键输出 for i in info.values(): # 循环按值输出
print(i) for k, v in info.items(): # 循环按键值输出
print(k, v)
字典相关题目及答案
 #创建一个字典

 dic = {'k1':'v1','k2':'v2','k3':'v3'}

 #1.请循环遍历出所有的KEY

 for k in dic:

 print(k)

 #2请循环遍历出所有的value

 for k in dic:

 print(dic[k])

 #3请循环遍历初所有的KEY和VALUE

 for k in dic:

 print(k,dic[k])

 #4请在字典中添加一个键值对,'k4':'v4',输出添加后的字典

 dic['k4'] = 'v4'

 print(dic)

 #5请删除字典中键值对'k1','v1',并输出删除后的字典

 dic.pop('k1')

 print(dic)

 #6请删除字典中键'k5'对应的键值对,如果字典中不存在键'k5',则不报错,并且让其返回none

 if 'k5' in dic:

 dic.pop('k5')

 else:

 print(dic.get('k5'))

 #7请获取字典中'k2'对应的值

 print(dic.get('k2'))

 #8请获取字典中'k6'对应的值,如果'k6'不存在,则不报错,并且让其返回Nnoe

 print(dic.get('k6'))

 #9现有dic2 = {'k1':'v111','a':'b'}请通过一行操作使dic2 = {'k1':'v1','k2':'v2','k3':'v3','a':'b'}

 dic = {'k1':'v1','k2':'v2','k3':'v3'}

 dic2 = {'k1':'v111','a':'b'}

 dic2.update(dic)

 print(dic2)

 #10.组合嵌套题,写代码,有如下列表,按照要求实现每一个功能

 lis = [['k',['qwe',20,{'k1':['tt',3,'']},89],'ab']]

 #10.1.将列表lis 中的'tt'变成大写(用两种方式)

 #10.1.1

 print(lis[0][1][2].get('k1')[0].upper())

 #10.1.2

 print(lis[0][1][2].get('k1')[0].swapcase())

 #10.2.将列表中的数字3 变成字符串'100'(用两种方式)

 #10.2.1

 print(lis)

 lis[0][1][2].get('k1')[1] = ''

 print(lis)

 #10.2.2

 lis = [['k',['qwe',20,{'k1':['tt',3,'']},89],'ab']]

 dic3 = {'k1':['tt','','']}

 print(lis)

 lis[0][1][2].update(dic3)

 print(lis)

 #10.3 将列表中的字符串'1'变成数字101(用两种方式)

 #10.3.1

 lis = [['k',['qwe',20,{'k1':['tt',3,'']},89],'ab']]

 print(lis)

 lis[0][1][2].get('k1')[2] = 101

 print(lis)

 #10.3.2

 lis = [['k',['qwe',20,{'k1':['tt',3,'']},89],'ab']]

 dic3 = {'k1':['tt',3,101]}

 print(lis)

 lis[0][1][2].update(dic3)

 print(lis)

 #11 按照要求实现以下功能:

 #现有一个列表li = [1,2,3,'a','b',4,'c'],有一个字典(此字典是动态生成的,你并不知道他里卖弄有多少键值对,所以

 #用dic = {}模拟此字典);现在需要完成这样的操作:如果该字典没有'k1'这个键,那就创建'k1'键和其对应的值(该键对应的值设置为空列表)

 #并将列表li 中的 索引为奇数的对应元素,添加到'k1'这个键对应的空列表中。如果该字典有'k1'这个键,且'k1'对应的value

 #是列表类型,那就将li中的索引为奇数的对应元素,添加到'k1'这个键对应的键中

 dic = {'k2':2,'k3':3}#1. dic{}字典中 没有 'k1'

 #dic = {'k1':['we','tt'],'k2':2}#2 dic{}字典中有'k1'

 #dic = {'k1':1,'k2':33} # 有'k1'但'k1'value 非列表

 li = [1,2,3,'a','b',4,'c']

 if not 'k1' in dic:

 dic.setdefault('k1',[])

 for i in li :

 if li.index(i) % 2 == 1:

 dic['k1'].append(i)

 else:

 if type(dic['k1']) == type([]):

 for i in li:

 if li.index(i) % 2 == 1:

 dic['k1'].append(i)

 else:

 print("字典K1,VALUE 不是列表,无法追加")

 print(dic)

字典习题及答案


6集合(set)

 """
集合【无序可变】
  作用:去重,关系运算
  定义:
     1:每个元素必须是不可变类型(可hash,可作为字典的key)
2:没有重复的元素
3:无序
4:可以包含多个元素,用逗号分割,
"""
a = {1, 2, 3, 4, 5, 6, 7, 8, 9}
b = {1, 3, 9, 10, 11} a.add(10) # 添加一个元素 a.discard(1) # 删除元素1,不存在的话不报错
a.remove(1) # 删除元素1,不存在的话报错
a.pop() # 随机删除 a.update([1, 8, 34]) # 更新,没有就添加,有就不添加 # 并集
a.union(b)
a | b
# 返回一个新的集合包含a和b的所有元素 # 交集
a.intersection(b)
a & b
# 返回一个新的集合包含a和b的公共元素 # 差集
a.difference(b)
a - b
# 返回一个新的集合,包含a中的元素,但是没有b中的元素 # 对称差集
a.symmetric_difference(b)
print(a ^ b)
# 返回一个新的集合包含 a和b中不重复的元素

数据类型总结

  • 【有序】: 列表,元组
  • 【无序】: 字典,集合
  • 【可变】:列表,字典,集合
  • 【不可变】:数字,字符串,元组
  • 【存单值】:数字,字符串
  • 【存多值】:列表,元组,字典
四.格式化输出
  利用占位符
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦;
%f小数
 name = input('Name:')
age = input('Age:')
job = input('Job:')
hometown = input('Hometown:') info='''
--------info of %s---------------
Name: %s
Age: %s
Job: %s
Hometown: %s
------------end------------------
'''%(name,name,age,job,hometown)
print(info)

格式化


python数据类型,格式话输出的更多相关文章

  1. python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出

    在python中,要输出json格式,需要对json数据进行编码,要用到函数:json.dumps json.dumps() :是对数据进行编码 #coding=gbkimport json dict ...

  2. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  3. Python数据类型的内置函数之str(字符串)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...

  4. Python——数据类型

    如果是C语言,Java使用一个变量之前需要声明,数字,字符,布尔等都有特定的声明方式,前端中常用的js中都要使用var,而python中直接用就行了 比如: 虽然是这样使用,但其实是当你给一个变量赋值 ...

  5. python 数据类型---布尔型& 字符串

    python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...

  6. Python 数据类型及其用法

    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...

  7. day01-day04总结- Python 数据类型及其用法

    Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...

  8. Python学习笔记(五)--Python数据类型-数字及字符串

    Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...

  9. 【转】Python数据类型之“文本序列(Text Sequence)”

    [转]Python数据类型之“文本序列(Text Sequence)” Python中的文本序列类型 Python中的文本数据由str对象或字符串进行处理. 1.字符串 字符串是Unicode码值的不 ...

随机推荐

  1. Luogu 3537 [POI2012]SZA-Cloakroom

    背包. 首先考虑将所有询问离线按照$m$从小到大排序,然后把所有物品按照$a$从小到大排序,对于每一个询问不断加入物品. 设$f_i$表示在组成容量为$i$的背包的所有方案中$b$最小的一个物品的最大 ...

  2. jQuery 2.1.4版本的源码分析

    jQuery 2.1.4版本的源码分析 jquery中获取元素的源码分析 jQuery.each({// 获取当前元素的父级元素 parent: function(elem) { var parent ...

  3. 编写高质量代码改善C#程序的157个建议——建议23:避免将List<T>作为自定义集合类的基类

    建议23:避免将List<T>作为自定义集合类的基类 如果要实现一个自定义的集合类,不应该以一个FCL集合类为基类,反而应扩展相应的泛型接口.FCL结合类应该以组合的形式包含至自定义的集合 ...

  4. 如何杀死一个已经detached的screen会话?

    如果向杀死一个已经detached的screen会话,可以使用以下命令: screen -X -S seesion-id quit 举例如下: [root@localhost ~]# screen - ...

  5. Boosting and Its Application in LTR

    1 Boosting概述 2 Classification and Regression Tree 3 AdaBoost 3.1 算法框架 3.2 原理:Additive Modeling 4 Gra ...

  6. select2的搜索框不能输入搜索内容

    按照select2官网配置完后,搜索框弹出后无法输入内容,究竟怎么回事,于是在其他页面尝试了select2,发现可以啊,为什么在这个地方不可以,终于找到了造成这个问题的不同之处:select2在模态对 ...

  7. MySQL事务在MGR中的漫游记—路线图

    欢迎访问网易云社区,了解更多网易技术产品运营经验.   MGR即MySQL Group Replication,是MySQL官方推出的基于Paxos一致性协议的数据高可靠.服务高可用方案.MGR在20 ...

  8. 比较php字符串连接的效率

    php字符串连接有三种方式 1)使用 . 链接 2)使用 .= 连接 3)implode 函数连接数组元素 /*以下测试在ci框架进行*/ private function get_mcrotime( ...

  9. 1221: Fibonacci数列 [数学]

    1221: Fibonacci数列 [数学] 时间限制: 1 Sec 内存限制: 128 MB 提交: 116 解决: 36 统计 题目描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn- ...

  10. CentOS 6.3下Samba服务器的安装与配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.h ...