聪明办法学python

发布时间 2023-11-21 19:28:26作者: Rahull

聪明办法学python

Chap 1 启航

第一行代码(hello, world)

print("hello, world")

hello, world

注释 COMMENT

  • 单行注释,使用#开头,#后面的内容不会被当作代码,只能写在一行中
print("Datawhale") #for the learner,

Datawhale

# learn python the smart way v2
print("p2s")
# print("prepare to be smart")

p2s

  • 多行注释,使用'''或者“”“包裹起来(头和尾都是3个),单引号(‘)与双引号(”)在Python中并无太大区别
print("人生苦短,我用 Python")
'''
Python is powerful ... and fast;
plays well with others;
runs everywhere;
is feirndly & easy to learn;
is Open.
'''

人生苦短,我用 Python

注释的作用:

  • 注释主要是用于对代码进行解释和说明,可以提升代码的可读性
  • 注释并不会被当作代码处理 # magic comment 除外

基础的控制台输出 BASIC CONSOLE OUTPUT

print("Datawhale")

Datawhale

f(x)类比print()

print -> f;

(x) -> ("Datawhale");

x(参数)-> "Datawhale" 字符串 String

print() 的作用是将填入的内容显示在Console中,默认每次输入后会换行(等价于按了一次回车,或者\n

控制结尾的参数是end

print("Data")
print("whale")

Data

whale

print("Data",end="") #end=""代表换行为空,不换行
print("whale")

Datawhale

print()一次也可以输出多个内容,默认以空格分隔

控制分隔的参数是sep

print("Data", "whale")

Data whale

print("Data", "whale", sep="*")

Data*whale

甚至可以做加法乘法

print("p2s"*2,"data"*3,sep="/"*4)

p2sp2s////datadatadata

print("Data"+"whale"+"p2s")

Datawhalep2s

一些更好玩的做法

x = 1
y = 2
print(f"一个简单的数学问题:\"{x} + {y} = ?\",答案是 {x+y}!")

一个简单的数学问题:“1 + 2 = ?”,答案是 3!

这是一个f-string。

作用是在字符串前加一个f,就能在字符串中用{ }表示前面提到的一些内容。

一次性输出多行

print("""
Python is powerful...and fast;
plays well with others;
""")

Python is powerful...and fast;
plays well with others;

错误 Error

  • 语法错误 Syntax Errors,不符合语法规范,代码根本没有开始运行
print("哦不!) #缺少结尾引号
  • "运行时"错误 Runtime Errors,代码在运行过程中出错,也就是常说的"崩溃"(Crash)
print(1/0) #0 作为被除数
  • 逻辑错误 Logical Errors,代码能够运行,且运行过程中没有出错,但是不是想要的结果最难以查找的错误
print("2+2=5") #算错了

基础的控制台输入 Basic Console Input

input() 可以接收Console的输入,并以字符串的形式返回,你可以给定个字符串参数,它会先输出到Console,在接收输入

name = input("输入你的名字:")
# 要接收用户的输入,但在用户输入前先输出什么东西给他,就可以放在input()里
# 把用户的所有输入会放在一个叫name的变量里
print(name)

python用的是Unicode编码,可以使用任何Unicode支持的东西,包括中文、英文、日语,甚至emoji

注意!返回的格式是字符串

x = input("输入一个数字")
print(x,"的一半等于", x/2) #Error!

错误内容:字符串(’str’)不可以和整数(’int’)相除

如何实现用户输入数字进行上述运算?

进行强制类型转换

x = input("输入一个数字") 
x = int(x) # 类型转换,将文本变为数字 # x = int(input("输入一个数字:")) 
print(x, "的一半等于", x/2)

输入一个数字10

10 的一半等于 5.0

一行输入多个值

1->a,2->b

可以在结尾加上split(),默认分隔参数是空格,可以更改,如:split(",")

a, b =input().split(",") # 这一步是在解包,读入用户输入并用,分成两个值。
print(f"a = {a}, b = {b}")

1,2

a = 1, b = 2

a, b =input().split("*") 
# 用户输入必须是“1*2”,否则无法读取
print(f"a = {a}, b = {b}")

1*2

a = 1, b = 2

导入模块

Python中有许多强大的工具箱,我们把它们叫做“库”(Library)

库需要使用import来导入,并且使用xx.yy的方式来调用

以Python内置数学库math为例:

#阶乘 factorial
import math #使用库前要先导入!
print(math.factorial(3)

6

# Euler 常数
print(math.e)

2.17828

# gcd 最大公约数
math.gcd(12,36)

总结

  • 写注释是个好习惯

  • 调整输入输出的参数来控制其呈现效果

  • 大部分错误类型可以归为:语法错误、运行时错误和逻辑错误

  • Python的库能让很多操作变方便