聪明办法学python-task05

发布时间 2023-11-29 23:34:18作者: 加减法+

python要点

注释

单行注释以#开头

多行注释可以用多个 # 号,还有 '''""".

程序员最讨厌的10件事:0:别人的代码不写注释

​ 1:给自己的代码写注释。

行与缩进

python最鲜明的特色就是不需要使用{},而是通过缩进来代替代码块

同一个代码块的语句必须有相同的缩进空格数

可以使用 \ 来实现多行语句

eg:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \

数字类型

int(整数)

bool(布尔)如 true

float (浮点数)如1.23;3E-2

类型Type(是的,"类型"也是种类型)

complex(复数)如1+2j

type()和isinstance()都可以判断类型

但是isinstance()比type()更具有稳健性

微信截图_20231123174253

常数

运算符

**表示次方 eg:3**2=9

/ 是浮点数除法,结果是浮点数

// 是整数除法,结果是整数,且只去除小数部分,不进行四舍五入

结合律 Associativity:

优先级加减乘除是从左往右,次方运算是从右往左

逻辑运算

短路求值

1701091023585

and都对才对,or有一个对就是对

交换顺序输出结果也可能会有所不同

1701090937089

基础语法

输出

转义符 \

使用 r 可以不让反斜杠发生转义。eg:r“hello world\n"里的\n会打印

字符串用+连接,用*重复

python的print字符串前面加f表示格式化字符串,加f后可以在字符串里面使用花括号内括起来的变量和表达式, 如果字符串里面没有表达式,那么前面加不加f输出应该都一样.

print输出默认是换行的,如果要实现不换行需要在变量末尾加上 end=""://相当于去除结尾默认的\n

# 不换行输出

print( x, end=" " )

print( y, end=" " ) print()

输出x y

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

print("data", "whale");

控制分隔的函数是sep

若想要替换或者不要输出后两个内容之间的空格,则在括号里加sep="";或者是用加号连接几个内容

print("data", "whale",sep="*");

则输出data*whale

更好玩的做法

x=1

y=2

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

*与c语言区别:不需要在输出时表明是什么类型,更简洁。

若要一次输出多行,完全按照引号里面格式来输出,则需要三个引号

eg:

print("""

DHSEAUIFHSEIUFHAF

FASEUIFHAIUFHASFEUA

FESAUIFHIASUFHAISUFH

FSAUIEFHASUIEHFESA

FASEHUIFHA

""")

输出:

DHSEAUIFHSEIUFHAF

FASEUIFHAIUFHASFEUA

FESAUIFHIASUFHAISUFH

FSAUIEFHASUIEHFESA

FASEHUIFHA

输入

基础的控制台输入

![1700479892023](C:\Users\25322\Documents\WeChat Files\wxid_xc71h7t6nm2i22\FileStorage\Temp\1700479892023.png)

input也可一次输入多个值

可以在结尾加上split(),如split("*")

![1700481592299](C:\Users\25322\Documents\WeChat Files\wxid_xc71h7t6nm2i22\FileStorage\Temp\1700481592299.png)

错误ERROR

![1700473571934](C:\Users\25322\Documents\WeChat Files\wxid_xc71h7t6nm2i22\FileStorage\Temp\1700473571934.png)

导入模块

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

eg:python中内置数学库math:

import math #使用库前要先导入

print(math.factorial(20)) #计算阶乘

更多:(math.pi) 圆周率

​ (math.e)

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

​ (math.tau) 2pi

​ (math.sin(a)) 正弦

​ import numbers 所有数字相关的类型

基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值

eg:

counter = 100      # 整型变量
miles  = 1000.0    # 浮点型变量
name   = "runoob"   # 字符串

**print** (counter)
**print** (miles)
**print** (name)
  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

内置的 type() 函数可以用来查询变量所指的对象类型。

eg:

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

变量

变量是一个名字,它所指代的是一段数据

使用=来对这段数据进行赋值

特征(在py中):新的值会覆盖旧的值

​ 新的数据类型不必与旧值相同

eg:a=2;

​ a=true;

​ print(a);

输出:true

形象解释:变量就像一个标签,它所代表的就是后面那个值所存储的真实的计算机里面的物理位置。

变量命名规则:

必须以字母或下划线(_)开头

命名可由字母、数字和下划线组成

大小写敏感

尽量避免使用保留字命名

ps:保留字即python里面已经用上的字符,比如False,None,True,Break,Continue...

更新变量

原理:python中新值会覆盖旧值

多变量赋值

a=b=c=2

print(f"a={a},b={b},c={c}")
a,b,c=1,2,6

print(f"a={a},b={b},c={c}")

函数