Python 入门 Day3
1.python语法注释
注释种类分为两种 1.#号后加注释内容
2."""注释内容 """ 用三引号注释
2.与用户交互
什么是与用户交互? 程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息
为何程序要与用户交互? 为了让计算机能够像人一样与用户的交互
如何用呢?
在python3中 input()关键字 就可以用户交互 但是input()关键字返回值是一个str (字符串类型的)。 且自带换行
但是在python2中 input()所表达的 就不是一样的了
input:用户输入什么类型,就存成什么类型 要求用户必须输入一个明确的数据类型,输入什么类型就存成什么类型
Python2中是用raw_input()来实现的 raw_input:等于python3的input 永远都只是str类型!
3.格式化输出:
占位符 %s 和 %d %s 可以放任何类型的值 而 %d只能存放数字类型 在末尾用%()使用
# 补充
# print('%08d'%123) # 整数是8位,传入的数不够八位的话默认用0补全,超出8位,是多少就是多少
4.数据类型
数据类型可以分为 整型int 字符串 str 浮点型 float 字典 dict 列表 list 长整型 long 只有python2中才有!!! # 1、整型:int
整型int 作用:记录年龄,等级,QQ号,各种号码
使用场景:加减乘除
浮点型:float
作用:记录身高、体重、薪资
salary=3.1 #salary=float(3.1)
print(salary,type(salary))
使用场景:加减乘除
了解知识点:复数,长整型 ```python # 两者在cmd窗口演示即可 n = 1+2j type(n) n.real n.imag # 长整型 只有python2中才有!!! n = 123 # int n = 122213123213132132132131232132131231232132131232312312 # long # 122213123213132132132131232132131231232132131232312312L n = 1L # 定义长整型
ps:为了方便记忆我们可以将上面两个类型统称为数字类型(这仅仅是我们自己定义的叫法)
字符类型:str
作用:记录描述性质的数据,比如人的名字、性别、家庭地址、公司简介
定义:在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号
info=""" compay name:OLDBOY addr:SH """ # 三引可以存多行,并且在没有被变量名接收的情况下可以当作注释
且字符串是可以拼接的
# 强调: # 1、字符串之间可以相加(不同数据类型之间不能相加) # 2、字符串相加是新申请内存空间然后拷贝相加的字符串到新的空间中,效率不高 print('my name is '+'egon'+' my age is '+'18') # 3、字符串还可以做乘法运算 print('hello'*10) print('='*100)
列表类型list
作用:记录/存多个值,可以方便地取出来指定位置的值,比如人的多个爱好,一堆学生姓名
定义:在[]内用逗号分隔开多个任意类型的值
列表中取值是靠索引来取的 例如 L[0] #且索引都是从0开始 这里 L[0]的话 就是取到值 10
#使用: hobbies="read music sleep eat play" hobbies=["read","music","sleep","eat","play"] print(hobbies[2]) # 小练习 打印sleep students_info=[ ['egon',18,['play',]], ['alex',18,['play','sleep']] ] print(students_info[1][2][0])
字典类型dict
作用:记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能
定义:在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
列表虽然能够存储多个值,并且取也很方便。比如我有另外一个需求,我想把我自己的信息全部存储下来,这个时候你们该怎么做?
我们可以使用 字典 字典使用两个{}表示的 但是!!!!!他不能靠索引取值 且他必须有一个键 key 和一个值 value 组成 中间用 “ :”
表示建值对 想取他的值的话就用x[key] 例子:
区别:一个字典可以表示一个人,一个省,一个国家...并且字典是无序的因为它不需要用顺序来存取数据而是用的key
列表与字典存取数据选择:当存取的是相同的一类数据可以用列表,当存储的数据需要明确一一对应关系用字典
布尔类型bool
作用:用来作为判断的条件去用 返回值 True Flase 一般情况下我们不是直接操作的布尔值而是通过判断去得到布尔值
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
ps 链接左右的 用or 只要 一个条件成立 那就是True and 连接 只要有一个不成立 那就是False
补充 交叉赋值 解压赋值
解压赋值
小整数池
1、Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,无论这个整数处于LEGB中的哪个位置,所有位于这个范围内的整数使用的都是同一个对象。同理,单个字母也是这样的。
小整数对象池:
在实际的编程中,数值比较小的整数,比如1、2、29等,可能在程序中会非常频繁地使用。在Python中,所有的对象都是存活在系统堆上。这就是说,如果没有特殊的机制,对于这些频繁使用的小整数对象,Python将一次又一次地使用malloc在对上申请空间,并且不厌其烦地一次次free。这样的操作不仅大大降低了运行效率,而且会在系统对造成大量的内存碎片,严重影响Python的整体性能。因此对于小整数对象使用了对象池技术。设置小整数的范围为[-5,256]。在这个范围内的小整数,任意相同的整数都是同一个对象。
发现需要补充的我会补充