首页 > 编程语言 >程序与设计

程序与设计

时间:2023-06-08 10:03:02浏览次数:39  
标签:10 0000 程序 list 字符串 print 设计 运行

2-27

在命令行窗口中启动的Python解释器中实现
在Python自带的IDLE中实现

print("Hello world")

编码规范

每个import语句只导入一个模块,尽量避免一次导入多个模块

不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行

建议每行不超过80个字符

使用必要的空行可以增加代码的可读性

运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔

避免在循环中使用+和+=运算符累加字符串

适当使用异常处理结构提高程序容错性

保留字与标识符

概念:保留字是Python语言中已经被赋予特定意义的一些单词,开发程序时,不可以作为变量、函数、类、模块和其他对象的名称来使用。

查看保留字
import keyword
s = keyword.kwlist
print(s)

运行结果:

程序与设计_23-6-8


程序与设计_23-6-8_02



1、字母、数字组成。第一个字符不能是数字
2、不能使用保留字
3、区分大小写
4、_下划线开头的一般有特殊含义,尽量避免


number = 0
print(number)
Number = 1
print(Number)
NUMBER = 2
print(NUMBER)

运行:

程序与设计_23-6-8_03


3-06

单行注释

注释是指在程序代码中添加的标注性的文字

多行注释

在Python中将包含在一对三引号('''......''')或者("""......""")之间,而且不属于任何语句的内容认为是多注释


多行注释:标注某个函数的属性,或者标注某个文档的属性,
放在函数的上边一行或者文档的上面(import的下面),写法:三个双引号
文档编码声明注释:用来声明此文档的编码格式,放在文档的上方
两种写法:# -*- coding:utf-8 -*-
# coding=utf-8


编码规范

每个import语句只导入一个模块,尽量避免一次导入多个模块
不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行
建议每行不超过80个字符
使用必要的空行可以增加代码的可读性
运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔
避免在循环中使用+和+=运算符累加字符串
适当使用异常处理结构提高程序容错性


变量

查看数据类型
height = input("请输入您的身高:")
print(type(height))

运行

程序与设计_23-6-8_04


######

变量的命令规范:
变量名一定要符合表示的命令规范
变量名不能是保留字
慎用0和l
选择有意义的单词作为变量名
变量的命令格式:
变量名
注意:定义变量的时候不需要声明变量数据类型
查看变量的数据类型:
内置函数:type(变量) 返回值就是变量的数据类型

number = 1024
print(type(number))

nickname = "abc"
print(type(nickname))

运行

程序与设计_23-6-8_05



number = 1024
print(id(number))

number2 = 2048
print(id(number2))

number3 = number4 = 4096
print(id(number3))
print(id(number4))

运行

程序与设计_23-6-8_06


查看变量的内存引用地址:
内置函数:id(变量) 返回值是该变量在内存当中引用地址

常量的命名规范:
大写字母和下划线组成:STUDENT_SUM = value

常量

在程序运行过程中,值不能改变的量

基本数据类型

1.整数类型:int
十进制
二进制
八进制
注意:以0O或0o开头
十六进制
注意:以0X或0x开头
2.浮点类型:小数 float
e = 2.718
注意:浮点类型计算时有精度问题
3.复数
格式: a+bj(a是实部,b是虚部)


3-13

字符串类型

字符串类型:str
定义格式:
变量 = '内容'
打印一行
变量 = "内容"
打印一行
变量 = '''内容'''或者三引号
可以通过回车的方式换行,且打印出来与字符串格式相同

注意:
字符串首尾符号保持一致
引号可以嵌套使用,被嵌套的字符串定义符也会变为字符串的一部分
三双引号嵌套双引号的时候,不能尾接触

s1 = 'Python中也可以使用""定义字符串'
print(s1)
s2 = "'内容'也是字符串"
print(s2)
s3 = """'单引号内容'+"双引号内容" """
print(s3)

运行

程序与设计_23-6-8_07


转义字符

转义字符:
换行
续行
空 null
转换成字符串
转换成字符串
转换成字符串
八进制数,dd指字符,例如:\012 代表换行
十六进制,0a指字符,例如:\x0a代表换行

s1 = 'Python中也可以使\0用"内容"定义字符串null '
# s2 = ''
print(s1)
s2 = "'内容'也是\012字符串\""
print(s2)
s3 = "'内容'也是\x0a字符串\""
print(s3)

运行

程序与设计_23-6-8_08


限制转义字符

限制转义字符
最喜爱字符串前面加上R或者r,限制转义字符的功能,而且会把转义字符完成打印出来

快速注释: Ctrl + /

布尔类型

布尔类型:Boolean
主要表示:真假
或 False (都是保留字)
1 0
布尔类型可以进行计算,但是不推荐
对象的假值:
和None
数字当中0,包括整数0,小数0.0,复数虚数0
空序列,包括字符串 空列表 空字典
自定义对象的实例,该对象的__bool__方法的返回False 或者 __len__返回0

print(1 + False)
print(1 + True)

运行

程序与设计_23-6-8_09


a = 1
if a == True:
为True")
else:
为False")

运行

程序与设计_23-6-8_10


3-20

数据类型转换

数据类型转换:
代指对象,返回值是一个整数类型,对象->整数
为字符串:字符串应全为整数
为小数:只保留整数部分
不能是负数
为布尔类型:True = 1 False = 0
呆滞对象,返回值是一个浮点类型的值,对象->浮点类型
为字符串:字符串应全为整数,除了复数
为整数:整数,0
不能是负数
为布尔类型:True = 1.0 False = 0.0
代指对象,返回值是一个字符串,对象->字符串
可以是所有基本数据类型
代表实数部分,imag代表虚数部分,返回值是一个复数,创建一个复数
代指对象,返回值是一个字符串,对象->表达式字符串
可以是所有基本数据类型
代指字符串对象.返回值根据字符串内容定,字符串对象->数字类型
为整数字符串,返回值为整数类型
为浮点字符串:返回值为浮点类型
为复数字符串:返回值为复数
代指整数,返回值是一个字符,整数->字符
参照的是ASCII表
48:0
65:A
97:a
代指字符,返回值一个整数,字符->整数
代指整数,返回值是一个十六进制字符串,整数->字符串
代指整数,返回值是一个八进制字符串,整数->字符串
代指整数,返回值是一个二进制字符串,整数->字符串
代指浮点数,ndigits代指位数,返回值是一个四舍五入的浮点数或整数

x = "123"
a = int(x)
print(a)
print(type(a))

运行

程序与设计_23-6-8_11


a = complex(1)
print(a)
print(type(a))

运行

程序与设计_23-6-8_12


a = complex(1,2)
print(a)
print(type(a))

运行

程序与设计_23-6-8_13


x = "1.26165"
# a = complex(1,2)
a = eval(x)
print(a)
print(type(a))

运行

程序与设计_23-6-8_14


x = "3"
a = ord(x)
print(a)
print(type(a))

运行

程序与设计_23-6-8_15


x = 10
a = bin(x)
print(a)
print(type(a))

运行

程序与设计_23-6-8_16


x = 1.1
a = round(x)
print(a)
print(type(a))

运行

程序与设计_23-6-8_17


x = 1.556
a = round(x,1)
print(a)
print(type(a))

运行

程序与设计_23-6-8_18


3-27

代码练习

# 5中商品,56.75 72.91 88.50 26.37 68.51(字符串类型)
# 商品总金额:___元(算总价)
# 实数价格:___元(抹零)
a = "56.75"
b = "72.91"
c = "88.50"
d = "26.37"
e = "68.51"
a_float = float(a)
b_float = float(b)
c_float = float(c)
d_float = float(d)
e_float = float(e)
amount = a_float + b_float + c_float + d_float + e_float
print("商品总金额:" + str(amount) + "元")
real_amount = round(amount,0)

运行

程序与设计_23-6-8_19


运算符:
运算符是特殊符号,用来运算,数学运算,比较运算,逻辑运算,位运算
算数运算:
+
-
*
/
%
//
**
赋值运算符:
=
+= (x+=y x=x+y)
-= *= %= //* **=
关系(比较)运算符:
< > <= >= == !=
是否在1~100之间:
a>1 and a<100
1<a<100
逻辑运算符:
or not and
表达式1 表达式2 表达式1 and 表达式2 表达式1 or 表达式2 表达式1 not表达式2
True True True True False
True Flase Flase True Flase
Flase True Flase True True

Python快捷键
快速注释: Ctrl + /
快速复制多行: Ctrl + D
快速另起一行: shirt + enter


result = 7/2
print(result)
print(type(result))

运行

程序与设计_23-6-8_20


result = 7 % 7
print(result)
print(type(result))

result = 2 ** 4
print(result)
print(type(result))

运行

程序与设计_23-6-8_21


# 有一个人,期末考试有三门课:Python:95 English:92 C:89
# 算Python跟C分数差
# 算平均成绩

Python = 95
English = 92
c = 89
sub = Python - c
print("Python跟c的分数差为:" + str(sub))
sum = Python + English + c
avg = sum / 3
print("平均成绩:" + str(avg))

运行

程序与设计_23-6-8_22


a = 1
a += 1
print(a)

运行

程序与设计_23-6-8_23


print(bin(-7))

运行

程序与设计_23-6-8_24



4-03

位运算符:
字节的二进制数,32位
10 => 0000 0000 0000 1010

-10 => 1000 0000 0000 1010
二进制运算:
原码
反码(取反)
+1
补码(反码+1,计算机实际存储的数字)
首尾代表正负号
-66
原码 0000 0000 0100 0010
反码
+1
补码

位与
0000 0000 0000 1010 =>16
& 0000 0000 0000 1000 =>8
0000 0000 0000 1000 =>8
遇0则0
位或
0000 0000 0000 1010 => 10
| 0000 0000 0000 1000 => 8
0000 0000 0000 1010 => 10
遇1则1
位异或
0000 0000 0000 1010 => 10
^ 0000 0000 0000 1000 => 8
0000 0000 0000 0010 => 2
相同为0,不同为1
取反
0000 0000 0000 1010 => 10
~ 1111 1111 1111 0101 => 32757
1111 1111 1111 0101 => 32757
变1,1变0
左位移
0000 0000 0000 1010 => 10
<< 0000 0000 0001 0100 => 20

21 0000 0000 0001 0101 << 0000 0000 0010 1010 42
右位移
0000 0000 0000 1010 => 10
>> 0000 0000 0000 0101 => 5

/2

运算符的优先级:
运算符
()
**
~ + -
* / % //
+ -
<< >>
&
^
|
< <= > >= == =!

基本输入和输出:
输入函数
指提示文字
返回值:字符串类型的值
输出函数
指打印文字
如果有多个参数,依次进行打印,使用空格进行分隔
没有返回值
打印到本地磁盘的文件当中
fp = open(r"E:\demo.txt","a+")
这是一条输出语句",file=fp)
fp.close()
让转义字符失效


input("输入一个数字:")

运行

程序与设计_23-6-8_25


print("请输入一个数字:")
input()

运行

程序与设计_23-6-8_26


a = input()
print(type(int(a)))

运行

程序与设计_23-6-8_27


a = print("这是一个字符串")
print(type(a))

运行

程序与设计_23-6-8_28


a = "我的名字是"
name = "阿尔法"
print(a + name)

运行

程序与设计_23-6-8_29


a = "我的名字是"
name = "阿尔法"
print(a,name)

运行

程序与设计_23-6-8_30


fp = open(r"E:\demo.txt","a+")
print("这是一条输出语句",file=fp)
fp.close()

运行

程序与设计_23-6-8_31

打开磁盘

程序与设计_23-6-8_32


打开文件

程序与设计_23-6-8_33



4-10

# 第一步,输入父亲和母亲的身高
print("请输入父亲的身高:")
father = input()
father_f = float(father)

# father = float(input())


print("请输入母亲的身高")
mother = input()
mother_f = float(mother)


# 第二步,计算儿子的身高
son = (father_f + mother_f) * 0.54

# 第三步,儿子身高的输出
print("预测儿子的身高为:",son)

运行

程序与设计_23-6-8_34


# 第一步,输入当天的行走步数
print("请输入当天行走的步数!")
steps = input()


# 第二步,计算一天小号的卡路里
calorie = int(steps) * 28


# 第三步,输出卡路里数
print("今天共消耗卡路里,",calorie,"(即",calorie/1000,"千卡)")

运行

程序与设计_23-6-8_35


# 第一步,输入当天的行走步数
print("请输入当天行走的步数!")
steps = input()


# 第二步,计算一天小号的卡路里
calorie = int(steps) * 28
calorie_f = round(calorie/1000,2)


# 第三步,输出卡路里数
print("今天共消耗卡路里,",calorie,"(即",calorie_f,"千卡)")

运行

程序与设计_23-6-8_36


print("今天共消耗卡路里,",calorie,"(即",calorie_f,"千卡)")
print(f"今天共消耗卡路里:{calorie}(即{calorie_f}千卡)")
print("今天共消耗卡路里: %s (即%s千卡)" % (calorie,calorie_f))

运行

程序与设计_23-6-8_37


print("欢迎使用充值业务!")
name = input("请输入姓名:")
money = input("请输入充值金额:")
print("%s 先生/女士,充值成功,本次充值 %s 元" % (name,money))
print(f"{name} 先生,充值 {money} 元")

运行

程序与设计_23-6-8_38


4-17

第三章:
顺序结构
选择语句:
if
if...else...
if...elif...else...
的嵌套
循环语句:
while
for
嵌套循环
跳转语句:
中止整个循环
跳出本次循环,执行下一次循环

程序结构
顺序结构选择结构循环结构
选择语句:

if语句:
表达式:
代码块
如果if后面只跟; 一条语句:
表达式: 语句

if...else...语句:
表达式:
代码块1
else:
代码块2
简写:
b = a if a >0 else -a
语句不可单独使用

if...elif...else
表达式:
代码块1
表达式:
代码块2
...
表达式:
代码块n

和else都不可单独使用

顺序结构


程序与设计_23-6-8_39


选择结构


程序与设计_23-6-8_40


循环结构


程序与设计_23-6-8_41



a = 1
if a < 10:
print(a)
判断为真")
if a >= 10:
print(a)
大于等于10")

运行

程序与设计_23-6-8_42


a = 11
if a < 10:
print(a)
判断为真")
if a >= 10:
print(a)
大于等于10")

运行

程序与设计_23-6-8_43


a = -9
if a > 0:
b = a
else:
b = -a
print(b)

运行

程序与设计_23-6-8_44


# 需求 根据用户输入的玫瑰花数量 输出其表达的含义
number = int(input("请输入想送几朵玫瑰花:"))
if number == 1:
朵:一心一意")
elif number == 10:
朵:十全十美")
elif number == 99:
朵:天长地久")
elif number == 520:
朵:我爱你(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤")
elif number == 999:
朵:求婚")
else:
意义不明,别瞎送!!!")

4-24

循环语句:
语句:
条件表达式:
循环体

初始变量
循环控制语句
循环体
变量变化

循环:
迭代变量 in 对象:
循环体

range函数:
作用:返回一个连续的整数对象
函数的声明:obj range(start,stop,step)
注意:参数都为数字类型
如果step>0,stop>start
如果step<0,stop<start
返回值不是一个数,是一个对象,对象当中包含了很多数
返回值

# 酒驾判断:
# 国家质量监督检验检疫局发布的《车辆驾驶人员血液、呼气酒精含量阈值与检验》中规定:车辆驾驶人员血液中的酒精含量
# 小于20mg/100ml不构成饮酒驾驶行为;酒精含量大于或等于20mg/100ml、小于80mg/100ml为饮酒驾车;酒精含量大于或者等
# 于80ml/100ml为醉酒驾车。
# 现编写一段python代码判断是否酒后驾车。

print("为了您和他人的安全,严禁酒后驾车!")
# 输入酒精含量
a = int(input("请输入每100ml血液的酒精含量:"))

if a <20:
不构成饮酒驾驶行为")
elif 20 <= a < 80:
饮酒驾车")
elif a >= 80:
醉酒驾车")

运行

程序与设计_23-6-8_45


print("为了您和他人的安全,严禁酒后驾车!")
# 输入酒精含量
a = int(input("请输入每100ml血液的酒精含量:"))

# 构不构成酒驾行为
if a < 20:
构成饮酒驾驶行为")
if a >= 20:
if a < 80:
饮酒驾车")
else:
醉酒驾车")

运行

程序与设计_23-6-8_46


print("为了您和他人的安全,严禁酒后驾车!")
# 输入酒精含量
a = int(input("请输入每100ml血液的酒精含量:"))

# 构不构成酒驾行为
if a < 0:
输入有误,必须大于等于0")
if 0 <= a <20:
构成饮酒驾驶行为")
if a >= 20:
if a < 80:
饮酒驾车")
else:
醉酒驾车")

运行

程序与设计_23-6-8_47


# 计算1+2+...+100
a = range(1,101,1)
sum = 0
for i in a:
print(i)
sum = sum + i
print(sum)

运行

程序与设计_23-6-8_48


# 打印5次hello World
for i in range(5):
print("hello Word")

运行

程序与设计_23-6-8_49


a = 1
while a <= 5:
print("hello World")
a += 1

运行

程序与设计_23-6-8_50


# 遍历字符串
string = "学习Python"
for char in string:
print(char)

运行

程序与设计_23-6-8_51


for i in range(1,10):
for j in range(1,i+1):
if i != j:
print(str(j)+"×"+str(i)+"="+str(j*i)+" ",end='')
if i ==j:
print(str(j) + "×" + str(i) + "=" + str(j * i) + " ")
print()

运行


5-8

Python语言基础练习

Python单行注释的符号是(//)

B

程序与设计_23-6-8_52


Python的代码块不适用大括号{}来控制类、函数以及其他逻辑判断

a = 1
if a == 1:{print("a = 1")}


D:可以随意缩进

程序与设计_23-6-8_53

3.C

程序与设计_23-6-8_54


% 取余

4.D

程序与设计_23-6-8_55


=赋值 ==做判断

5.A

程序与设计_23-6-8_56


//不可以带小数

6.C

程序与设计_23-6-8_57


变量的命名规则(不能使用保留字,第一个字符不能使用数字,慎用o l)

7.C

程序与设计_23-6-8_58


程序与设计_23-6-8_59



复合运算符

8.B

程序与设计_23-6-8_60

9.C

程序与设计_23-6-8_61

10.C

程序与设计_23-6-8_62


//用来表示反义字符

代码前面+r/R,限制转义字符

11.B

程序与设计_23-6-8_63

12.C

程序与设计_23-6-8_64


#!指定Python环境

第二行限制编码集

or与and与用法:or两个满足其一,and两者都需满足条件

13.C

程序与设计_23-6-8_65


程序与设计_23-6-8_66



字符串拼接,需要将int类型转换为字符串类型

a = input("幸运数:\n")
a = int(a)
b = input("幸运数:\n")
b = int(b)
if b == a:
幸运数字为:"+str(a)+",默契十足")
if b != a:
幸运数字为:" + str(a) + ",很遗憾,没猜中"

14.C

程序与设计_23-6-8_67


程序与设计_23-6-8_68



15.D

程序与设计_23-6-8_69


编程

1.


程序与设计_23-6-8_70


father = float(input("请输入父亲的身高:\n"))
mother = float(input("请输入母亲的身高:\n"))

son = (father + mother) * 0.54
print("预测儿子身高:",son)

运行

程序与设计_23-6-8_71


2.


程序与设计_23-6-8_72


steps = int(input("请输入当天行走的步数!\n"))
kll = steps * 28
print("今天共消耗卡路里: "+str(kll)+"(即"+ str(kll/1000)+"千卡)")

运行

程序与设计_23-6-8_73



5-15

s = "入门入土"
a = s[len(s)-1]
print(a)

运行

程序与设计_23-6-8_74


s = "入门入土"
a = s[::1]
print(a)

运行

程序与设计_23-6-8_75


s = "摸鱼划水"
a = '摸' in s
print(a)
print(type(a))

运行

程序与设计_23-6-8_76


s = "摸鱼划水"
a = list(s)
print(a)
print(type(a))

运行

程序与设计_23-6-8_77


list = [3.14,1,7,4,5,9,8]
print(sorted(list))

运行

程序与设计_23-6-8_78


s = "青灯古酒"
print(sorted(s))

运行

程序与设计_23-6-8_79


list1 = [3.14,1,7,4,3.12,5,9,0]
# list2 = [4,2,1]
list2 = ['摸鱼','划水']
print(list1 + list2)

运行

程序与设计_23-6-8_80


list1 = [3.14,1,7,4,3.12,5,9,0]
# list2 = [4,2,1]
# list2 = ['摸鱼','划水']
a = reversed(list1)
print(a)

运行

程序与设计_23-6-8_81


list1 = [3.14,1,7,4,3.12,5,9,0,True,'yiersan']
a = reversed(list1)
for i in a:
print(i,end=',')

运行

程序与设计_23-6-8_82


5-22

list = [100,3.14,'字符串',range(10),[1,2,3]]

empty = []
print(len(empty))

运行

程序与设计_23-6-8_83


a = list('list')
print(a)

运行

程序与设计_23-6-8_84


a = list('字符串')
print(a)

运行

程序与设计_23-6-8_85


a = list('字符串')
del a
print(a)

运行

程序与设计_23-6-8_86


list = [100,3.14,'字符串',range(10),[1,2,3]]
print(list[-1])

运行

程序与设计_23-6-8_87


list = [100,3.14,'字符串',range(10),[1,2,3]]
# print(list[-1])
a = list[0:len(list):2]
print(a)

运行

程序与设计_23-6-8_88


list = list(range(10))
for index,item in enumerate(list):
第",index+1,"个元素,值为",item)

运行

程序与设计_23-6-8_89


list = list(range(0,10,2))
print(list)

运行

程序与设计_23-6-8_90


list = list(range(0,10,2))
list1 = ["你好","Python"]
list = list.append(list1)
print(list)

运行

程序与设计_23-6-8_91


list = list(range(0,10,2))
list1 = ["你好","Python"]
list.append(list1)
print(list)

运行

程序与设计_23-6-8_92


list = list(range(0,10,2))
list.insert(0,-1)
print(list)

运行

程序与设计_23-6-8_93


list = list(range(0,10,2))
list.insert(3,-1)
print(list)

运行

程序与设计_23-6-8_94


list = list(range(0,10,2))
list[0:3:1] = [1,2,3]
print(list)

运行

程序与设计_23-6-8_95


list = list(range(0,10,2))
del list[2]
print(list)

运行

程序与设计_23-6-8_96


list = list(range(0,10,2))
list.remove(6)
print(list)

运行

程序与设计_23-6-8_97


list = [6,1,2,6,5,9,6]
list.remove(6)
print(list)

运行

程序与设计_23-6-8_98


列表
概念:一系列特定顺序的元素来组成的,是python中内置的可变序列
格式:所有元素放在[]中,元素之间用,间隔
内容:整数 小数 字符串 实数 列表 元组 字典 自定义的对象 内置对象
特点:灵活
列表的创建
使用赋值运算符创建列表
listneme = [element1,element2,...,element n]
元素只要是python支持的元素就可
注意:一般情况下,一个列表只放一种数据类型的元素,可以提高程序的可读性
创建空列表
emptylist = []
创建数值列表
list(data)
一般就是各种序列
创建指定长度的列表
删除列表
语法:del listname
补充:python有一套垃圾回收机制,会自动销毁不用的对象
访问列表
通过索引访问
通过切片
遍历列表
遍历:依次取出序列中每个元素,执行一定操作
循环遍历
格式:
for item in listname:
的操作
使用for循环和enumerate()
格式1:
for index,item in enumerate(list):
的操作
格式2:
for var in enumerate(list):
输出格式:(index,item)
添加元素
使用列表的相加
listname = list1 + list2
使用append()函数
格式:listname.append(obj)
向原列表最后添加一个元素
使用extend()函数
格式:listname.emtend(list)
将一个列表追加到原列表当中,类似于列表相加
使用insert()函数
格式:listname.insert(index,obj)
向指定索引位置添加元素,指定位置及后面元素索引+1
修改元素
通过索引
通过切片
删除元素
通过索引
格式:del listname[index]
通过值删除元素
list.remove(obj)
删除第一个值为obj的元素


标签:10,0000,程序,list,字符串,print,设计,运行
From: https://blog.51cto.com/u_16018846/6437686

相关文章

  • 阅读笔记之《程序员修炼之道-从小工到专家》八
    第41节注重实效的团队1、书籍的前几章讲了几条如何成为注重实效的开发者的建议,当然他们也对团队有所帮助,如果个体都是注重实效的,那他对整体起的作用更大。2、不要留破窗户:作为整体的团队更不应该容忍代码质量的问题,不规范的不在乎质量的团队,很有可能把那些注重实效的开发者带偏......
  • 阅读笔记之《程序员修炼之道-从小工到专家》九
    第46节傲慢与偏见1、注重实效的程序员不会逃避责任,相反,我们乐于接受挑战,乐于使我们的业务知识广为人知。2、过去时代的手艺人为能在他们的作品上签名而自豪,你也应该如此。SignYourWork.3、KentBeck在极限编程(XP)里的建议是采用公共的代码所有权,其还要求了结对编程,以防匿......
  • 阅读笔记之《程序员修炼之道-从小工到专家》六
    第30节黑板1、设想侦探破案的过程,他借助于一块黑板,把不同线索写出来;其他侦探也可以写下自己的推断和已掌握的案情细节。所有这一切串联起来将共同帮助案件侦破,但不同的线索之间是可以独立进行的。2、这里的黑板可以抽象为一种处理事件的模型。不同于原始的工作流需要考虑各种状......
  • 阅读笔记之《程序员修炼之道-从小工到专家》七
    第36节需求之坑从本节开始进入了第七章节:在项目开始之前。本章节讨论了在项目开始之前的一些建议。1、完美,不是在没有什么需要增加,而是在没有什么需要去掉时达到的。这句话的一种解读时,不要搜集需求,需求太多,容易让我们抓不住重点,更应该深挖需求,围绕核心功能不断打磨。2、挖掘......
  • 程序员如何成长
    做技术是打怪兽不是养宠物,为什么要打怪兽?因为难;为什么难很重要?因为难的事情才能带来成长;为什么要成长?承认吧,因为「如何成长」是当代人,包括你我他在内焦虑的源泉。过去几个月内我在写一系列主题为「NodeJS实战」的文章,内容来源是过去两年独自开发和运维site2share网站的经验,本篇......
  • 实验二 最速下降法程序设计
    一、实验目的通过最速下降法的程序设计,为今后的约束优化方法的学习和编程奠定基础;掌握负梯度方向的定义和最速下降法的迭代公式;通过此次实验,进一步巩固最速下降法的基本原理和思想。二、实验内容(1)求解无约束优化问题:(2)终止准则取;(3)完成最速下降法(负梯度法)的MATLAB编程、调试;(4)......
  • 移动应用架构新思路——WePY+小程序容器
    WePY(微信小程序开发框架)是一个基于组件化开发思想的微信小程序开发框架。它类似于Vue.js框架,通过封装小程序原生的API,提供了更加简洁、高效的开发方式。WePY的主要特点包括:组件化开发:WePY将页面拆分为多个组件,每个组件有自己的样式、模板和逻辑。这种组件化的开发方式能够提高......
  • 小程序容器与PWA是一回事吗?
    PWA代表“渐进式网络应用”(ProgressiveWebApplication)。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验,包括离线访问、推送通知、后台同步等功能,同时又具有网页的优势,如跨平台、无需下载安装等。PWA使用现代的Web技术来创建应用程序,......
  • 微信小程序中的基础语法
    微信小程序中的基础语法微信小程序是一种轻量级的应用程序,它具有简单、高效、易用等特点。在学习微信小程序开发的过程中,了解其基础语法非常重要。本文将介绍微信小程序中的基础语法。1.WXMLWXML是微信小程序的模板语言,类似于HTML。WXML与HTML的语法很相似,但是WXML更加轻量级,支持......
  • Python设计模式-01工厂模式
    工厂模式工厂模式(FactoryPattern)是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需指定将要创建的对象的确切类。工厂模式通过定义一个工厂接口来创建对象,让子类决定实例化哪个类。这样可以将对象的创建与使用分离,从而降低系统的耦合度。工厂模式包含三种角色:具体工......