聪明办法学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的库能让很多操作变方便