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
# 定义长整型
View Code

ps:为了方便记忆我们可以将上面两个类型统称为数字类型(这仅仅是我们自己定义的叫法)

字符类型:str

作用:记录描述性质的数据,比如人的名字、性别、家庭地址、公司简介

定义:在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号

info="""
 compay
 name:OLDBOY
 addr:SH
 """ # 三引可以存多行,并且在没有被变量名接收的情况下可以当作注释
View Code

且字符串是可以拼接的

# 强调:
# 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]。在这个范围内的小整数,任意相同的整数都是同一个对象。

发现需要补充的我会补充

趁自己还没死 多折腾折腾
原文地址:https://www.cnblogs.com/lddragon/p/11115190.html