自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Python语言二分法求函数零点近似值

Python语言二分法求函数零点近似值

2023-10-13 00:18:54 213

原创 第三次工业革命(七)

太空与军事

2022-09-16 10:34:36 746 1

原创 第三次工业革命(六)

空间技术

2022-09-15 12:18:06 483

原创 第三次工业革命(五)

空间技术

2022-09-14 17:39:22 196

原创 第三次工业革命(四)

空间技术

2022-09-13 08:00:00 1192

原创 The Big Bang Theory

奇点是一个密度无限大,热量无限大,温度无限高,压力无限大,时空曲率无限大,体积无限小的“点”,是宇宙大爆炸的起点。之后会发生新的宇宙大爆炸,这样整个宇宙的演化循环往复,犹如弹簧振子的简谐运动。宇宙一直持续膨胀(暗能量的斥力占上风),宇宙中物质越来越稀薄,温度越来越低,最终恒星乃至黑洞会全部消亡,宇宙温度无限接近绝对零度(-273.15℃),进入永远的黑暗和寂静中。如果暗能量密度随空间增大而增大,宇宙将越来越受到暗能量的控制,并且膨胀的加速度将会越来越大,宇宙将会有一种极为惨烈的结局——大撕裂。

2022-09-09 16:36:33 1894

原创 第三次工业革命(三)

电子计算机

2022-09-07 08:48:48 1090

原创 第三次工业革命(二)

原子能技术

2022-09-06 21:07:58 317

原创 第三次科技革命(一)

物理学革命

2022-09-06 20:41:17 315

原创 第二次工业革命

第二次工业革命

2022-08-29 23:44:37 1875

原创 第一次工业革命

第一次工业革命

2022-08-29 23:04:51 1772

原创 近代科学的诞生

近代科学的诞生

2022-08-26 18:08:44 324

原创 C语言字符数组和字符指针辨析

在C/C++中,字符数组和字符指针,理论上和整型、浮点型的数组和指针很相似,但是由于字符串的存在,使字符数组和字符指针变得复杂,往往使初学者感到困惑。在C/C++程序中,存储一个字符串有两种方法,一是用字符数组实现,二是用字符指针变量实现。char s1[] = "Hello world";char *s2 = "Hello world";s1是数组名,代表数组存储的首地址。s2是一个字符型指针变量,其指向字符串的首地址。在C/C++中,字符串常量是按字符数组处理的,是在内存中开辟了一个字符数组

2020-06-25 17:12:33 245

原创 printf函数的求值顺序

下面的题目据说是一道华为的C语言面试题#include <stdio.h> int main(){ int arr[] = {6,7,8,9,10}; int *ptr = arr; *(ptr++) += 123; printf("%d,%d",*ptr,*(++ptr)); return 0;}运行结果为:8,8这道题目考察的重点有两处:前++和后++的区别;*(ptr++) += 123; 等价于:*ptr += 123; ptr++;* (++pt

2020-06-24 23:51:52 987

原创 C语言*ptr++的解析

  在 * ptr++ 中,由于“++”和 “ * ”都是单目运算符,为同一个优先级,结合方向都是自右而左,因此它等价于*(ptr++)。它的作用是先得到p指向的变量值(*ptr),然后再将ptr+1赋给ptr。   *(ptr++) 与 *(++ptr)作用不同。前者是先取 *ptr值,然后使ptr加1。后者是使ptr加1,再取 *ptr。#include <stdio.h> int main(){ int a[5] = {0, 1, 2, 3, 4}; int *ptr =

2020-06-22 22:16:25 4895

原创 C语言数组作为函数的参数

  C语言的数组是一系列数据的集合,无法通过参数将它们一次性传递到函数内部,如果数组作为函数的参数,必须传递数组指针。void func(int *p, int n) //对数组进行冒泡排序{ int temp; for(i = 0; i < n-1; i++) { for(j = 0; j < n -i -1; j++) { if(p[j]>p[j+1]) { temp = p[j]; p[j] = p[j+1]; p[j+1] =

2020-06-20 17:50:16 7253

原创 C/C++数据类型转换

  在C/C++中,整型、单精度、双精度及字符型数据可以进行混合运算,即双目运算符两边的操作数类型可以不同。当表达式中不同类型的数据进行运算时,会发生数据类型的转换。C/C++中有两种类型转换的方法:自动类型转换和强制类型转换。自动类型转换  所谓自动类型转换是指在不同类型数据进行混合运算时,系统会自动进行数据类型的转换。对同一表达式中不同类型的数据自动进行类型转换是由C/C++编译系统自动完成的,遵循一定的规则,即:在运算时,不同类型的数据要先转换成同一类型的数据,然后进行计算,所有操作数都是向“所占

2020-06-18 21:39:24 473

原创 sizeof运算符和strlen函数

sizeof  在有些计算机语言中,sizeof是函数,在C/C++语言中,sizeof是关键字,也是操作符,功能是求某一数据类型或某一变量在内存中所占空间的字节数。其使用的一般形式为:sizeof(变量名或数据类型)int main(){ int *pi; char *pc; double *pd; unsigned int a[10] = {1, 2, 3}; printf("%d\n", sizeof(int)); printf("%d\n", sizeof(char)); pri

2020-06-13 21:12:29 267

原创 补码简介及计算

补码是计算机语言中很基础也很重要的一个概念,计算机中的数值都是以补码的形式存储的,有了补码,可以变减法为加法,10=1+9=2+8=3+7=4+6=5+5;在十进制运算中,如果只看个位,那么,加1和减9的结果是一样的,加2和减8的结果也是一样的…...

2020-06-13 18:57:30 10112 3

原创 C语言运算符优先级以及与Python的重要区别

C语言表达式 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名

2020-06-10 13:03:47 1144

原创 109. Python类属性和对象属性

类属性就是给 类的全体对象定义的属性,可以节省内存空间,既可以通过类名访问,也可以通过对象访问。对象属性是指定义在方法的内部的属性,只能通过对象访问。class PetDog: owner = "Jim" # 类属性 def __init__(self, name, age): # 定义类的构造方法 """初始化属性name和age.""" self.name = name # 对象属性 self.age = age # 对象属性

2020-06-09 23:01:26 554

原创 108. 类和对象

  类即类别/种类,是面向对象分析和设计的基石,如果多个对象有相似的数据与功能,那么这些对象就属于同一种类。有了类的好处是:我们可以把同一类对象相同的数据与功能存放到类里,而无需每个对象都重复存一份,这样每个对象里只需存自己独有的数据即可,极大地节省了空间。所以,如果说对象是用来存放数据与功能的容器,那么类则是用来存放多个对象相同的数据与功能的容器。  在Python中,把具有相同属性和方法的对象归为一个类。类进行实例化就生成一个对象,因此对象又被称为实例。  在程序中,必须要先定义类,然后再调用类产生

2020-06-07 20:35:21 173

原创 107. 面向过程和面向对象

前面学过了顺序结构、选择结构、循环结构。面向过程的思想是将程序流程化过程是“流水线”,用来分步骤解决问题。面向对象的思想是将程序”整合“对象是”容器“,用来盛放数据和功能。将有关联的数据和功能整合到一起的方案,即便C语言不是面向对象的语言,但依然能实现面向对象思想。封装:使对象的内部实现与外界隔离,提供了更理想的模块化机制,减少了程序间的互相干扰继承:使得软件具有高度可重用性,多态:使得编程方法更容易扩充。...

2020-06-06 21:11:10 652

原创 106. __name__和__main__

  对于很多编程语言(如C和C++)来说,程序都必须要有一个入口,就是main 函数,程序的运行都是从 main 函数开始。而 Python 则不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。但是在比较正规的Python项目中,往往可以看到下面的语句:if __name__ == '__main__':  为了分析这句代码的含义,不妨新建一个Python文件 m.py,里面只写入一句代码print(__name_

2020-06-05 23:28:35 102

原创 105. 模块简介

  Python的模块是一系列功能的集合体,分为三种:内置模块:Python解释器自带的模块;第三方模块:Python内置的标准库之外的通用模块;自定义模块:用户自己编写的,一个Python文件就可以看作是一个模块。  内置和第三方模块可以直接调用,极大提高了开发效率。  在大的工程项目中,会有多个程序文件,把常用的功能放到一个模块中供其他文件调用,可以减少代码冗余,程序组织结构更加清晰。  在《104. 列表的浅拷贝和深拷贝》中深拷贝使用了内置模块copy中的方法copy.deepcopy(

2020-06-04 19:40:36 105

原创 列表的浅拷贝和深拷贝

列表的浅拷贝和深拷贝

2020-06-03 22:02:06 1454

原创 可变类型和不可变类型

不可变类型  在前面两节的代码测试中,整数型变量重新赋值后,id会发生改变,即变量名指向了新的内存空间。这样的类型被称为不可变类型,整数类型、浮点数类型、布尔类型和字符串类型都属于不可变类型。可变类型l = [1, 2, 3, 4]print(l, id(l))l[1] = 200print(l, id(l))del l[3]print(l, id(l))d = {'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'Ame

2020-06-03 19:39:43 236

原创 102. 身份运算符和关键字del

身份运算符is、is not  身份运算符是用来判断两个对象是否是同一个对象,即id值是否相等。身份运算符有两个,分别是is、is not。x = y = 'abc'print(x is y)print(x is not y)l1 = {1, 2, 3}l2 = l1l3 = {1, 2, 3}print(l1 is l2)print(l1 is l3)print(l1 is not l3)运行结果为:TrueFalseTrueFalseTrue  代码分析:is表达式

2020-06-03 19:08:18 406

原创 101. 内置函数id和小整数池

del 解除变量名与值的绑定关系。当变量值的引用计数为0时,就成为了垃圾。Python解释器会自动进行回收,无需开发者清理Python语言中的变量有3个属性,分别为name,id和value。name可以理解为变量名。id() 函数返回对象的唯一标识符,标识符是一个整数。...

2020-06-03 12:09:35 204

原创 29. 内置函数len

内置函数lenl = [100, 2.5, False, 'abc', [888, 0.1, '***'], 9*9]d = {'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'American'}print(len(l))print(len(l[4]))print(len(d))print(len("Hello world!"))运行结果为:63412  len用于返回对象的长度,对于列表,长度就是元素个数;

2020-06-02 22:02:59 442

原创 28. 字典类型

字典类型  字典类型(dict)属于键值类型,也是Python中最常用的键值类型(key-value)。其中键(key)必须是唯一的,key必须是不可变类型(后面篇章会讲解),value可以是任意类型。字典外面用大括号{}进行界定,内部元素是key:value组合形式,元素之间用逗号分隔,字典的元素没有索引,字典的元素也是无序的。d = {"name": "Jim", "age": 18, "gender": "male"}  字典d存储了Jim的个人信息,有名字、年龄、性别三项。其中"name"、

2020-06-02 20:56:03 3931

原创 27. 列表类型(二)

改变列表元素的值l = [1, 2, 3, 4]l[2] = "change"print(l)运行结果为:[1, 2, 'change', 4]可见,通过索引可以直接对列表中的元素重新赋值。列表添加元素列表可以调用append函数在末尾处添加新元素。l = [1, 2, 3, 4]l.append("fifth")print(l)运行结果为:[1, 2, 3, 4, 'fifth']列表删除元素列表可以调用remove函数删除指定的某一个元素l = ['first',

2020-06-02 20:27:22 135

原创 26. 列表类型

列表类型  列表类型,即list,是一种序列类型。Python中常见的序列类型有三种:列表、字符串(已学)、元组(后面会学)。列表中元素的个数和类型不定,每一个元素都对应着索引值(这一点与C语言的数组相似)。第一个元素的索引值为0,第二个元素的索引值为1,依次类推。  列表需要用中括号[]将所用元素括起来,相邻元素之间用逗号分隔,请看下面的例子l1 = [1, 2, 3, 4]l2 = ['hello', 'world']l3 = [100, 2.5, False, 'abc', [888, 0.

2020-06-02 19:58:08 3378

原创 Python判断整数是否为质数

问题1:如何判断一个整数是否为质数?分析:使用for循环,可以很方便实现。x = int(input("请输入一个不小于2的整数:"))isPrimeNumber = Truefor i in range(2, x): if x % i == 0: isPrimeNumber = False # 如果在2~x-1的范围内,x有被整除的情况,则x不是质数 breakif isPrimeNumber: print(x, "是质数。")else:

2020-06-02 18:36:08 8169

原创 24. 循环结构之for循环(二)

  上一节最后的例子,for循环仅用了两行代码实现了while循环四行代码的功能,可见for循环的开发效率确实比较高。for i in range(5): print("Hello world!")  for后面的i,实际只是充当了占位的作用,它的取值分别为:0、1、2、3、4,完全可以用其他的合法的标识符取代(如:x、count等)。而控制循环次数,并不是必须用range函数,请看下面例子。for c in "hello": print("Hello world!")运行结果为

2020-06-02 12:46:58 324

原创 23. 循环结构之for循环

  我们已经学过了while循环,下面接着学习Python中的第二种循环机制——for循环。理论上,for循环能做的事情,while循环都可以做,但for循环的循环取值(遍历取值)操作比while循环简洁。不过,在实践for循环之前,需要介绍一下成员运算符和内置函数range。成员运算符in和not in  成员运算符用来验证给定的值(变量)在指定的范围里是否存在。成员运算符有两个,分别是in和not in。print("he" in "hello")print("he" not in "hello

2020-06-02 12:16:33 566

原创 22. 循环结构之continue

有如下需求:打印1~20,但5的倍数除外。i = 0while i < 20: i += 1 if i % 5 == 0: continue print(i)

2020-06-02 12:00:02 699

原创 21. 循环结构之break

  在第20节中,遇到的是循环次数已知的情形,而现实中有些循环结构事先无法确认循环次数,如电脑的开机密码,直到输入正确密码,方可进入操作界面。PASSWORD = "123456"while True: password = input("请输入密码:") if password == PASSWORD: print("密码正确!") else: print("密码错误,请重新输入!")  上面的代码,会无休止地让用户输入密码,并告诉用户所输入

2020-06-01 21:15:11 1563

原创 20. 循环结构之while循环

  在程序开发过程中,有时相同的一段程序代码需要多次执行。如果采用顺序结构,就会使代码冗长,而且降低开发效率。为解决这个问题,Python提供了循环结构语法,下面介绍while循环语句。while循环  先引入一个简单例子——打印5行”Hello world!“。如果采用顺序结构,就需要写5行:print(“Hello world!”)。这显得很繁琐,而且呆板,毫无技术含量。如果采用while循环,问题就会简化。count = 0while count < 5: print("Hell

2020-06-01 13:04:38 603

原创 19. 选择结构

  之前我们运行的代码,按照从前往后的顺序,每一句都会运行,这样的代码属于顺序结构。但在实际应用中,经常需要根据不同的条件执行不同的语句,这种情况需要通过选择结构(也称条件结构、分支结构)来实现。  选择结构语句必须用到关键字if,请看下面代码。score = int(input("请输入你的分数:"))if score >= 60: print("你及格了!")  在上面的例子中,如果输入的分数大于等于60,则会执行print语句,如果小于60,则没有输出语句。同时可以看出,if语

2020-05-31 22:55:01 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除