个人学习笔记总结,基于Java学习基础,做出一些记录和对比,欢迎指教
运算符:
between可以用 0<= I <= 10 这样表示就行了,不用&&
乘方 3 ** 4 即3 * 3 * 3 * 3
E表示10的幂, 例52.3E-4表示 52.3 * 10 ^ -4
>>右移 <<左移
break 和 continue
break 语句用以中断(Break)循环语句,也就是中止循环语句的执行,即使循环条件没有变更为 False,或队列中的项目尚未完全迭代依旧如此。有一点需要尤其注意,如果你中断了一个 for 或 while 循环,任何相应循环中的 else 块都将不会被执行。
continue 语句用以告诉 Python 跳过当前循环块中的剩余语句,并继续该循环的下一次迭代 member= [‘a’, ‘b’, ‘c’, ‘d’] for I in member: print( i+ bytes(len(member)))
除法 // 地板除整除,算出来的是除法取整
布尔值 True False (开头字母必须大写)
not 非 and 与 or 或 (布尔中) in, not in, is, is not
& 与 | 或 ^ 异或 ~ 取反 都为二进制用法
运算优先级由高到低 幂运算** -- 正负号 – 算数操作符 – 比较操作符 – 逻辑运算符
条件表达式(三元操作符/三目操作符) 例: small = x if x<y else y 如果x<y赋给small x值,否则赋y
控制流:
if 条件: elif条件: else: 与java相比,这里的else if写做elif
while 条件:
for i in range(1, 5): print(i)
Python的for循环会自动调用iterator的next()方法,自动捕获stopIteration的异常
range() 里面可以有一个两个三个变量 for i in range(5): 会输出01234 例:fori in range(1, 5): 会输出1234,for i in range(1, 5, 2): 会输出1, 3
另外需要注意的是,range() 每次只会生成一个数字,如果你希望获得完整的数字列表,要在使用 range() 时调用 list()。例如下面这样:list(range(5)) ,它将会返回 [0, 1, 2, 3, 4]
输入输出:
这里主要说一下 input()和raw_input()
这两个函数均能接收 字符串
raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)
对于 input() ,它希望能够读取一个合法的 python 表达式,当使用input( )时必须用 “”把输入的字符串括起来,否则会报错NameError : name xxx is not defined
raw_input() 将所有输入作为字符串看待,返回字符串类型
input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。如input( 1 + 3 ) 会返回 int 型的 4
查看 Built-in Functions ,得知:
input([prompt])
Equivalent to eval(raw_input(prompt))
input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。
不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
文件 (输入 处理 输出)
文件对象保存在f里面 f = open(路径,打开模式) 来打开文件 返回文件对象
打开模式 r 只读 w写入并覆盖原文件,a写入模式打开若文件已存在则在末尾追加写入
f.close( )关闭文件 f.read(size = -1)从文件读取size个字符,未给定时读取剩余所有字符作为字符串返回f.readline( )以写入模式打开,若文件存在,则在末尾追加写入 f.tell( ) 返回当前在文件中的位置
With语句 当你忘记关闭文件的时候可以帮你自动关闭 比如 f = open(‘file’, ‘w’) 改为 with open(‘file’, ‘w’) as f: