python第一篇(有部分与java的对比内容)
1.基本数据类型:在python3之后可以直接分为数字和字符串两种,而数字就是int类型的,连之前Python2中的long类型都合并了。另外还有bool类型,True,False
2.定义变量:不像java中要先定义变量类型int a=12;
python可以直接a=12这样来保存,如果想保存字符串加上“字符串”这样就可以了。
如果没有加引号,变量赋值也不是数字,就会报错了
对于字符串的定义,可以使用双引号“” 单引号 ‘’ 三引号‘’‘’‘’ 单引号和双引号可以互相包含,三引号表示这是一个段落可以包含换行单引号,双引号等各种内容
3.字符串运算
这是我自己起的名字,仅仅表示字符串和加法和乘法中的应用。+表示拼接 *表示重复N次
name1="Bob"
name2="Tom"
print(name1+name2)如果是name1*3输出结果是BobBobBob这里在java中是没办法做到的,强
4.列表
列表的类型class=list,但是在java中其实就是数组
定义 names=["Tom","Bob"] 使用names[index]来取值就可以了,与java不同,这里可以是负数,names[-1]表示取出倒数第一个元素Bob
列表操作:插入names.insert(index,value)这里不能插入到最后,因为insert表示在当前index前插入,最后一个元素后面没有了要用追加,
追加names.append(value),
删除del names[index]可以为负数index,
修改names[index]=value,
查询value in names会返回true或者false,这里也可以用names.index["Bob"]查询并且返回index然后可以对该元素定位后操作 names[names.index["Bob"]]="Jerry"这个就可以吧查询到的index再传入数组下标,并重新赋值
如果查询不到这个元素,会爆异常ValueError,所以这个再使用的时候最好进行异常捕获
5.算数运算
+ - * /
%取模 用途最多的地方就是奇数偶数判断X%2==0偶数,
//是一个求整数商的运算,比如9//2结果是4
**表示幂运算比如2**3结果是8
6.比较运算
== > < >= <= !=
7.赋值运算
+= -+ *= %= /=
8.逻辑运算
and or not 判断多个条件与或非的结果是True或者False
9.输入函数
value=input("提示信息")
这里和java不一样,java中用scanner.nextString();或者nextInt()等来控制输入的值类型,python中所有输入都默认为str类型,使用int(value)或者float(value)来做类型转换,如果输入True或者False,可以直接当做bool类型来使用
10.打印函数
print(value)
可以用占位符将多个值进行关联%s表示一个占位符print("name: %s, age: %s, sex: %s" % (name,age,sex))得到的结果就是name: Tome, age: 12, sex: male这样。java中也可以用%s占位符另外还可以用%d表示必须是数字站位
11.流程控制
if 条件:...
if 条件:...else:...
if 条件:...elif 条件:...elif 条件:...else:...
与java不一样,java中if(){}else if(){}else{}
12.while循环
while 条件:循环体中最好加上能使条件不成立的运算内容
13.break和continue
break跳出当前循环也就是说本来1-100次可能50次break了那后面51-100次不执行,continue是终止本次循环,直接开始下一次50次continue后面的代码不再执行,直接进行第51次。
while和else居然可以一起用 while 条件:...else...表示如果循环是正常执行结束会执行else如果程序中遇到了break了,条件一定还是成立的,这个时候else不会执行。java中是不能这样用的
14.变量创建和垃圾回收
变量创建后会对应一个内存地址,如果给变量取一个名字,就会有一个指向该内存地址的变量名。如果修改了这个变量的值,其实会将这个变量指向另外一个地址,那之前的变量就变成了“孤魂野鬼”一段时间后。Python的垃圾回收器就会把他销毁
如果name1="Bob" name2=name1 name2="Jerry" 这个时候,name1还是Bob,name2变成了Jerry,Bob也不会变成垃圾被回收,因为name仍然在指向他
如果name1="Bob" name2=name1 name1="Jerry" 这次name1变成了Jerry,但是name2仍然是Bob。因为在name2=name1的时候其实是将name2指向了Bob所在的内存地址,修改name1的值仅仅是将name1指向了新的地址,不会影响到name2
15.身份判断is 和is not用来判断变量是不是字符串
type(name) is str
type(value) is int
type(value) is float
16.None这个就和java中的Null差不多
也可以用name is None做条件判断。可以用在比如一些值是从其他地方获取的,或者是预备使用的变量,暂时不知道值,可以先定义name = None留着后面用,用之前判断一下,如果是None做什么操作。。。
17.三元表达式
a=值1 if 条件 else 值2 表示如果条件成立a赋值1否则赋值2 这里要用到if else比java感觉难写一点java中是 条件?执行1:执行2 表示成立执行1不成立执行2