python开发

一、变量

  1. 变量

  • 指在程序执行过程中,可变的量;
  • 定义一个变量,就会伴随有3个特征,分别是内存ID、数据类型和变量值。
  • 其他语言运行完之前,一定要手动把程序的内存空间释放掉。但python解释器是自带内存回收机制的,一旦python程序运行完后,会自动释放内存空间。
age=10
print(id(age),type(age),age)
View Code

 

  1. 常量

  • 指在程序执行过程中,不可变的量;
  • 一般都用大写字母定义常量。
AGE=10
print(AGE)
View Code
 
  3. 变量的命名方式

 
  • 驼峰体
AgeOfOldboy=72
View Code
  • 下划线
age_of_oldboy=72
View Code
 
二、与程序交互

  
    古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,然后他去进行验证等成功后,我们再将取款金额输入、告诉他。
    骄傲的现代人,会为客户提供一台ATM机(就是一台计算机),让ATM机跟用户交互,从而取代人力。然而机器是死的,我们必须为其编写程序来运行,这就要求我们的编程语言中能够有一种能与用户交互,接收用户输入数据的机制。
  1. python3

  • python3默认支持UTF-8中文编码。python2需要添加# -*- coding:utf-8 -*-在代码头部。
  • python3中input,不管输入什么类型的值都被存成str(字符串)类型
name=input('please enter the username: ')
print(id(name),type(name),name)
View Code

 

  1. python2

  • python2中raw_input跟python3中input一样;
name=raw_input('please enter the username: ')
print(id(name),type(name),name)
View Code

 

  • python2中input,必须输入值,这个值是什么类型就会被存成什么类型。
name=input('please enter the username: ')
print(id(name),type(name),name)
View Code
 
三、数据类型

  1. int整型

  • 一般用于定义年龄、身份证号、qq号、等级等
age=18
id=130530198805240011
qq=379048558
level=99
View Code

 

  1. float浮点型

  • 一般用于定义身高、体重、薪资等
height=1.81
height=float(1.81)
 
View Code

 

  1. str字符串型

  • 一般用于定义人的名字、性别、状态等;
  • 一般字符串放在单引号、双引号、三引号中。
name='egon'
sex='female'
age=18
 
View Code

 

  • 字符串拼接用"+"
name='egon'
sex='female'
age=18
print(name+sex+str(age))
注:这里的age变量值为18,是int整型不能作字符串拼接,需使用str(age)来转换成字符串类型。
View Code

 

  • 字符串拼接用"*"
name='egon'
print(name*10)
View Code

 

  1. bool布尔值型

  • 只有True和False两个值;
  • 多用于作判断。
age=73
AGE=18
print(age < AGE)
print(age > AGE)
View Code

 

  1. 各类型相互转换

  • 整型——>浮点型
a=18
print(float(a))
View Code

 

  • 浮点型——>整型
a=1.81
print(int(a))
View Code

 

  • 浮点型——>字符串型
a=1.81
print(str(a))
View Code

 

  • 整型——>字符串型
a=18
print(str(a))
View Code

 

四、数组类型

  1. 列表[]

  • python中的列表,定义在[]内,其内元素之间使用"逗号"分隔;
info=['egon','alex',18]
print(info[2])
View Code

 

  • 元素可以是任意一种数据类型、任意一种数组类型;
  • 字符元素需要引号引起来,整型、浮点型、列表等不需要引号。
info=[13,18.1,'alex',['egon','tony']]
print(info[3][0])
View Code

 

  1. 字典{}

  • python中的字典,也叫关联数组,定义在{}内,其内元素使用项目名:项目内容格式表示,元素之间使用"逗号"分隔;
info={'name':'egon','sex':'male',3:18}
print(info[3])
View Code

 

  • 项目内容可以是任意一种数据类型、任意一种数组类型;
  • 项目内容中的字符串型需要引号引起来,整型、浮点型、列表等不需要引号。
info={'姓名':'爱根','性别':'','肌肉':['','']}
print(info['肌肉'][1])
 
info={'姓名':'爱根','性别':'','肌肉':123}
print(info['肌肉'])
 
info={'姓名':'爱根','性别':'','肌肉':18.1}
print(info['肌肉'])
 
info={'姓名':'爱根','性别':'','肌肉':''}
print(info['肌肉'][1])
View Code

 

五、格式化输出

  • my name is xxx, my age is xxx
  • 需要使用占位符%s
name=input('user_name>>: ')
age=input('user_age>>: ')
print('my name is %s, my age is %s' %(name,age))
View Code

 

六、运算符

  1. 算术运算符

  • + - * /
 
print(5+5) #5加5等于10
print(5-5) #5减5等于0
print(5*5) #5乘5等于25
print(5/2) #5除以2等于2.5
View Code

 

  • 求商整数部分// 求商余数部分% 幂**
print(5//2) #5除以2商等于2余1,只取商2
print(5%2) #5除以2商等于2余1,只取余数1
print(3**2) #3的2次幂是3乘3等于9
View Code

 

  1. 比较运算符

  • > < >= <= == !=
print(30 > 20)
print(30 < 20)
print(30 >= 30)
print(30 <= 30)
print(30 == 30)
print(30 != 40)
View Code

 

  1. 逻辑运算符

  • 逻辑与and 逻辑或or 逻辑非not 按位与& 按位或|
  • 逻辑与and,必须满所有条件,结果才为True;
  • 逻辑或or,只需满足一个条件,结果就为True;
  • 逻辑非not,结果取反。
name='egon'
age=18
print(age > 15 and name == 'egon')
print(age > 15 or name != 'egon')
print(not age > 15)
View Code

 

先展示下效果 https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小,其中每个变量的取区间都是 [-1, ...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值