Preparatory Class-Day2-变量赋值、输入输出、进制转化、数据类型、数值类型及其转化


一、 变量赋值

"""
变量:使用指定名称开绑定特定值
格式: 变量名 = 变量值
注意:将变量名绑定到变量值上。
    赋值而不是等于,
    实际上是给变量贴标签
"""

a = ("hello world")
print(a)


#1. 变量定义的内存结构
b = 123
此时Python解释器做了两件事:
1> 分配内存,创建了1232> 分配内存,创建b
3> b指向123

#2 多变量指向同一内存(不可变类型:字符串和数字)
c = 123
1> 分配内存c
2> c指向123

(因为123是基础数据类型,计算机很聪明,认为是基础数据类型的,就直接使用
已有的内存,不再新创建了。所谓基础的数据类型,在python中有字符串,有,都属于基础数据类型,这些数据类型是在内存级别的类型,也就是在内存中
创建一次。如果再次使用,会先做查找,是否已存在,如果存在,则不再新创建)
注意:123仍然使用第一次创建的内存

#3. 同时为多个变量赋值
b = c = 3
b=c 实际上变量名无法相等,只能是指向的变量相等,即
    绑定的是指向c变量名指向的变量值。

#4. 修改变量的指定
b = "Hello World"
1> 内存中创建"Hello World"
2> 跟已定义的变量值解绑
3> 绑定新的变量值


# Python变量赋值,可以赋值任何类型。---鸭子类型(duck typing)


"""
5. 变量赋值注意点
(1)变量名必须是大小写英文字母,和数字、下划线的组合,其中数字不能开头
    # 支持中文变量名,但是尽量不要用
(2)变量在使用之前必须赋值,赋值后才能被创建
(3)变量没有类型,可以使用一个变量,通过赋值,指定不同类型对象。
"""

练习: 答应结果,画出内存图
x = "abc"
y = x
x = 123
print(y)
 
 
# 交换变量
x = 1
y = 2
print("x =", x)
print("y =", y)

# 中间值
temp = x
x = y
y = temp

#6. 平行赋值
x = 2
y = 1
x, y = y, x     # 简化了数据交换过程
print("x =", x)
print("y =", y)
 
 
 
 
二、 注释
"""
注释: 对程序进行解释说明
Python解释器对注释内容进行忽略处理

注释分为两种:
1> # 单行注释
    “#”,忽略从#直到当前行结束的内容
    
注意:"三引号"不是注释
a = """123"""
print a
2> # 特殊注释
"""
a = """123"""
print (a)
三、输入输出
""""
输出
语法:print 后台打印 属于内建(内置)方法(函数)

"""
print(1)
print("Hello World", "\n", "Python")

# 结束字符,end默认为\n,可以对结束字符进行修改
print("hello",end="*&——  ———&*")
print("hello",end="\n")

""""
输入:后台输入  input函数,括号内可以加入字符串作为提示信息
    # input是阻塞函数,会一直等待用户输入
"""
# input()
name = input("请输入名字:")
print ("刚刚输入的名字是: ",name)
四、练习:猜数字小游戏

"""
入门游戏---猜数字
1. 输入input函数用法,包括end方法和输出格式为字符类型
2. 随机数字函数random.randint(a,b),输出格式为字符类型
"""
import random

# 初始化
judge = 1
dur_start = input("从多少开始:")
dur_end = input("到多少结束:")

# 随机函数random.randint(a,b),输出格式为字符串类型
result = int(random.randint(int(dur_start), int(dur_end)))
guess = int(input("请猜一个整数,大小在({}-{})间:").format(dur_start, dur_end))

while judge:
    judge = guess - result

    # 注意用双等号,末尾用冒号
    # 注意:temp是字符串类型,需要修改格式!!!!
    if judge == 0:
        print("你猜对了", end="BBBut-")
        print("猜对也没用")
        judge = 0
    else:
        if judge > 0:
            print("你猜太大了", end="---")
        else:
            print("你猜太小了", end="---")

        guess = int(input("请重新猜一个整数,大小在({}-{})间:").format(dur_start, dur_end))
print("Game Over")

五、数据类型

按照种类分:

数值类型整数、浮点、复数、布尔型
序列类型:列表、元组、字符串
映射类型:字典
集合类型:集合
按照可修改性分:
不可变数据:Number(数值)、String(字符串)、Tuple(元组);
可变数据:List(列表)、Dictionary(字典)、Set(集合)-------------(六大基本数据类型)

  • 整型
  1. 定义方式: 
    a = 123
  2. 查看格式
    print(type(a))
  3. 取值范围(无限)
         在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处              理, 而长整数的范围几乎完全没限制
  1. **##&  进制转化  &##**

        

        其中十六进制:

        0-9 + a-f/A-F

           (1)十进制转其他进制----除进制取余(下除法,从下到上)

                    

               (2)其他进制转十进制-----乘幂法

                   

                (3)二进制转8进制

                            

        5. 布尔类型-----是整型的子类

        True-1/False-0 ***注意需要大写

  • 浮点型

        1.  只支持十进制小数,不支持其他进制

        2.  支持科学计数法

        f1 = 0.000012
            = 1.23e-5

        3.  取值范围

        单精度型占4个字节(32位)内存空,双精度型占8个字节(32位)内存空

        4.  浮点型不精确性

        print(1 / 3) - -- 0.3333333333333333
        print(10 / 3) - -- 3.3333333333333335
        print(0.1 + 0.3)
  •     复数型
        x = 1 + 3j, 实部和虚部都是浮点型
        print(type(x))
        print(x.real)
        print(x.imag)
  •     数值类型转换

        int(value) - ---转化为整数,取整  # int() 默认返回0
        floatvalue----转化为浮点类型  # float() 默认返回0.0
        bool(value) - --- 转化为布尔类型  # 如果值为0,则转为False
        # 默认值为False
        complex(value) - ----转化为复数  # 实数转化时,添加'0j',虚部参数为0
      *** 复数类型不能转化为整型、浮点型

     *** 任何类型可以转布尔类型;

     *** bool(0j) == False, 其余为True

  • 数值类型运算优先级
        # 整型 < 浮点型 < 复数类型, 加法类型取最高级别类型




猜你喜欢

转载自blog.csdn.net/u010359398/article/details/80813694