C++程序员学Python
C++程序员学Python
开个新坑hhh,为了摸游戏AI,学了点Py,做了点笔记。
第二章.变量和数据类型
1.注释语句前用#:
#这是注释
如果加入注释后报错就在文件开头加一条
#coding:utf-8
2.常用于大小写函数:
- upper() : 全大写
- lower() : 全小写
- title() : 首字母大写
如:
print('am'.upper())
输出:AM
清除字符串空白函数:
- lstrip()--rstrip():对应清除左/右空白
- strip():清除两边空白
字符串用+合并,数字变字符串用str(number),字符串既可用双引号 '' ,也可用单引号 '
如:
print("He has "+str(10)+' apples.')
变量名只能包含字母,数字,下划线,可以以字母和下划线开头,不能以数字开头,避免用关键字命名
第三章.列表
1.列表简述
类似数组,内容可修改
names=['AM','Hong','ZL']
print(names) #['AM','Hong','ZL']
print(names[0]) #AM
print(names[-1]) #ZL
#从0递增为正序,以-1递减为逆序
2.修改,增加,插入,删除列表元素
Games=['GTA','LOL','CS']
Games[0]='GTA5' #修改列表元素,['GTA5','LOL','CS']
Games.append('COC') #在列表末尾增加元素,['GTA5','LOL','CS','COC']
Games.insert(0,'WOW') #在列表第n处插入元素,['WOW','GTA5','LOL','CS','COC']
del Games[0] #直接删除列表第n个元素
game=Games.pop(3) #删除第n个元素并且返回值为该元素
Games.remove('CS') #删除在列表中第一个值为'xx'的元素
第四章操作列表
1.遍历
格式:for+变量名+in+列表+':'
仅循环体里面的内容需要缩进
Prices=[1,2,3]
for Price in Prices:
print(Price)
print(Price*2)
2.创建数值列表
range(x,n) : 生成从x开始到n-1为止的一串数字
range(x,n,a) : 生成从x开始到n-1为止,间隔大小为a的一串数字
min(列表名),max(列表名),sum(列表名) :可快速找出或算出常用数字
Price=list(range(1,4)) #相当于[1,2,3]
#可用list将range生成的一串数字变成列表
Prices=[]
for value in range(1,4):
price=value**2
Prices.append(price)
Prices=[value**2 for value in range(1,4)]
#上面两个列表是一样的,只是后者采用了列表解析,使得步骤简化
3.使用列表的一部分
切片的使用:'(' + 列表名+[number_1 : number_2] + ')' #用于复制列表
- number_1和number_2不填分别代表从列表首位开始和到末位结束
- number_1 : 从索引为number_1的数开始
- number_2 : 复制接下来的总共number_2个数
Players=['AM','BM','CM','DM','EM']
New_Players=[]
print(Players[0:3])
print(Players[:3]) #均输出['AM','BM','CM']
print(Players[2:])
print(Players[-3:]) #均输出['CM','DM','EM']
print(Players[:])
print(Players) #均输出['AM','BM','CM','DM','EM']
New_Players=Players #使New_Players也指向Players的列表,二者指向同一个
New_Players=(Players[:]) #使New_Players指向一个和Players的列表一样的新列表,二者分别指向各自的
4.元组
格式:列表名=(列表元素。。。)
用法与列表类似,但不同的是元组内容不可修改,且是括号
game=('GTA5','Gta6')
game[0]='GTA4' #修改元组,非法,会报错
game=('GTA6','Gta7') #直接给元组变量赋值,合法
print(game)
第五章if语句
- if else后面条件判断结束时需加上 ':' 冒号,下面缩进的代码当条件成立时均会执行
- ' else if ' 在python中变成了 ' elif ',else语句可省略,也可直接多条if语句而不用其他二者
- '&&' 和 '||' 在python 中分别变成了 'and' 和 'or' , '==' 与 '!=' 仍存在
Players=['AM','BM','CM','DM','EM']
Players2=[]
if Players:
for player1 in Players:
if player1 == 'AM':
print(player1)
elif player1 == 'BM': #elif语句可以不止一条
print(player1)
else:
print(player1+'.')
if 'AM' in Players: #检测特定值在不在列表中
print('AM')
for player2 in Players:
if player2 not in Players2:
print(player2)
num1=12
num2=24
if num1==12 and num2==23: #and需要二者均成立,而该条件不为真
print('right1')
if num1==12 or num2==23: #or只需要二者中一者成立,则该条件为真
print('right2')
转载标明出处:作者AMzz 博客: https://www.cnblogs.com/AMzz/
C++程序员学Python的更多相关文章
- 【C++程序员学 python】python 之变量
既然学过C++,那么就应该知道变量是什么,常量是什么. python 相比于C++,在使用变量之前不用先声明. 而是直接使用,python 会根据你的变量自动识别其类型. 假如a = 123 那么a ...
- 【C++程序员学 python】python 的文件类型
python的文件类型主要分为3种,分别是源代码.字节代码和优化代码.这些代码都可以直接运行,不需要进行编译或者连接.这正是python语言的特性,python的文件通过python.exe 或pyt ...
- 【C++程序员学 python】python 之奇葩地方
一.python 奇葩之一:没有花括号.没有分号 先来一个C类型的函数 void main() { int i = 0; for(int j = 0; j< 6;j++) { i = i +j; ...
- 【C++程序员学 python】python 之helloworld
我学习C语言之后才学的C++,所以这里写一个简单的helloworld程序. #coding:utf-8 def main(): print "hello world" if __ ...
- 【C++程序员学 python】python split and join 分割与合并
感觉这名字有点不对,但不知道用什么好,就将就吧. 坑爹啊,居然要把符号放在前面.
- 给Lisp程序员的Python简介
给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Pyth ...
- .Net程序员学用Oracle系列(1):导航目录
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...
- .Net程序员学用Oracle系列(2):准备测试环境
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...
- .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...
随机推荐
- Centos7安装及配置DHCP服务
DHCP服务概述: 名称:DHCP - Dynamic Host Configuration Protocol 动态主机配置协议. 功能:DHCP(Dynamic Host Configurati ...
- Java中Integer.parseInt和Integer.valueOf,你还傻傻分不清吗?
在Java的Integer类中,有Integer.valueOf(String s)和Integer.parseInt(String s)两个静态方法,他们都能够将字符串转换为整型,他们到底有什么区别 ...
- Hibernate HQL注入与防御(ctf实例)
遇到一个hql注入ctf题 这里总结下java中Hibernate HQL的注入问题. 0x01 关于HQL注入 Hibernate是一种ORM框架,用来映射与tables相关的类定义(代码) ...
- AWD脚本之批量mysql写shell
摘之工具包中脚本 需要安装mysqldb.windwos环境直接在https://www.codegood.com/archives/129下载MySQL-python-1.2.3.win-amd64 ...
- Web安全之CSRF漏洞整理总结
这两天整理和编写了csrf的靶场,顺便也复习了以前学习csrf的点,这里记录下学习的总结点. 0x01 关于CSRF 跨站请求伪造 CSRF(Cross-site request forgery)跨站 ...
- jquery的返回顶端的功能实现
页面很长的时候,读到最下面,需要返回顶端,则在页面最下面布局一个返回顶部的图标很有用. 具体功能是,jquey控制,向下滚动出现返回顶部图片,若滚动返回顶部或点回顶部,则图标消失. 实现效果如下图:
- opencv::直方图计算
直方图概念 上述直方图概念是基于图像像素值,其实对图像梯度.每个像素的角度.等一切图像的属性值,我们都可以建立直方图. 这个才是直方图的概念真正意义,不过是基于图像像素灰度直方图是最常见 ...
- 卡特兰(Catalan)数入门详解
也许更好的阅读体验 基本概念 介绍 学卡特兰数我觉得可能比组合数要难一点,因为组合数可以很明确的告诉你那个公式是在干什么,而卡特兰数却像是在用大量例子来解释什么时卡特兰数 这里,我对卡特兰数做一点自己 ...
- 简单多层神经网络实现异或XOR
最近在看<Neural Network Design_Hagan> 然后想自己实现一个XOR 的网络. 由于单层神经网络不能将异或的判定分为两类. 根据 a^b=(a&~b)|(~ ...
- python模块的导入详解
一:一个小问题:什么是模块? 我的理解是:有通用功能的文件的集合. 二:为什么要使用模块? 我们通常为了使自己以前写的东西保存下来,会把东西写入文件中保存下来,必要时我们把这些文件当脚本去执行,也可以 ...