C++程序员学Python

开个新坑hhh,为了摸游戏AI,学了点Py,做了点笔记。

第二章.变量和数据类型

1.注释语句前用#:

#这是注释

如果加入注释后报错就在文件开头加一条

#coding:utf-8

2.常用于大小写函数:

  • upper() : 全大写
  • lower() : 全小写
  • title() : 首字母大写

如:

print('am'.upper())

输出:AM

  1. 清除字符串空白函数:

    • lstrip()--rstrip():对应清除左/右空白
    • strip():清除两边空白
  2. 字符串用+合并,数字变字符串用str(number),字符串既可用双引号 '' ,也可用单引号 '

    如:

    print("He has "+str(10)+' apples.')
  3. 变量名只能包含字母,数字,下划线,可以以字母和下划线开头,不能以数字开头,避免用关键字命名

第三章.列表

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] + ')' #用于复制列表

  1. number_1和number_2不填分别代表从列表首位开始和到末位结束
  2. number_1 : 从索引为number_1的数开始
  3. 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语句

  1. if else后面条件判断结束时需加上 ':' 冒号,下面缩进的代码当条件成立时均会执行
  2. ' else if ' 在python中变成了 ' elif ',else语句可省略,也可直接多条if语句而不用其他二者
  3. '&&' 和 '||' 在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的更多相关文章

  1. 【C++程序员学 python】python 之变量

    既然学过C++,那么就应该知道变量是什么,常量是什么. python 相比于C++,在使用变量之前不用先声明. 而是直接使用,python 会根据你的变量自动识别其类型. 假如a = 123 那么a ...

  2. 【C++程序员学 python】python 的文件类型

    python的文件类型主要分为3种,分别是源代码.字节代码和优化代码.这些代码都可以直接运行,不需要进行编译或者连接.这正是python语言的特性,python的文件通过python.exe 或pyt ...

  3. 【C++程序员学 python】python 之奇葩地方

    一.python 奇葩之一:没有花括号.没有分号 先来一个C类型的函数 void main() { int i = 0; for(int j = 0; j< 6;j++) { i = i +j; ...

  4. 【C++程序员学 python】python 之helloworld

    我学习C语言之后才学的C++,所以这里写一个简单的helloworld程序. #coding:utf-8 def main(): print "hello world" if __ ...

  5. 【C++程序员学 python】python split and join 分割与合并

    感觉这名字有点不对,但不知道用什么好,就将就吧. 坑爹啊,居然要把符号放在前面.

  6. 给Lisp程序员的Python简介

    给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Pyth ...

  7. .Net程序员学用Oracle系列(1):导航目录

    本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...

  8. .Net程序员学用Oracle系列(2):准备测试环境

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...

  9. .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...

随机推荐

  1. Web前端安全之利用Flash进行csrf攻击

    整理于<XSS跨站脚本攻击剖析与防御>—第6章 Flash在客户端提供了两个控制属性: allowScriptAccess属性和allowNetworking属性,其中AllowScrip ...

  2. 解决seajs ie8 对象不支持charAt 属性。

    在使用 seajs做项目,今天偶然发现在ie9以下的ie版本会 报出 对象不支持charAt 属性.刚开始还以为是自己写的js部分出了问题,经过几个小时的奋战.最终找到了其根源.在sea-debug. ...

  3. opencv::调整图像亮度与对比度

    图像变换可以看作如下: - 像素变换 – 点操作 - 邻域操作 – 区域 调整图像亮度和对比度属于像素变换-点操作 //创建一张跟原图像大小和类型一致的空白图像.像素值初始化为0 Mat new_im ...

  4. ride.py打不开RF,而是打开pycharm

    标题中问题的解决方式: 进入到E:\soft\Python\Python36\Scripts,选中ride.py右键-打开方式选择python即可

  5. 解析fiddler返回的部分数据。

    1.通过抓包获取的数据,里面包含的哪些内容是需要我们去关注的? 2.首先上图. 3.图片说明: 此图片中是利用豆瓣API提供的接口实现返回数据.内容与抓包返回的内容格式一致 url:https://a ...

  6. MyBatis之启动分析(一)

    前言 MyBatis 作为目前最常用的持久层框架之一,分析其源码,对我们的使用过程中可更好的运用它.本系列基于mybatis-3.4.6进行分析. MyBatis 的初始化工作就是解析主配置文件,映射 ...

  7. 你必须知道的容器监控 (2) cAdvisor

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇我们了解了docker自带的监控子命令以及开源监控工具Weave Scop ...

  8. electron打包分发

    原始的方式打包 下载对应的版本号的Release Electron 然后把对应的项目方便整理成这样的目录结构(Windows下) node_modules重新安装,不然可能启动失败 把整文件夹给别人就 ...

  9. 不想用锐捷怎么办?锐捷出问题|锐捷不能用怎么办?用menohust代替吧

    首先获取 MentoHUST(代替锐捷网络认证客户端) V4.1.0.2001 绿色免费版 解压到任意目录 用管理员身份 启动  安装&卸载 .bat(右键用管理员运行)  这个文件可能乱码了 ...

  10. webpack中如何使用图标字体

    1.webpack安装相关依赖 $ npm install font-awesome-webpack less less-loader css-loader style-loader file-loa ...