python -【一】基础语法

一. 基础数据类型

常用的 6 种数据类型

类型 描述 说明
数字(Number) int,float,complex(复数),bool 复数:4 + 3j,j 表示复数
字符串(String) 文本:单引号,双引号,三引号 'aaa', "aaa", """aaa"""
列表(List) 有序的可变列表 可有序记录一堆数据
元组(Tuple) 有序不可变列表 记录不可变的数据集合
集合(Set) 无序,不重复集合 存放无需,且不允许重复
字典(Dictionary) 无序 Key-value 结构 通过 k-v 的形式记录

二、注释

单行注释

python 复制代码
# 我是单行注释
print('hello world!)

多行注释

python 复制代码
"""
我是多行注释
out 函数主要是向控制台输出 hello world 字符串
"""
def out():
	print('hello world!')

三、变量

变量: 变量是在程序运行时,存储计算的值或者是表示值的抽象概念

变量本身是没有类型的,但是变量存储的数据是有类型的

py 复制代码
"""
 变量演示
"""

money = 50
print(f'钱包剩余:{money}元')

# 购买冰淇淋花费 10 元
money = money - 10
print(f'钱包剩余:{money}元')

# 花费 2 元购买彩票
money -= 2
print(f'钱包剩余:{money}元')
# 购买彩票中间 300 元
money += 300
print(f'钱包剩余:{money}元')

"""
钱包剩余:50元
钱包剩余:40元
钱包剩余:38元
钱包剩余:338元
"""

type函数

py 复制代码
"""
数据类型
"""

# python type() 函数的用法
str_ = "python1"
str_2 = 'python2'
int_ = 1
float_ = 1.1


def func1():
    print('im func1...')


print(f'[{str_}]的类型是:', type(str_))
print(f'[{str_2}]的类型是:', type(str_2))
print(f'[{int_}]的类型是:', type(int_))
print(f'[{float_}]的类型是:', type(float_))
print(f'[func1]的类型是:', type(func1))


"""
[python1]的类型是: <class 'str'>
[python2]的类型是: <class 'str'>
[1]的类型是: <class 'int'>
[1.1]的类型是: <class 'float'>
[func1]的类型是: <class 'function'>
"""

四、数据类型的转换

数据类型: int, float, str 三种数据类型的转换

语法 解释
int(x) 将 x 变量转换成 int 类型
float(x) 将 x 变量转换成 float 类型
str(x) 将 x 变量转换成 str 类型
python 复制代码
"""
数据类型的转换:
int(x)
float(x)
str(x)
"""

print('-----------------定义变量---------------------')
# 定义 int float str 变量
int_num = 1
print(f'{int_num} 的类型是:', type(int_num))
float_num = 20.23
print(f'{float_num} 的类型是:', type(float_num))
str_num = '100'
print(f'{str_num} 的类型是:', type(str_num))

print('-----------------转换类型---------------------')

# 将 int 转 str
int_num_str = str(int_num)
print(f'将int转str -> {int_num_str} 的类型是:', type(int_num_str))
# 将 int 转 float
float_int_num = float(int_num)
print(f'将int转float -> {float_int_num} 的类型是:', type(float_int_num))

# 将 float 转 str
float_num_str = str(float_num)
print(f'将float转str -> {float_num_str} 的类型是:', type(float_num_str))
# 将 float 转 int
int_float_num = int(float_num)
print(f'将float转int -> {int_float_num} 的类型是:', type(int_float_num))

# 将 str 转 int
int_str_num = int(str_num)
print(f'将str转int -> {int_str_num} 的类型是:', type(int_str_num))
# 将 str 转 float
float_str_num = int(str_num)
print(f'将str转float -> {float_str_num} 的类型是:', type(float_str_num))


"""
-----------------定义变量---------------------
1 的类型是: <class 'int'>
20.23 的类型是: <class 'float'>
100 的类型是: <class 'str'>
-----------------转换类型---------------------
将int转str -> 1 的类型是: <class 'str'>
将int转float -> 1.0 的类型是: <class 'float'>
将float转str -> 20.23 的类型是: <class 'str'>
将float转int -> 20 的类型是: <class 'int'>
将str转int -> 100 的类型是: <class 'int'>
将str转float -> 100 的类型是: <class 'int'>
"""

五、 标识符

  • 内容限制(只允许使用一下的内容)

    • 英文
    • 中文 (不推荐)
    • 数字(数字不可用于开头)
    • 下划线
  • 大小写敏感

    py 复制代码
    Andy = 'Andy'
    andy = 'andy'
    # 以上两个变量是能够被区分的,所有大小写是敏感的
  • 不可使用关键字

    False True None and as assert break class
    continue def del elif else except finally for
    from global if import in is lambda nonlocal
    not or pass raise return try while whith
    yield
python 复制代码
"""
正确的标识符定义
"""

# 规则1:关键字定义方式
name = '张三'
_name = '张三'
name_ = '张三'
name_1 = '张三'

# 规则2: 大小写敏感
Name = '李四'
print(name)
print(Name)

# 规则3: 不可使用关键字,
def = '张三' # 错误

六、运算符

算数运算符

算数运算符 说明
+ 加
- 减
* 乘
/ 除
// 取整除
% 取余
** 指数(次方)
python 复制代码
"""
运算符演示
"""

print(f'1 + 1 = {1 + 1}')
print(f'1 - 1 = {1 - 1}')
print(f'2 * 2 = {2 * 2}')
print(f'8 / 2 = {8 / 2}')    # 4.0
print(f'8 // 2 = {8 // 2}')  # 4
print(f'8 % 3 = {8 % 3}')
print(f'8 % 3 = {8 % 3}')
print(f'2 ** 3 = {2 ** 3}')  # 2^3=8

"""
1 + 1 = 2
1 - 1 = 0
2 * 2 = 4
8 / 2 = 4.0
8 // 2 = 4
8 % 3 = 2
8 % 3 = 2
2 ** 3 = 8
"""

复合赋值运算符

复合赋值运算符 说明
+= b += a 等效 b = b + a
-= b -= a 等效 b = b - a
*= b *= a 等效 b = b * a
/= b /= a 等效 b = b / a
//= b //= a 等效 b = b // a
%= b %= a 等效 b = b % a
**= b **= a 等效 b = b ** a
python 复制代码
a = 10

a += 2
print(f'a += 2, a = ', a)

a = 10 # 重新赋值 a 为 10
a -= 2
print(f'a -= 2, a = ', a)

a = 10 # 重新赋值 a 为 10
a *= 2
print(f'a *= 2, a = ', a)

a = 10 # 重新赋值 a 为 10
a /= 2
print(f'a /= 2, a = ', a)

a = 10 # 重新赋值 a 为 10
a //= 2
print(f'a //= 2, a = ', a)

a = 10 # 重新赋值 a 为 10
a %= 3
print(f'a %= 3, a = ', a)

a = 10 # 重新赋值 a 为 10
a **= 2
print(f'a **= 3, a = ', a)


"""
a += 2, a =  12
a -= 2, a =  8
a *= 2, a =  20
a /= 2, a =  5.0
a //= 2, a =  5
a %= 3, a =  1
a **= 3, a =  100
"""

七、字符串

7.1 字符串的三种第一方式

python 复制代码
# 字符串的三种定义方式
name_1 = '张三'  		# 单引号
name_2 = "张三" 		    # 双引号
name_3 = """张三"""	    # 三引号

print(name_1, name_2, name_3)

# 字符串本身包含特殊符号比如: '  "  \ 等
str_1 = '"我爱python"'
print(str_1)
str_2 = "'我爱python'"
print(str_2)
str_3 = "我爱\"python"
print(str_3)

"""
张三 张三 张三
"我爱python"
'我爱python'
我爱"python
"""

7.2 字符串拼接

python 复制代码
 # 字符串拼接
title = '学习 python'
str_ = title + ", 能够完成编写python代码"
print(str_)  # 学习 python, 能够完成编写python代码


# 字符串不能直接和数字进行拼接
phone = 456
str_ += phone
print(str_)  # TypeError: can only concatenate str (not "int") to str

7.3 字符串格式化

python 复制代码
# 这种方式很难受,要写很多 + 号,可以通过格式化方式完成
print('我的名字是:' + name + ",我的职业的是:" + occupation + ",我住在:" + address + ", 我的年龄是:" + age)

# 方式1:格式化,在字符串前面加上 f
print(f'我的名字是:{name},我的职业的是:{occupation},我住在:{address}, 我的年龄是:{age}')

# 方式2:通过 format 函数
print('我的名字是:{0},我的职业的是:{1},我住在:{2}, 我的年龄是:{3}'.format(name, occupation, address, age))

# 方式3:通过 %s 占位符,使用 % 连接,多个占位符替换使用 %() 涵盖,并支持数字类型的占位
print('我的名字是:%s,我的职业的是:%s,我住在:%s, 我的年龄是:%s' % (name, occupation, address, age))
# 占位符 %s(字符) %d(数字)  %f(浮点数) -> %.2f 表示小数点后保留2位
print('我今年%d岁,工作%.2f年,住址:%s' % (25, 4.566, '北京'))


"""
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我今年25岁,工作4.57年,住址:北京 
"""

7.4 练习题

python 复制代码
name = '阿里巴巴'             # 公司名字
stock_price = 19.99         # 公司股价
stock_code = '0233333'      # 公司股票代码
daily_growth_factor = 1.2   # 股票增长指数
growth_days = 7             # 增长天数

# 计算经过增长天数后,股票价格达到多少
# 使用字符串格式化后输出,如果是浮点数,要求小数点精确到2位
# 实例:
"""
公司: 阿里巴巴,股票代码:0233333,当前股价:19.99  -> 本行要求使用:f{变量} 
每日增长系数是:1.2,经过 7 天后,股票价格达到:xxx  -> 本行要求使用:% 占位符
"""

growth_price = stock_price * daily_growth_factor ** growth_days
line_1 = f'公司: {name},股票代码:{stock_code},当前股价:{stock_price}'
line_2 = '每日增长系数是:%.1f,经过 %d 天后,股票价格达到:%.2f' % (daily_growth_factor, growth_days, growth_price)

print(line_1)
print(line_2)

7.5 OS 键盘输入

python 复制代码
"""
读取 os 键盘输入
"""

name = input("你是谁:")
print(f"你好:{name}")

"""
你是谁: zhangsan
你好:zhangsan
"""
相关推荐
程序猿追38 分钟前
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试
开发语言·kotlin·harmonyos
我是人✓39 分钟前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
智能直播42 分钟前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
CCblandy1 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
墨云安全1 小时前
内网资产无法暴露到公网,怎么做安全检测?2026 年内网渗透测试的落地路径
开发语言·安全·网络安全·渗透测试·php
摇滚侠2 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
Cc.Y2 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
拿本唠嗑AI研究2 小时前
本体工程实战指南:从建模到可维护的完整落地路径
java·人工智能·python·jena·ontology
Smoothcloud润云2 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
jsjzsl23 小时前
递归自改进系统(RSI)的本质是自发对称破缺:智能爆炸有界—— AI研发切记盲目投入
人工智能·python·算法