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

本文主要是介绍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 = 0else: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

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




这篇关于Preparatory Class-Day2-变量赋值、输入输出、进制转化、数据类型、数值类型及其转化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982522

相关文章

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G