一.与用户的交互

  
    古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,  然后他去进行验证,成功后,我们再将取款金额输入/告诉他
  骄傲的现代人,会为客户提供一台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. [THUSC2017]杜老师:bitset+线性基

    算法一(50pts) 分析 有一个很显然的暴力做法,对于区间内的每个数开个bitset,然后暴力分解质因数.如果对于一个数,它的一个质因子的指数是奇数,那么就把bitset的对应位设成\(1\).答案 ...

  2. Ambari显示server 返回500 error

    Ambari server 搭建过程中到了revicw环境遇到点击deploy:发现页面没有响应 Console显示server 返回500 error错误,页面中没有提示更多的报错信息. 经过日志查 ...

  3. redis的安装及使用总结

    Windows版本的安装 下载地址:https://www.jb51.net/softs/541181.html 安装过程 把压缩包内的文件解压到非中文目录即可 启动redis 启动redis要通过命 ...

  4. SpringBoot 整合Shiro 一指禅

    目标 了解ApacheShiro是什么,能做什么: 通过QuickStart 代码领会 Shiro的关键概念: 能基于SpringBoot 整合Shiro 实现URL安全访问: 掌握基于注解的方法,以 ...

  5. 浏览器默认样式及reset

    写在前面 首先纠正一个易错概念.div并非生来就是块元素,而是每个浏览器都有一套默认的css样式(优先级最低),默认样式里会把div设置成display: block;还有margin,padding ...

  6. 二、Python基础

    1.变量名 数字,字母,下划线:aaa1;aa_b1 不能以数字开头:1aa 变量名不能是python内部的关键字 2.getpass import getpass username=raw_inpu ...

  7. 初步理解JS的事件机制

    一.事件流(捕获,冒泡)   事件流:指从页面中接收事件的顺序,有冒泡流和捕获流. 当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体顺序是怎样的呢?冒 ...

  8. gunicorn+nginx配置方法

    对于gunicorn+nginx的配置,理解他们之间的关系很重要,以及最后如何确认配置结果是正确的也很重要 nginx 配置文件: 修改这个配置文件有3个用处: 假设服务器本身的Ip是A称为ip-A, ...

  9. js中的相等

    概述 今天学习 jest,看文档的时候发现 jest 用到了 Object.is(),以前没有见过,所以记录下来,供以后开发时参考,相信对其他人也有用. 注意:Object.is的文档在这里 Obje ...

  10. FTP协议的两种工作模式简单解析!

    转载自百度百科:http://baike.baidu.com/link?url=KaBZmDM4IZ2v56MyoOnpjqKr0gADv_BRbgjlscYdyvh3-zDwINOHNPSi9Jlp ...