本文共 3120 字,大约阅读时间需要 10 分钟。
>>> a = 5 + 5>>> a = a + 5>>> a += 5
>>> n = n + 5Traceback (most recent call last): File "", line 1, in NameError: name 'n' is not defined
>>> s1 = 'python'>>> alist = [1, 2, 3]>>> s1[0]'p'>>> alist[0]1>>> alist[0] = 10>>> alist[10, 2, 3]>>> s1[0] = 'P'Traceback (most recent call last): File "", line 1, in TypeError: 'str' object does not support item assignment>>> s1 = 'Python'
if 表达式1: 语句块1elif 表达式2: 语句块2else: 语句块N
**注意:**多分支只会执行一个分支
>>> [5][5]>>> [5 + 5][10]>>> [5 + 5 for i in range(5)][10, 10, 10, 10, 10]>>> [5 + i for i in range(1, 6)][6, 7, 8, 9, 10]>>> [5 + i for i in range(1, 6) if i % 2 == 1][6, 8, 10]>>> ['192.168.1.' + str(i) for i in range(1, 255)]
>>> with open('/etc/passwd') as fobj:... for line in fobj:... print(line, end='')
>>> with open('/etc/passwd', 'rb') as fobj:... while True:... data = fobj.read(4096)... if not data:... break... print(data)
>>> if -0.0:... print('yes') # 不打印
>>> if ' ': # 空格也是字符,这是非空字符串... print('yes')... yes
函数基本的写法就是将过程代码加上名字而已
fib = [0, 1]n = int(input('长度: '))for i in range(n - 2): fib.append(fib[-1] + fib[-2])print(fib)
def gen_fib(): fib = [0, 1] n = int(input('长度: ')) for i in range(n - 2): fib.append(fib[-1] + fib[-2]) print(fib)
函数定义不会执行函数中的代码,需要调用函数才会。
gen_fib()
函数执行的返回值需要用到关键字return,否则返回None
def gen_fib(): fib = [0, 1] n = int(input('长度: ')) for i in range(n - 2): fib.append(fib[-1] + fib[-2]) print(fib)a = gen_fib()print(a) # None
返回值由你自己决定,但是要合理
def gen_fib(): fib = [0, 1] n = int(input('长度: ')) for i in range(n - 2): fib.append(fib[-1] + fib[-2]) return '吃了吗'a = gen_fib()print(a) # 吃了吗
def gen_fib(): fib = [0, 1] n = int(input('长度: ')) for i in range(n - 2): fib.append(fib[-1] + fib[-2]) return fibalist = gen_fib() # 列表print(alist)print([i * 2 for i in alist])
函数需要的数据应该通过参数进行传递。如果在函数中使用了input(),表示数据只能通过键盘输入获得,这样就把数据获取的渠道限定死了。
def gen_fib(n=10): fib = [0, 1] for i in range(n - 2): fib.append(fib[-1] + fib[-2]) return fibalist = gen_fib()print(alist)print([i * 2 for i in alist])print(gen_fib(5))
模块就是一个python程序文件。模块名是文件名去除.py后的部分。自定义的模块不要和系统模块重名。
每个模块都有一个特殊的变量叫__name__,它的值有两个,一个是__main__,另一个是模块名。当程序文件直接运行的时候,它的值是__main__;当它被import导入时,间接运行,它的值是模块名。
[root@room8pc16 day04]# cat foo.py print(__name__)[root@room8pc16 day04]# cat bar.py import foo[root@room8pc16 day04]# python3 foo.py __main__[root@room8pc16 day04]# python3 bar.py foo
转载地址:http://jhnwi.baihongyu.com/