# Pyhon基础

# 命名风格

  1. 变量名
    • 使用小写字母和下划线来分隔单词(snake_case),例如:my_variable。
    • 避免使用Python关键字和内置函数函数作为变量名
  2. 函数名
    • 同样使用小写字母和下划线分隔单词,例如:def my_function():。
    • 函数名应该能清楚的描述函数的功能
  3. 类名
    • 使用驼峰命名法(CamelCase),即每个单词的首字母大写,不使用下划线,例如:class MyClass:。
    • 类名应该简介且描述性强
  4. 常量
    • 全部大写字母,并用下划线分隔单词,例如:MAX_VALUE。
  5. 模块名
    • 同样使用小写字母和下划线,例如:my_module.py。
    • 模块名应该简洁且描述性强
  6. 包名
    • 通常使用短小的全小写字母,例如:my_package。
    • 包名应该简洁且描述性强。
  7. 方法名
    • 与函数名相同,使用小写字母和下划线分隔单词,例如:def my_method(self):。
  8. 私有变量和方法:
    • 在变量或方法名前加一个下划线(_)表示它们是私有的,例如:_private_variable。
    • 在变量或方法名前加两个下划线(__)表示它们是受保护的,并且在子类中会被名称改编(name mangling),例如:__private_method。
  9. 导入
    • 导入语句应该放在文件的顶部,按顺序排列:标准库导入,第三方库导入,本地应用/库导入。
    • 使用别名时,应该清晰且简短,例如:import numpy as np。
  10. 空格
    • 在操作符周围使用空格,例如:x = 1 + 2。
    • 在逗号、冒号、点号、括号等周围不要使用空格。
  11. 行长度
    • 通常一行不应超过79个字符,以便于阅读

# 注释

单行注释

# 单行注释
"""
第一行注释
第二行注释
第三行注释
"""
'''
第一行注释
第二行注释
第三行注释
'''

解释器不执行任何的注释内容

# 变量

变量名 = 值

# 标识符

定义各种名字的统一规范

  • 由数字、字母、下划线组成
  • 不能数字开头
  • 不能使用内置关键字
  • 严格区分大小写

# 命名习惯

  • 见名知意
  • 大驼峰:即每个单词首字母都大写
  • 小驼峰:第二个(含)以后的单词字母都大写
  • 下划线:例如:my_name

# 使用变量

my_name = 'TOM'
print(my_name)

schoolName = '自定义'
print(schoolName)
定义变量保存圆的半径和圆周率
求圆的面积并用变量保存
# 圆周率
PI = 3.1415926
# 圆的半径
radius = 10
# 圆的面积
area = PI*radius
print(area)

# 认识数据类型

  • 整型:int
  • 浮点型:float
  • 字符串:str
  • 布尔型:bool
  • 元组:tuple
  • 集合:set
  • 字典:dict
  • 变量练习

列表:列表是一种有序的、可变的数据结构,可以包含不同类型的元素。

my_list = [1, 2, 3, 'a', 'b', 'c']

集合:集合是一种无序的、不可重复的数据结构,但可以添加或删除元素。

my_set = {1, 2, 3, 'a', 'b', 'c'}

元组:元组是一种有序的、不可变、可重复的数据结构。

my_tuple = (1, 2, 3, 'a', 'b', 'c')

TIP

创建空集合使用set(),创建空字典使用{}

# 输出

作用:程序输出内容给用户

print('hello Python')

age = 18
print(age)

# 需求:输出“今年我的年龄是18岁”

# 格式化输出

按照一定的格式输出内容

格式符号 转换
==%s== 字符串
==%d== 有符号的十进制整数
==%f== 浮点数
%c 字符
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写ox)
%X 十六进制整数(大写OX)
%e 科学计数法(小写'e')
%E 科学计数法(大写'E')
%g %f和%e的简写
%G %f和%E的简写
  • %06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出
  • %.2f,表示小数点后显示的小数位数
age = 18
name = 'TOM'
weight = 75.5
student_id = 1

# 我的名字是TOM
print('我的名字是%s' % name)

# 我的学号是001
print('我的学号是%d' % student_id)

# 我的体重是
print('我的体重是%.2f公斤' % weight)

# 我的名字是TOM, 今年18岁了
print('我的名字是%s, 明年%d岁了' % (name, age + 1))

# 我的名字是TOM,明年19岁了
print(f'我的名字是{name}, 明年{age + 1}岁了')

f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读

# 转义字符

  • \n: 换行
  • \t: 制表符,tab键

# 结束符

print('输出的内容', end="\n")

在python中,print(),默认自带end="\n"这个换行结束符,所以导致每个print直接会换行展示,用户可以按需求更改结束符

# 输入

程序接收用户的输入

input("提示信息")

# 输入的特点

  • 当程序执行到input,等待用户输入,输入完成之后才继续向下执行
  • 在python中,input接收用户输入后,一般存储到变量,方便使用
  • 在Python中,input会把接收到的任意用户输入的数据都当做字符串处理
password = input('请输入密码:')
print(f'您输入的密码是{password}')
# <class 'str'>
print(type(password))

TIP

input接收的任何数据默认都是字符串类型

# 数据类型转换

问:input()接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型。

# 数据类型转换的函数

函数 说明
==int(x [,base ])== 将x转换为一个整数
==float(x )== 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
==str(x )== 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
==eval(str )== 用来计算在字符串中的有效Python表达式,并返回一个对象
==tuple(s )== 将序列 s 转换为一个元组
==list(s )== 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个Unicode字符
ord(x ) 将一个字符转换为它的ASCII整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
bin(x ) 将一个整数转换为一个二进制字符串

# 体验

# 1. 接收用户输入
num = input('请输入您的幸运数字:')

# 2. 打印结果
print(f'您的幸运数字是{num}')

# 3. 检测收到的用户输入的数据类型 --str类型
print(type(num))

# 4. 转换数据类型 -- int 类型
print(int(num))
print(type(num))
print(type(int(num)))

# 实验

# 1. float() -- 转换成浮点型
num1 = 1
print(float(num))
print(type(float(num1)))

# 2. str() -- 转换成字符串
num2 = 10
print(type(str(num2)))

# 3. tuple() -- 将一个序列转换成元祖
list1 = [10, 20, 30]
print(type(list1))
print(tuple(list1))
print(type(tuple(list1)))

# 4. list() -- 将一个序列转换成列表
t1 = (100, 200, 300)
print(type(t1))
print(list(t1))
print(type(list(t1)))

# 5. eval() -- 将字符串中的数据转换成python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(100, 200, 300)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

# 常用

  • int()
  • float()
  • str()
  • list()
  • tuple()
  • eval()

# 运算符

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • 比较运算符
  • 逻辑运算符

# 算数运算符

运算符 描述 实例
+ 1 + 1 输出结果为 2
- 1-1 输出结果为 0
* 2 * 2 输出结果为 4
/ 10 / 2 输出结果为 5
// 整除 9 // 4 输出结果为2
% 取余 9 % 4 输出结果为 1
** 指数 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
() 小括号 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

WARNING

混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + -

# 赋值运算符

运算符 描述 实例
= 赋值 =右侧的结果赋值给等号左侧的变量
  • 单个变量赋值
num = 1
print(num)
  • 多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)
  • 多变量赋相同值
a = b = 10
print(a)
print(b)

# 复合赋值运算

运算符 描述 实例
+= 加法赋值运算符 c += a 等价于 c = c + a
-= 减法赋值运算符 c -= a 等价于 c = c- a
*= 乘法赋值运算符 c *= a 等价于 c = c * a
/= 除法赋值运算符 c /= a 等价于 c = c / a
//= 整除赋值运算符 c //= a 等价于 c = c // a
%= 取余赋值运算符 c %= a 等价于 c = c % a
**= 幂赋值运算符 c ** = a 等价于 c = c ** a
a = 100
a += 1
# 输出101 a = a + 1, 最终a = 100 + 1
print(a)

b = 2
b *= 3
# 输出6 b = b * 3,最终 b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 输出13, 先算运算符左侧1+2 = 3, c += 3, 推导出c = 10 + 3
print(c)

# 比较运算符

比较运算符也叫关系运算符,通常用来判断

运算符 描述 实例
== 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) 如a=3,b=3,则(a == b) 为 True
!= 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True
> 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 如a=7,b=3,则(a > b) 为 True
< 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 如a=7,b=3,则(a < b) 为 False
>= 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True
<= 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 如a=3,b=3,则(a <= b) 为 True
a = 7
b = 5
print(a == b)
print(a != b)
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)

# 逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 True and False, 返回 False。
or x or y 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 False or True, 返回 True。
not not x 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not True 返回 False, not False 返回 True
a = 1
b = 2
c = 3
print((a < b) and (b < c))
print((a > b) and (b < c))
print((a > b) or (b < c))
print(not(a > b))

# 拓展

数字之间的逻辑运算

a = 0
b = 1
c = 2

# and运算符, 只要一个值为0, 则结果为0,否则结果为最后一个非0数字
print(a and b) # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or运算符,只有所有值为0结果才为0,否则结果为第一个非0的数字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1
Last Updated: 11/20/2024, 2:55:49 PM