Python基础语法

变量

  • 使用“=”对变量进行赋值,新赋的值会覆盖旧的值,且无需考虑数据类型
  • 多变量赋值:a = b = c = 2 ; a, b, c = 1, 2, 3
  • 变量的作用域:变量的作用是有范围的,超出作用域后变量不可见
    • 函数外部定义的变量具有全局作用域
    • 函数内部定义的变量只能在函数内部起作用,而与其他函数中定义的同名变量无关
    • 在函数内部修改全局变量的值时需要先在函数内部声明该全局变量:global [变量名]

函数

  • 由两部分构成——header:定义函数的名称与传入的参数名

    ​ |_body:包含函数执行的操作

  • 定义方式: def functionName([参数]):

    ​ 语句1

    ​ 语句2

    body中语句均需要缩进,当不在缩进表示函数结束

  • return返回:结束函数并返回return后的内容

    • 函数中不一定需要包括return(此时函数返回值为None)
    • return可用来返回一个或多个内容
    • return可以返回变量值,也可返回表达式值(表达式需使用括号包裹)
  • 函数组合:当出现函数嵌套的情况时,最先执行的是最内侧的函数

  • Helper functions:只用来做一件小任务的函数

导入库(包括函数,常数值,其它工具)

  • import [库名]

    调用第三方库前需使用pip或conda下载(优先使用pip,conda库不全)

  • 调用格式:XX.YY(库名.函数名)

输入输出

  1. print():基础控制台输出

    将( )中的内容输入到控制台(console)中

    • 直接输出字符串要使用引号包裹

      print("hello, world")
      
    • 使用“end”来控制输出结尾(默认以\n(换行)结尾)

      print("hello, world",end="")	#不换行结束
      print("hello, world",end="*")	#以*作为结尾
      print("hello, world",end="\t")	#以tab作为结尾
      
    • 一次输出多个内容,默认以空格连接。使用sep控制分隔符

      print("hell“,”o, w“,”orld")	#使用“ ”分隔
      print("hell“,”o, w“,”orld",sep="")		#取消分隔
      print("hell“,”o, w“,”orld",sep="*")		#使用“*”分隔
      
    • 括号中直接填入变量名可输出变量的内容

      x = 10
      print(x)	#输出10
      
    • 使用f·string可选项来组合输出变量和字符串

      x = 10
      print(f"x的值是{x}")	#输出为:x的值是10
      
    • 使用三连引号一次性输出多行内容

      print("""
      这是第一行
      这是第二行
      这是第三行
      """)
      
    • 字符串可使用加法和乘法

      加法:效果等同于strcat

      乘法:将字符串输出n次

  2. input():基础控制台输入

    首先将( )中的内容输入到控制台(console)中,然后向console返回stdin的输入内容

    返回值为一个字符串(可使用强制字符串转换函数变成其他数据类型)

    强制类型转换函数如int():将()变量数据类型转变为整形

    使用实例:x = int(input(“请输入一个数字”))

    • 一次输入多个内容,默认以空格分隔。使用split控制分隔符

      a,b = input("输入两个内容,以逗号分隔").split(",")
      

错误类型

  • SyntaxError 语法错误(代码不会运行)
  • RuntimeError 崩溃(代码运行中)
  • LogicalError 逻辑错误(代码完成运行,但得不到想要的结果)
  • TyoeError 类型错误(输入函数的数据类型与预设不符

数据类型

1. 常见内置数据类型

  • int

  • float(python中的float对应c中的双精度浮点double)

    分类:为一个对象赋值,其范围是离散的(对应数据类型int)

    回归:预测一个数,其范围是连续的(对应数据类型float)

  • bool:布尔值

    python中逻辑判断表达式的返回值数据类型为bool

  • type:类型——属于一种”类“的对象

    type有同名函数type():其返回值为括号内变量的数据类型

    48CA6A277F5B508F2A136B87945E53B0 AC78D4B181AD69B349D6710246C88B80

    2. 其他数据类型

    • str字符串 _

    • list列表 |

    • tuple元祖 }—-底层实现都是arry数组

    • set集合 |

    • dict字典 –

      也可以用map映射实现

    • complexNum复数

    • function函数

    • module模块

    3.常用内置常数

    • True布尔真
    • False布尔假
    • None空(或空值)
image-20231121150926089

运算符

1. 常见内置运算符

  • a**b:a的b次方

  • a / b:a对b浮点除,返回值数据类型为float

  • a // b:a对b整除,返回值数据类型为int(小数部分舍弃)

  • a % b:用b对a取余,返回值数据类型为int,涉及负数时运算结果符号与b一致(与c语言不同,且不符合直觉)

    math库提供了一种符合c语言标准,且处理浮点数时精度更高的取余函数:

    math.fmod(a,b):用b对a取余,返回值数据类型为float,涉及负数时运算结果符号与a一致

2. 类型影响语义

运算符的效果有时受运算数据的数据类型影响

eg:int + int……相加 ; str + str……strcat(str1,str2)

3. 运算符优先级

结合律:加减乘除中从左到右运算,次方运算中从右到左运算

eg:4 - 3 - 2 = (4 - 3) - 2 ; 4 ** 3 ** 2 = 4 ** (3 ** 2)

4.逻辑运算符——由布尔值参与运算

  • and与运算:有一个F就返回F
  • or或运算:有一个T就返回T
  • not非运算:T返回F,F返回T

短路运算:但逻辑运算符左边的返回值已经足够返回结果了,就不会运行右边的表达式

5. 基本数学函数

  • abs():取绝对值

  • max/min(a, b, c,……):返回最大/最小值

  • pow(a, b):次方运算 <==> a**b

  • round(a[, n]):四舍五入到指定小数位

    • a:要四舍五入的数字

    • n:可选,表示要保留的小数位数。默认为0,即四舍五入到最接近的整数

    • 当四舍五入的数字位于中间值时(如对 2.5 进行四舍五入),Python 3 的 round 函数会将其四舍五入到最接近的偶数(所谓的“银行家舍入法”)。这是为了减少因四舍五入导致的累积误差。

    • 由于浮点数误差,round存在精度丢失(如:round(2.354, 2)返回2.36)

      2F0A73A2195A70D007F0EEA5A1D16044

选择语句

1. if-elif-else

  • 相当于c中的if-elseIf-else

2. Match-case

  • 相当于c中的switch-case

  • 用case _ 来代替default(不是必须的)

  • 一个case可以设置多个匹配条件,每个条件用 | 隔开( | 相当于or)

  • match可以使用多种匹配模式:

循环语句

range():用来生成一个整数序列,返回的是一个可迭代的“range”对象

range 函数可以有一到三个参数

  1. 一个参数:range(stop):生成从 0 到 stop-1 的整数序列。
    eg:range(3) 生成 0, 1, 2。

  2. 两个参数:range(start, stop):生成从 start 到 stop-1 的整数序列。
    eg:range(1, 4) 生成 1, 2, 3。

  3. 三个参数:range(start, stop, step):生成从 start 开始,以 step 为步长,到 stop-1 结束的序列。
    eg:range(1, 8, 2) 生成 1, 3, 5, 7。

ps:range(a, b)遵循左闭右开

in关键字:用于测试序列(如列表、元组、字符串等)中是否包含某个特定的元素,或者字典中是否包含特定的键,返回值为布尔值

# 列表成员资格测试
if 'apple' in ['banana', 'apple', 'orange']:
 print("Apple is in the list")

# 字符串成员资格测试
if 'a' in 'cat':
 print("The letter a is in the word cat")

# 字典键测试
my_dict = {'name': 'Alice', 'age': 25}
if 'name' in my_dict:
 print("Name is one of the keys in the dictionary")

1. for循环语句

for用于遍历序列(如列表、元组、字符串等)或其他可迭代对象的每个元素

# 基础语法
 for element in iterable:
 	pass
  • element 是变量,它代表 iterable 中当前的元素。
    iterable 是一个序列或任何其他可迭代对象。
  • 每次迭代中,element 会被赋值为 iterable 中的下一个元素,然后执行代码块。
# 遍历列表
for number in [1, 2, 3]:
    print(number)

# 遍历字符串
for letter in "hello":
    print(letter)

# 使用 range() 生成数字序列
for i in range(5):
    print(i)

2. while([条件])循环语句

  • 当“条件”表达式的返回值为True时执行while中的指令
    • “条件”表达式的返回值可以是任何数据类型,python会将其自动转化成bool值
    • 非零,非空对象都被视为True
  • 可以将else语句与while组合使用:当循环条件变为假时执行else块
  • 可以用break与continue进行循环控制

字符串

1. 单个字符索引:将字符串作为字符数组处理

image-20231121183012376
  • 索引值可以为负数:此时从字符串最后一位开始记计数
image-20231121183659156

字符串具有不可变性,因此s[0] = "H"是不合法的,会引发 TypeError

2. 字符串切片:用来获取字符串的一部分(子串),使用索引来定义起始和结束的位置

(to be continue…)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值