Python学习2

if 语句

一个例子

def f(x):
    print("A")
    if x == 0:
        print("B")
        print("C")
    print("D")

f(1)
# AD

if-else 语句 if-else statement

def f(x):
    print("A")
    if x == 0: 
        print("B")
        print("C")
    else:
        print("D")
        if x == 1:
            print("E")
        else:
            print("F")
    print("G")
f(1) 
"""
# A
# D
# E
# G
"""

if-elif-else 语句

# -*- coding: utf-8 -*-

def numberOfRoots(a, b, c):
    # 返回 y 的实数根(零点)数量: y = a*x2 + b*x + c
    d = b - 4*a*c
    if d > 0:
        return 2
    elif d == 0:
        return 1
    else:
        return 0

print( numberOfRoots(4,5,1))
print(numberOfRoots(4,4,1))
print( numberOfRoots(4,3,1))
"""
0
0
0
"""

for 循环

# -*- coding: utf-8 -*-

for x in range(1, 5):  # 注意: range(x, y) 是左开右闭区间,包含 x,不包含 y
  print(x)
  
"""
1
2
3
4
"""

for 循环嵌套

def printCoordinates(xMax, yMax):
    for x in range(1, xMax+1):
        for y in range(1, yMax+1):
            print(x, y)
printCoordinates(5, 5)  

while 循环

# -*- coding: utf-8 -*-

def leftmostDigit(n):
    n = abs(n)
    while n >= 10:
        n = n//10
    print(n)
leftmostDigit(123)
# 1

break 与 continue 语句

# -*- coding: utf-8 -*-

for n in range(200):
    if n % 3 == 0:
        continue # 跳过这次循环
    elif n == 8:
        break # 跳出当前整个循环
    else:
        pass # 啥也不做,占位符(不会被运行)
    print(n)

字符串

单引号 ' 和双引号 " 是最常见的两种字符字符串引号

print('单引号')
print("双引号")

三个引号的情况不太常见,但是它在一些场合有特定的作用(如函数文档 doc-strings)

print('''三个单引号''')
print("""三个双引号""")

字符串中的换行符号

# 这两个 print() 在做同样的事情 
print("Data\nwhale")  # \n 是一个单独的换行符号
"""
Data
nwhale
"""

字符串索引和切片

s = "Datawhale"
print(s)
print(s[0])
print(s[1])
print(s[2])
print(s[3])
"""
Datawhale
D
a
t
a
"""
print(len(s))
# 9

print(s)
print(s[-5])
print(s[-4])
print(s[-3])
print(s[-2])
print(s[-1])
"""
Datawhale
w
h
a
l
e
"""

用切片来获取字符串的一部分

print(s[0:4])
print(s[4:9])
"""
Data
whale
"""

切片的默认参数

print(s[:4])
print(s[4:])
print(s[:])
"""
Data
whale
Datawhale
"""

切片的第三个参数 step

s = 'Datawhale'
print(s[:9:3]) #每隔三个取
print(s[1:4:2]) #每隔两个取
"""
Daa
aa
"""

翻转字符串

# 可以,但是不优雅
print(s[::-1])
# elahwataD
# 也可以,但是还是不够优雅
print("".join(reversed(s)))
# 实在是太优雅辣
def reverseString(s):
    return s[::-1]

print(reverseString(s))

字符串的循环

for i in range(len(s)):
    print(i, s[i])

split() 来循环

# class_name.split() 本身会产生一个新的叫做“列表”的东西,但是它不存储任何内容

class_name = "learn python the smart way 2nd edition"
for word in class_name.split():
    print(word)
"""
learn
python
the
smart
way
2nd
edition
"""    

splitlines() 来循环

# 跟上面一样,class_info.splitlines() 也会产生一个列表,但不存储任何内容

class_info = """\
我们尝试在教程中融入更多计算机科学与人工智能相关的内容,制作“面向人工智能的 Python 专项教程”。

Prepare To Be Smart, 我们希望同学们学习这个教程后能学习到聪明的办法,从容的迈入人工智能的后续学习。
"""
for line in class_info.splitlines():
    if (line.startswith("Prepare To Be Smart")):
        print(line)

一些跟字符串相关的内置函数

str() len()

name = input("Enter your name: ")
print("Hi, " + name + ". Your name has " + str(len(name)) + " letters!")
"""
Enter your name: epsilon
Hi, epsilon. Your name has 7 letters!
"""

基础文件操作

Open() 函数

Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。

open(file, mode)函数主要有 file 和 mode 两个参数,其中 file 为需要读写文件的路径。mode 为读取文件时的模式,常用的模式有以下几个:

  • r:以字符串的形式读取文件。
  • rb:以二进制的形式读取文件。
  • w:写入文件。
  • a:追加写入文件。

不同模式下返回的文件对象功能也会不同。

file = open("chap6_demo.txt", "w")
dw_text = "Datawhale"
file.write(dw_text)
file.close()

python2.7

# -*- coding: utf-8 -*-

import io
file = io.open('math.py', 'r', encoding='utf-8')
## 通过 read 方法读取整个文件
content = file.read()
print(content)
file.close()

文件对象

open 函数会返回一个 文件对象。在进行文件操作前,我们首先需要了解文件对象提供了哪些常用的方法:

- close( ): 关闭文件

  • 在 r 与 rb 模式下:
    • read(): 读取整个文件
    • readline(): 读取文件的一行
    • readlines(): 读取文件的所有行
  • 在 w 与 a 模式下:
    • write():
    • writelines():

下面我们通过实例学习这几种方法:

# -*- coding: utf-8 -*-
## 通过 read 方法读取整个文件
import io
file = io.open('math.py', 'r', encoding='utf-8')
## 通过 read 方法读取整个文件
content = file.read()
print(content)
file.close()
## 通过 readline() 读取文件的一行
content = file.readline()
print(content)

注意每次操作结束后,及时通过 close( ) 方法关闭文件

## 以 w 模式打开文件chap6_demo.txt
file = open('chap6_demo.txt', 'w')
## 创建需要写入的字符串变量 在字符串中 \n 代表换行(也就是回车)
content = 'Data\nwhale\n'
## 写入到 chap6_demo.txt 文件中
file.write(content)
## 关闭文件对象
file.close()

w 模式会覆盖之前的文件。如果你想在文件后面追加内容,可以使用 a 模式操作。

## 以 w 模式打开文件chap6_demo.txt
file = open('chap6_demo.txt', 'w')
## 创建需要追加的字符串变量
content = 'Hello smart way!!!'
## 写入到 chap6_demo.txt 文件中
file.write(content)
## 关闭文件对象
file.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值