一.与用户的交互

  
    古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,  然后他去进行验证,成功后,我们再将取款金额输入/告诉他
  骄傲的现代人,会为客户提供一台ATM机(就是一台计算机),  让ATM机跟用户交互,从而取代人力。然而机器是死的,我们必须为其编写程序来运行,  这就要求我们的编程语言中能够有一种能与用户交互,接收用户输入数据的机制

  

·  1.1. 1.python3中的输入和2.python2中的input()输入区别

  

1.python3中的输入:
     关键字:input()
     python3的input()获取的用户输入统一全部存为字符串类型
2.python2中的input()输入
     1.python2的input()  注意输入需要指定类型 不然默认存什么就是什么类型
     2.raw_input()的输入和python3的input()输入进行存储的数据类型是一样的全部统一存为字符串格式 总结:用户输入的统一都是字符串形式

  

二、格式化输出:  

  # input自带换行 一个print()独占一行 print(name,age)为一行


  # 占位符:%s(可以匹配所有) %d(只能匹配数字)

eg:
                name = input('my name is>>>:')
                age = input('my age is >>>:')
                age = int(age)  #age为字符串类型,无法传给%d,所以会报错TypeError:
                                #%d format: a number is required, not str

                print('my name is %s, my age is %d'%(name,age))
                # my name is koko, my age is 18
练习:  
---------------info of koko------------
Name:koko
Age:18
Sex:male
Job:teacher
---------------end-------------------

如何转化  %


name = input('name:')
age = input('age :')
sex = input('sex:')
job = input('job:')
res = """
---------------info of %s------------
Name:%s
Age:%s
Sex:%s
Job:%s
---------------end-------------------
"""%(name,name,age,sex,job)
print(res)

  # 补充:
    print('%08d'%123) 这里匹配只有三位另外5位用0补全

 三、python中的基本数据类型  
什么数据(变量的值):如age= 18,18则是我们数据保存的值
为什要数据类型:变量是用来衡量、记录事物发生状态和特征的,
毫无疑问不同的数据需要不同的事物的状态就应该用不同的数据类型去标识

  3.1 数字类型:整形与浮点型 

 整形:  作用:年龄,QQ号,手机号等
            定义:age = 18 #内部对应的本质 age = int(18)

  浮点型:
  作用:薪资,身高,薪资
  定义: salary = 1.11 # 本质:salary= float(1.11)
  补充:
    复数:a = 1-2j # 查看实步:a.real 查看虚步:a.imag
    长整形:a = 1L print(a)
    长整形:只有python2有 python3默认都是整形

  

  3.2   字符串:

作用:存描述性信息的内容,如国籍,性别,种族
定义:
单引号
双引号
三引号:并且可以写多行

为什需要三种定义:考虑到用户在输入的文本也需要用到引号
python中的字符串支持加字符串的拼接 和字符串的乘

区别:单引号内可以用到文本必须用双引号括起来

   双引号只能用单行文本

   三双引号可以写多行文本

  3.3  列表:

  

作用:能够存储多个数字,并且可以方便取出一条或多条
            定义:[1,2,3]内部通过逗号分开多个数据(元素),并且这个多个元素可以是任意数据类型
            # 在it行业 通常数数都是从0开始的》》》:索引

  3.4 字典:(*****)

    

作用:能过存储多组数据,并且存取的数据有对应的描述

定义:{} 大括号内存多个元素,元素的格式key:value,键值对与键值对之间用逗号分隔开,

# key通常是用来描述value的描述性信息,key通常是字符串,value可以是任意类型;value就是key对应的值
  特点:
     字典 无序 所以没有办法用索引取值
     可以用key取值

练习:

  

练习:
            1.eg:
                info ={
                    'name':'egon',
                    'hobbies':['play','sleep'],
                    'company_info':{
                        'name':'Oldboy',
                        'type':'education',
                        'emp_num':40,
                    }
                }
                # 需求:公司的类型 通过key取值一层层取嘛 先去取出里面的字典key
                # res1 = info['company_info']
                # print(res1)  # {'name': 'Oldboy', 'type': 'education', 'emp_num': 40}

                # 那还不简单嘛用字典用key取值
                # res2 = info['company_info']['type']
                # print(res2) # 40
     2.eg:

                # 需求取出第二个学生的第二个爱好:
                students = [
                    {'name':'alex','age':38,'hobbies':['play','sleep']},
                    {'name':'egon','age':18,'hobbies':['read','sleep']},
                    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
                ]    student[1]['hobby'][1]

 

 # 一步步来:判断类型 外面是列表索引 取第二个学生
                res1 = students[1]
                print(res1,type(res1))  # {'name': 'egon', 'age': 18, 'hobbies': ['read', 'sleep']} <class 'dict'>
                # <class 'dict'字典取值key
                res2 = res1['hobbies']
                print(res2,type(res2))  # ['read', 'sleep'] <class 'list'>
                res3 = res2[1]
                print(res3)  # sleep 拿到最终结果

  3.5 布尔值:# 1,0 True/False

  

 作用:标识事事物的对错(可行性),通过True和False 判断事物的对错,可行性
            定义:
                tag = True
                tag = False
                tag = bool(True)

  

 eg:
                a = 10
                b = 20

                print(a > b)  # False
                print(a == b)  # False
                print(a < b)  # True

   补充 :

    ==  》》》print(x==y)比较的是值是否相等
     is  》》》print(x is y)比较的是两个变量对应的id是否相等
  小整数池:-5 到256

    1.eg:
                        >>> a=10
                        >>> b= 10
                        >>> id(a)
                        1941532416
                        >>> id(b)
                        1941532416
                        #  id相等值一定相等
                        >>> a==b
                        True
                        >>>
    2.eg:
                        >>> x=257
                        >>> y=257
                        >>> id(x)
                        2168459144944
                        >>> id(y)
                        2168459142256
                        >>>
                        # id不相等的情况下,值有可能相等

小结:可变类型与不可变类型:

1,可变类型:在id不变的情况下value可以变,则称为可变类型,如:
eg:my_dict = {"name": 'koko', 'aeg': 18}
print(id(my_dict)) # id = 2627534748696

my_dict['name'] = 'jason' 》》》有则更新无责添加健值对
print(my_dict) # 新字典对象{'name': 'jason', 'aeg': 18}
print(id(my_dict)) # id=2627534748696


2.不可变类型:value一旦反生改变,id也跟着变,则称为不可变类型(id变,意味着开辟了一块新的名称空间将值绑定给变量

 如:数字类型,字符串,元组,bool,集合
 eg1:a = 19.1
  print(id(a)) # id = 1941532704
  a = 20.5
  print(id(a)) # id = 1941532736
eg2:
  tuple1 = (1,2,3,4)
  print(id(tuple1),type(tuple1))
  tuple1 = (1,2,3)
  print(id(tuple1),type(tuple1))
  # 2569262962232 <class 'tuple'>
  # 2569265775096 <class 'tuple'>
eg3:
  set1 = {1,2,34,5,6,8,1,2} # 集合可以去重
  print(set1,type(set1),id(set1))
  set1 = {1,2,34,5,6,8,1,7}
  print(set1,type(set1),id(set1))

  # {1, 2, 34, 5, 6, 8} <class 'set'> id = 1627883545768
  # {1, 2, 34, 5, 6, 7, 8} <class 'set'> id = 1627885974248

  四、基本运算符:

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

  4.1   算数运算:

   以下假设变量:a=10,b=3

  

 
 print(10/3)  # 结果保留小数
            print(10//3) # 结果取整
            print(10%3)  # 结果取余数
            print(10**3)  # 结果2的三次方
            print(10!=3) # 不等于 js取反
            字母的比较:ASCII吗表

  4.2比较运算:

   以下假设变量:a=10,b=3

4.3 赋值运算:

  age = 18
  age = age+1
  print(age) =19

4.4逻辑运算:

  与 或 非
  and or not

4.5 身份运算: 回上: == 比较的值     is 比较的是id  注意:融合小整数池
4.6 对于上面的方法进行分解:
增量运算:
                xxx += 1 # xxx = xxx + 1
                xxx *= 2 # xxx = xxx*2
                xxx -= 10 #xxx = xxx-10

  链式操作:
  x=y=z=10


 交叉赋值:
                # 交叉赋值
                a = 10
                b = 20
    方法一:

                # 想要将a和b进行交换 需要引用一个变量最为中间桥梁
                y = a  # a解绑出来

                a = b  # 将b赋给a 此时a =20 那b怎么办呢 需要将y的值赋给b

                b = y  # y=10 的值赋给b变量 那么b就等于10了

                print(a,b)  # 20 10

     方法二:           a,b= b,a

  

 解压赋值:
  1.方法:
                l = [1,2,3,4]
                a = l[0]
                b = l[1]
                c = l[2]
                d = l[3]
                print(a,b,c,d)  # 1 2 3 4
                # 这个样写太麻烦了要需要一个个索引取值,那有什简单的方法吗 当然有

 # 这个样写太麻烦了要需要一个个索引取值,那有什简单的方法吗 当然有
    2.方法:
    a,b,c,d = l
    print(a,b,c,d) # 注意:前面的变量个数与后面的元素个数必须相等
    # 1 2 3 4

  3.# 需求:我们需要取a,b 中间的变量我不想要怎么办呢
  a, _, _, d = l
  print(a,d) # 1 4 这是对于已知中间变量个数的时候,万一你不知道个数 how?

  l = [1,2,3,4,7,3,5,6,7,8,10]
  a,*_,d = l # *_
  print(a,d) # 1 4
  print(_) # [2, 3, 4, 7, 3, 5, 6, 7, 8] _表示所有中间所有 *表示多个

  • 感谢您的阅览,有不足之处还请多多指教

     

python基础知识之数据类型的更多相关文章

  1. python基础知识 变量 数据类型 if判断

    cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...

  2. python基础知识(七)---数据类型补充、"雷区"、编码

    数据类型补充."雷区".编码 1.数据类型补充 str: #字符串数据类型补充 s1=str(123) #常用于类型转换 print(s1) #capitalize()首字母大写 ...

  3. 第二章(1.5)Python基础知识(数据类型)

    一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 用len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...

  4. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  5. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. [design pattern](4) SImple Factory

    前言 本博客主要介绍简单工厂模式(Simple Factory),简单工厂模式是创建型模式的一员,也是我们平时coding用到的比较多的一个模式了. 思考题 首先,让我们思考以下的需求: 博主,突然很 ...

  2. 程序员心髓:移动应用API设计10大技巧

    移动App与基于Web/云服务发生对话是很常见的事情,最简单的可能仅仅只是检索数据,但也可能包含发送数据.用户授权和管理.而这也就验证了为移动应用建立API的重要性,为此,我们特总结了10大移动API ...

  3. 使用mysql以及连接数据库

    MySQL Table of Contents 1. 安装与配置 2. 数据库与账户 3. 用户跟权限 4. 常用命令 5. 表的创建 6. 数据类型 7. 主键约束 8. 表的修改 9. 引擎(En ...

  4. 初识linux命令

    1. type: 查看是外部命令/内部命令 外部命令 有存放地址信息 内部命令 is a shell builtin 2.file 查看文件的编码方式 file /sbin/ifconfig 编译执行 ...

  5. java生成二维码学习笔记

    纠错等级: QRErrorCorrectLevel.L 7%的字码可被修正 QRErrorCorrectLevel.M 15%的字码可被修正 QRErrorCorrectLevel.Q 25%的字码可 ...

  6. 后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码

    后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码 一.总结 一句话总结: 1.在phpstorm中设置:路径Tools/Deployment/Configuratio ...

  7. hadoop stop-dfs.sh 无法停止 namenode datanode

    原因: HADOOP_PID_DIR 默认为 /tmp 目录,如果长期不访问/tmp/目录下的文件,文件会被自动清理,因此 stop-dfs.sh 无法根据 pid 停止 namenode, data ...

  8. 2018.03.29 python-pandas 数据透视pivot table / 交叉表crosstab

    #透视表 pivot table #pd.pivot_table(data,values=None,index=None,columns=None, import numpy as np import ...

  9. Apache hadoop namenode ha和yarn ha ---HDFS高可用性

    HDFS高可用性Hadoop HDFS 的两大问题:NameNode单点:虽然有StandbyNameNode,但是冷备方案,达不到高可用--阶段性的合并edits和fsimage,以缩短集群启动的时 ...

  10. MariaDB增删改

    1.MariaDB 数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型: 1.整数:int, bit( ...