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.修改字段 & 删除字段 ...
随机推荐
- numpy.rollaxis函数
numpy.rollaxis numpy.rollaxis 函数向后滚动特定的轴到一个特定位置,格式如下: numpy.rollaxis(arr, axis, start) 参数说明: arr:数组 ...
- MFC底层窗口实现
简要说明 MFC是微软的一个基础类库,如果在Windows平台上做GUI的开发,这是一个不错的选择.简单的记录MFC学习过程中的需要掌握或者后期需要查看的知识点. Windows消息机制 操作系统首先 ...
- 玩转ADB命令(ADB命令使用大全)转载
ADB是什么 Adb的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:可以看出,Android的初衷是用adb这样的一个工具来协助开发人 ...
- php 学习编译扩展
原文 : http://kimi.it/496.html 系统环境 : Ubuntu 目标 : 可以像 php 提供的内部函数一样,使用 myecho 函数 : 输出如下 : 1. 获取 php 的源 ...
- [JZOJ5775]【NOIP2008模拟】农夫约的假期
Description 在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······ 农夫约也有自己的假期呀!他要去海边度假,然而mm和 ...
- Netty源码分析之ChannelPipeline(一)—ChannelPipeline的构造与初始化
Netty中ChannelPipeline实际上类似与一条数据管道,负责传递Channel中读取的消息,它本质上是基于责任链模式的设计与实现,无论是IO事件的拦截器,还是用户自定义的ChannelHa ...
- H5 video踩坑实录
前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器.我以为很简单,没想到,这正是我踩进泥潭的开始... (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!) 一.一开始我以为直接 ...
- 简单的Dos Unity操作(debug)
使用adb命令启动Unity app,eg: adb shell am start -S -a android.intent.action.MAIN -n co.spe3d.sticker/com.u ...
- JVM三部曲之运行时数据区 (第一部)
在接下来的几天想总结下,JVM相关的一些内容,比如下面的这三个内容算是比较核心知识点了 1.运行时数据区域: 在运行时数据区里存储类Class文件元数据(方法区),对象和数组(堆),方法参数局部变量( ...
- spring cloud 2.x版本 Zuul路由网关教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...