Day 03 注释 数据类型

1.注释

  注释是对代码的解释与评论,给人看的,python解释器不识别

  python有2种注释方式:(1)#  单行注释   (2)'''    '''   多行注释    三引号

2.用户交互

  input()  在python3.x中使用方法如下 

name = input("what is your name?")
print(name)

  在python 2.x 中2种使用方法为:

  (1)必须认为的告诉input输入的是什么数据类型

name = input("what is your name?")
print(name)
D:\python2.7\python.exe D:/py/11.py
what is your name?yanglingyao      # 输入交互信息
Traceback (most recent call last):      
  File "D:/py/11.py", line 1, in <module>
    name = input("what is your name?")
  File "<string>", line 1, in <module>
NameError: name 'yanglingyao' is not defined   # 报错

 

D:\python2.7\python.exe D:/py/11.py
what is your name?  'yanglingyao'    # 声明输入的信息是字符串类型
yanglingyao

Process finished with exit code 0

  (2)raw_input()

name = raw_input("what is your name?")
print(name)

                   PS: Python3.x中的input() 和 Python2.x中的raw_input() 使用方法是一样的,输入的信息自动保存为字符串类型

3. 格式化输出

  (1)%s : 可以接收任意类型的值

name = 'yang'
age = 18
print('my name is %s,my age is %s' % (name, age))
D:\python3\python.exe D:/py/11.py
my name is yang,my age is 18

 

 (2)%d:值可以接收数字

name = 'yang'
age = 18
print('my name is %d,my age is %d' % (name, age))
D:\python3\python.exe D:/py/11.py
Traceback (most recent call last):
  File "D:/py/11.py", line 3, in <module>
    print('my name is %d,my age is %d' % (name, age))
TypeError: %d format: a number is required, not str  # 报错,%d 只能接收数字类型

正确的方法如下:

name = 'yang'
age = 18
print('my name is %s,my age is %d' % (name, age))

D:\python3\python.exe D:/py/11.py
my name is yang,my age is 18
a = 123
print("%08d" % a)  # 整数是8位,传入的数不够八位的话默认用0补全,超出8位,是多少就是多少


D:\python3\python.exe D:/py/11.py
00000123

4.数据类型

  1.整形(int)

  作用:qq号,手机号等

  定义方法:

a = 11

  本质:

a = int(11)

  2.浮点型 (float)  也就是俗称小数

  作用: 纪录体重。薪资等

  定义方法:

b = 1.1

  本质:

b = float(1.1)

 

  3.字符串(str)

  作用:记录一些描述性信息

  定义方法:

c = '我是字符串'  # 单引号定义
d = "我是'字符串'"   # 双引号定义,多用于嵌套,字符串本申含有单引号或双引号
e = '''
我是字符串
可以存多行
'''

  本质:

a = str('我是字符')

  python中的字符串支持加和乘操作:   字符串相加是新申请内存空间然后拷贝相加的字符串到新的空间中,效率不高

a = 'yang'
b = 'lingyao'
c = a + b
d = a * 3
print(c)
print(d)



D:\python3\python.exe D:/py/11.py
yanglingyao
yangyangyang

 

  4.列表(list)、

  作用:记录多个值,可以方便的取出来指定位置一条或多条的值

  定义方法:在[ ] 内用逗号分隔开多个任意类型的值

l = ['q', 1, 1.2, ['q', 'w']]  # 根据索引取值,第一个索引为0
l1 = l[0]   # 取出l 列表第一元素
l2 = l[3][1]  # 取出第4个元素中的第2个元素
print(l1, l2)   # q w

  5.字典(dict)

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

  定义方法:用{ }来定义,元素的格式为key:value ,也称作键值对,每个键值对中间用,隔开   其中key必须是不可变类型,value可以是任意类型 如:

d1 = {
    'name': 'yanglingyao',  # 一对键值对
    'age': 18,
    'addr': '山西',
    'hobby': ['听歌', '旅游']
}

  注:字典是无序的,所以不能根据索引取值,,只能通过键(key)来访问值(value)  如:

print(d1['age'])  # 取出字典中key为 age 的值
print(d1['hobby'][1])  # 取出字典中key 为hobby 的值中第二个元素
18
旅游

 

  6.布尔值(bool)

  作用:表示事物的对错,真假,  True(真)  False(假)

  定义方式:

t = False
t1 = True

5. 运算符

  1:基本运算符:

    "+"(加)  “-”(减)“*”(乘)“/”(除) “//”(地板除,也就是值保留整数位,与四舍五入无关) ‘**’(幂运算)"%"取模运算,也就是取余数

print(4 + 5)  # 9
print(5 - 4)  # 1
print(4 * 5)  # 20
print(6 / 3)  # 2.0 不管操作数有没有浮点数,都是浮点数除法 在python2.x中相当于3 的地板除
print(6 // 4)  # 1  向下取整,与四舍五入无关  地板除
print(6 ** 2)  # 36 6的2次方
print(6 % 4)  # 2 取模运算,也就是取余数

  2. 比较运算符:

    “>”(大于) “<”(小于)"<="(小于等于) ">="(大于等于) "=="(判断值是否相等) "!="(不等于) 结果都为True或False

print(1 > 3)  # False
print(1 < 3)  # True
print(1 >= 3)  # False
print(1 <= 3)  # True
print(1 == 3)  # False
print(1 != 3)  # True
    关于 == 与is 的区别  == 比较的是值是否相等,is 比较的是内存地址是否相同
a = 17
b = 17
print(a == b, a is b)  # True True  因为涉及小整数池概念,-5~256都是固定的内存地址所以都为True
c = 1000
d = 1000
print(c == d, c is b )  # True False 

    由此可见:内存地址相同,值一定相同,值相同,内存地址不一定相同

  3.逻辑运算符:

    "and"  (与:有一个条件为False,则为False,条件都为True,才为True)

    "or"       (或:任意一个条件为True,则为True,条件都为False,才为False)

    “not”      (非:取反)

print(1 > 3 and 4 > 3)  # False
print(4 > 3 and 5 > 3)  # True
print(1 < 3 or 4 < 3)  # True
print(1 > 3 or 2 > 3)  # False
print(not 1 < 3)  # False
print(not 1 > 3)  # True

  4.赋值运算符:

  1. 增量赋值:
    age = 18
    age += 1  # 相当于 age = age + 1
    print(age)  # 19 
    age *= 1  # 相当于 age = age * 1
    print(age)  # 19
    age -= 1  # 相当于 age = age - 1
    print(age)  # 18
    age /= 1  # 相当于 age = age / 1
    print(age) # 18.0
  2.  

     链式赋值:
    x = y = z = 18
    '''
    相当于
    x = 18
    y = x
    z = x
    '''
    print(x, y, z)  # 18 18 18
        
  3. 交叉赋值:
    x = 18
    y = 19
    x, y = y, x  # Python 提供的一种语法
    print(x, y)  # 19,18 

    同样可达到此目的的方法有:

    x = 18
    y = 19
    z = x
    x = y
    y = z
    print(x, y)

     

  4. 解压赋值:
    list1 = [1, 2, 3, 4, 5]
    l1, l2, l3, l4, l5 = list1   # 等号右边值的个数必须与左边的变量名个数一致
    print(l1, l2, l3, l4, l5)   # 1 2 3 4 5

    当其中有些值不需要使用的话,用‘_’ (下划线)充当变量名

    list1 = [1, 2, 3, 4, 5]
    l1, _, _, _, l5 = list1   # 等号右边值的个数必须与左边的变量名个数一致  用下划线来储存不需要取出的值
    print(l1, l5)   # 1,5

    当需要取出头尾而不知道右边值有多少个的时候用“*_”来代替

    list1 = [1, 2, 3, 4, 5]
    l1, *_, l5 = list1  # 等号右边值的个数必须与左边的变量名个数一致  用下划线来储存不需要取出的值
    print(l1, l5)  # 1,5
    print(*_)  # 2,3,4

     

 

posted @ 2019-07-01 18:38  人生能有几回搏  阅读(137)  评论(0编辑  收藏  举报