Python基础语法教程【一】
一. 基础数据类型
常用的 6 种数据类型
类型 | 描述 | 说明 |
---|---|---|
数字(Number ) |
int,float,complex(复数),bool |
复数:4 + 3j ,j 表示复数 |
字符串(String ) |
文本:单引号,双引号,三引号 | 'aaa', "aaa", """aaa""" |
列表(List ) |
有序的可变列表 | 可有序记录一堆数据 |
元组(Tuple ) |
有序不可变列表 | 记录不可变的数据集合 |
集合(Set ) |
无序,不重复集合 | 存放无需,且不允许重复 |
字典(Dictionary ) |
无序 Key-value 结构 |
通过 k-v 的形式记录 |
二、注释
单行注释
# 我是单行注释
print('hello world!)
多行注释
"""
我是多行注释
out 函数主要是向控制台输出 hello world 字符串
"""
def out():
print('hello world!')
三、变量
变量: 变量是在程序运行时,存储计算的值或者是表示值的抽象概念
变量本身是没有类型的,但是变量存储的数据是有类型的
"""
变量演示
"""
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函数
"""
数据类型
"""
# 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 类型 |
"""
数据类型的转换:
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'>
"""
五、 标识符
内容限制(只允许使用一下的内容)
不推荐
)数字不可用于开头
)大小写敏感
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 |
"""
正确的标识符定义
"""
# 规则1:关键字定义方式
name = '张三'
_name = '张三'
name_ = '张三'
name_1 = '张三'
# 规则2: 大小写敏感
Name = '李四'
print(name)
print(Name)
# 规则3: 不可使用关键字,
def = '张三' # 错误
六、运算符
算数运算符
算数运算符 | 说明 |
---|---|
+ | 加 |
– | 减 |
* | 乘 |
/ | 除 |
// | 取整除 |
% | 取余 |
** | 指数(次方) |
"""
运算符演示
"""
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 |
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 字符串的三种第一方式
# 字符串的三种定义方式
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 字符串拼接
# 字符串拼接
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 字符串格式化
# 这种方式很难受,要写很多 + 号,可以通过格式化方式完成
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 练习题
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 键盘输入
"""
读取 os 键盘输入
"""
name = input("你是谁:")
print(f"你好:{name}")
"""
你是谁: zhangsan
你好:zhangsan
"""
作者:Zyred