一.与用户的交互

  
    古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,  然后他去进行验证,成功后,我们再将取款金额输入/告诉他
  骄傲的现代人,会为客户提供一台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. Spring Boot教程(十八)构建RESTful API

    首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建 ...

  2. Python 爬虫如何入门学习?

    "入门"是良好的动机,但是可能作用缓慢.如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习. 另外如果说知识体系里的每一个知识点是图里的点,依 ...

  3. 大数据笔记(三十二)——SparkStreaming集成Kafka与Flume

    三.集成:数据源 1.Apache Kafka:一种高吞吐量的分布式发布订阅消息系统 (1) (*)消息的类型 Topic:主题(相当于:广播) Queue:队列(相当于:点对点) (*)常见的消息系 ...

  4. [LeetCode]-algorithms-Longest Substring Without Repeating Characters

    Given a string, find the length of the longest substring without repeating characters. For example, ...

  5. 在xml文件中使用该控件

    <yf.changsha.com.view.MyTextView android:layout_width="match_parent" android:layout_hei ...

  6. tensorflow学习——调试ctc的两个bug

    InvalidArgumentError (see above for traceback): Not enough time for target transition sequence (requ ...

  7. leetcode-mid-dynamic programming-322. Coin Change - NO

    mycode 我开始错误的思路:先用大钱除总钱数来保证 fewest number of coins,当最后剩下的amount小于最小币值的货币时,就说明return -1,但是这样想是有问题的!!! ...

  8. 送书福利| Python 完全自学手册

    前言 这里不讨论「能不能学,要不要学,应不应该学 Python」的问题,这里只会告诉你怎么学. 首先需要强调的是,如果 Python 都学不会,那么我建议你考虑别的行业,因为 Python 之简单,令 ...

  9. springMVC+Spring+Mybatis+Redis

    SPRINGMVC+MYBATIS+SPRING+REDIS 只作参考,以防忘记使用! mybatis的配置文件: <?xml version="1.0" encoding= ...

  10. ubuntu 16.04 配置ssl

    Let's Encrypt 的服务相信很多人都知道了,我个人认为这是最好的免费 SSL 服务.下面内容即使如何在自己的网站上使用 Let's Encrypt 实现 SSL. 前提条件 自己拥有一个域名 ...