day03---基本数据类型、运算符、与用户交互

时间:2019-03-20
本文章向大家介绍day03---基本数据类型、运算符、与用户交互,主要包括day03---基本数据类型、运算符、与用户交互使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

day03

  基本数据类型:  

          数据类型指的是变量值的类型,变量值之所以区分类型,是因为变量值是用来记录一种事物的状态,而不同的事物有不同的事物状态,对应着也必须必须用不同的变量类型去衡量。

          分类:  数字类型(整型(int)、浮点型(float))、字符串类型(str)、列表类型(list)、字典类型(dict)、布尔类型(bool)

    数字类型:

      整型(int):  作用:  一般用来表示人的年龄,等级这样以整数形式出现的变量值

              定义:  是用于定义整数类型变量的标识符。

              使用:  age = 18  # 本质上是 age = int(18)

              此处注意:在Python中 age += 1 本质上在底层的运算方式是  age = age + 1

age = 18
age +=1
print(age)

#对比 age = age + 1

     浮点型(float): 作用:  一般用来表示人的升高、体重这样以带小数形式出现的变量值

              定义:  salary = 3.1   # 本质上是 salary = float(3.1)

              使用:  数学运算与比较运算

salary = 3.1
salary += 1.1
salary += 1

# 浮点型可以与整形以及浮点型运算

     其他数字类型:  长整型(long)、复数类型(complex)

    字符串类型(str):  在python中,加引号(' '," ",''' ''' )的字符就是字符串类型,在python中并没有字符类型

               定义: name = 'qzk'   # python中,底层表示 name = str('qzk')

               作用: 用于标识描述性内容,如 姓名、国籍、性别等。

msg = 'hello world'
print(msg)
print(type(msg))
'''
应注意字符串的引号的配对以及嵌套
'''
say = " my name is 'qzk'"

print(say)

'''
字符串只能与字符串类型相加
'''
x = 'hello'
y = 'my love'
print(x+y)

# x = 'hello'
# y = 1
# print(x+y)

# x = 'qzk'
# y = '1'
#print(x+y)

# x = 'qzk'
# y = str(1)
# print(x+y)

   注:   不推荐以加的方式拼接字符,字符重复开辟内存空间,执行效率低。

    字符串的乘法(*):

  

print'qzk'*10)

  列表类型(list):  

            作用: 一般是按照位置记录多个相同属性的值,并且可以取出指定位置的值

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

            使用:

l = [ 'qzk', 1, 2, 'alex',[1, 2, 666]]
print(l[3])
print(type(l))
print(l[4][2])
stu_info = [[ 'qzk', 18, ['sing', 'basketball', 'swim']], ['BB',18,['sing', 'beer','eat', 'sleep']]]
print(stu_info[0][2][0]

   

   字典类型(dict):   dic = { key1:value1, key2:value2}

              作用:  在python中,一般字典类型用来记录的是多个不同类型的值

              定义:  在python中,一般在{ }内用逗号分隔开多个元素,每个元素由两个部分组成 : key:value(键:值)此处一个key对应一个value。

                    key对value 应具有描述性作用,所以key通常是字符串类型。

dic = { name:'qzk', age:18, hobbies:['swim', 'sing', 'eat', 'sleep']}
print(dic[name])
print(dic[hobbies])
print(dic[hobbies][2])

# 字典类型可以嵌套列表

    布尔类型(bool):  True 、false

               作用:  用于判断

x = True
y = False

print(type(x))
print(type(y))

print(10>1)
print(10<7)
print(10==10)

# 强调:所有的数字都自带布尔值,其中 0、none、空 为假,其余都为真。

if 10>3:
    print('ok')
else:
    print('no')

if []:
    print('ok')
else:
    print('no')

  运算符:

        计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算.

    算术运算符: +、-、*、/等

print(10+3)
print(10-3)
print(10*3)
print(10**3)
print(10/3)
print(10//3)
print(10%3)

  比较运算符:  == 、 !=、 <、 >等。

  

  

print(10 == 10)
print(10 != 10)
print(10 > 3)
print(10 <= 3)
print('qzk' == 'qzk')

了解:

x = 'abcde'
y = 'abcdz'
print(x >= y)
l1 = [1, 'abc', 3]
l2 = [2, 'bcd', 3]
print(l1 > l2)

注:  字符串之间的比较是依次比较,如 'abc'>'bcd',  返回值是false 因为从第一个 a的ASCI值比b小。

  赋值运算:

# 赋值运算符

a = 10
b = 20
# 增量赋值
age = 18
age += 1  # 其实就是age=age+1
age = age + 1
age -= 1
print(age)
# 交叉赋值
x1 = 11
y1 = 12

x1, y1 = y1, x1
# 底层是 X=TEMP X=Y Y=TEMP

# 链式赋值
x4 = 10
# y = x
# x = z
z4 = y4 = x4

# 解压赋值
l = ['a', 'b', 'c', 'd']
x2 = l[0]
y2 = l[1]

x3, y3, z2, m2 = l
print(x3, y3, z2, m2)
# 解压赋值等号左边的变量名必须与右面所包含的值一一对应
# 列表取前两个
x5, y5, _, _ = l
print(x5, y5)
x6, y6, *_ = l
print(x6, y6)

# 取两边的

x7, *_, z7 = l
print(x7, z7)

  逻辑预算:

  

# 逻辑运算符
# and逻辑与,用来连接两个条件,只有两个条件都为真,才为真
# or逻辑或,一真即真,全假才假
print(10 < 3 or 1 == 1 or 1 != 1)
# not,取反
print(not 10 > 3)

# #三者的优先级从高到低分别是:not,or,and
print( 3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3)
# False
# #最好使用括号来区别优先级,其实意义与上面的一样
 print( (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3))
# False

  身份运算符:

    is 是比较id 的 而 == 是比较值的

# 身份运算符
# ==:判断的是值是否相等
# is:判断的是id是否相等
x = 257
y = 257
print(x == y)
print(x is y)
print(id(x))
print(id(y))

与用户交互:

       程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式,比如要求用户输入用户名和年龄,然后打印如下格式:

          My name is xxx,my age is xxx.

         很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。这就用到了占位符,如:%s、%d

      

"""输入输出(与用户的交互)"""
# 是什么:input(),print()
# 接受用户输入
name = input('请输入你的用户名:')
print(name)

# 2、格式化输出
name = input('username>>>')
age = input('age>>>>')
# print('my name is xxx my age is xxxx')
print("my name is %s , my age is %s" % (name, age))
# %s 占位符,接受字符串(什么都可以收)
# %d 占位符,只能接受数字


# 在python3 中,input()会将输入的所有类型都存成字符串类型
# 在python2中,raw_input()与python3中的input()功能一样。
# 在python2中,input()要求输入者在输入时,必须输入一个明确的数据类型。