Java程序员初学python
- python编程没有代码块,严格缩进
- python的常用数据类型,整型、浮点型和字符串
- python的字符串习惯用单引号(‘)来包围
字符串连接:'abc' + 'edf'
(合法),'abc' + 1
(不合法,与java不同,需要显示将整数转为字符串)
字符串复制:'abc' * 3
(将abc复制三次,并返回新的字符串,复制次数只能为int) - 变量赋值(最简单粗暴的做法
paramName = value
)
例如:str = ‘abc’, 不需要声明,且没有类型限定,也就是说str可以被重新赋值(在python里叫’覆写’)为非字符类型 - python变量名区分大小写
- python中的注释:# 文字文字文字
- 打印函数:print() (如同java里的syso)
- 输入函数:input()
可接受用户输入的文本 (如 userInputStr = input(), 输入后回车继续执行,括号内可以加入提示用户输入的信息,但返回值只包含用户输入的文本) - len()函数
如果javascript中的length,接收字符串返回长度,接收列表、元组返回size,接收字典返回键值对个数 - 数据类型转换str()、int()和float()
各自接收其他数据类型的值,可以分别转换为字符串、整型、浮点型 - python3里的比较操作符跟java里的一样
- 数值型的值永远不等于字符串的值
- python里的布尔操作符为and、or、not(能够分别对应java中的&& 、||、!)
- 两个布尔值分别为True和False
- 控制流语句
- if、elif、else
python的控制流语句与java不同的地方之一就是写法不同:
以if/else为例:
flag = True
if flag :
print ('The flag is ' + str(flag))
可以看到循环条件不用括号包裹,循环体不用大括号包裹,两者以冒号(’:’)分割,循环体要缩进
- while循环
功能与其他语言一样,用法也是同if一样
flag = 1
while flag < 3:
print ('The flag is ' + str(flag))
flag = flag + 1
跳出循环也是用break和continue
- for循环和range()函数
先说一下range函数,range()最多可以传三个参数,都是整数:
range(end):从1开始步长为1,一直到end值结束,不包含end
range(start,end):从指定的起始位start开始,步长为1,到end结束,不包含end
range(start,end,step) :从start开始,间隔位step,到end结束,不包含end
所以有了range函数,结合for就能实现循环了:
for i in range(10):
print (i)
- 类真和类假值
有些值,在条件表达式中会默认True和False
0、0.0、‘’(空字符串)、空列表、空元组、空字典都认为是False,其他值被认为是True - 导入模块
python提供了一组基本的函数,称为内建函数。但也有一些其他函数在标准库的其他模块中,需要我们导入,例如导入random模块
import random
- 函数
- 定义
定义一个函数并调用它:
def computeSum2Num(num1 ,num2):
sumValue = num1 + num2
print (str(num1)+'+'+str(num2)+'='+str(sumValue))
return sumValue
computeSum2Num(1,2)
和JavaScript函数的定义类似,不过用def来定义
- None值
None值表示没有值,类似与java中的null
没有返回值的函数赋值给一个变量时,这个变量就是None值 - 关键字参数
就是在调用函数时,指明哪个参数是什么值:
例如刚才的computeSum2Num
函数,我们这样来调用computeSum2Num(num2=2,num1=3)
同样也能执行,这种方法不用考虑参数的顺序 - 名称相同的局部变量和全局变量
局部变量如果和全局变量名称相同,那么在局部也只会调用局部变量,如果要在局部修改名称相同的全局变量,需要在局部声明此变量为global:
def xx():
global num1
num1 = 20
num1=10