当前位置: 首页 > news >正文

python -【一】基础语法

一. 基础数据类型

常用的 6 种数据类型

类型描述说明
数字(Numberint,float,complex(复数),bool复数:4 + 3jj 表示复数
字符串(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.1def 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'>
"""

四、数据类型的转换

数据类型: intfloatstr 三种数据类型的转换

语法解释
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'
    # 以上两个变量是能够被区分的,所有大小写是敏感的
    
  • 不可使用关键字

    FalseTrueNoneandasassertbreakclass
    continuedefdelelifelseexceptfinallyfor
    fromglobalifimportinislambdanonlocal
    notorpassraisereturntrywhilewhith
    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 = 10a += 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
"""

相关文章:

  • 计算机字符编码的发展
  • 机器学习(五) -- 监督学习(4) -- 集成学习方法-随机森林
  • CSP垦田计划
  • 磁带存储:“不老的传说”依然在继续
  • 数据结构(八)二叉树、哈希查找
  • Codeforces Round 948 (Div. 2) E. Tensor(思维题-交互)
  • 【前端学习——react坑】useState使用
  • 【AI基础】数据获取与整理、打标、增强方法、增强库imgaug
  • 【Linux】初识Linux和Linux环境配置
  • uniapp一些问题解决
  • 【国产中颖】SH79F9202U单片机驱动LCD段码液晶学习笔记
  • 第13章 层次式架构设计理论与实践
  • vs2013使用qt Linguist以及tr不生效问题
  • 用易查分制作研学活动报名,支持在线签名,一键导出报名统计表格!
  • java调用远程接口下载文件
  • JavaScript-如何实现克隆(clone)函数
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • C++类中的特殊成员函数
  • Centos6.8 使用rpm安装mysql5.7
  • CSS 三角实现
  • DOM的那些事
  • Git同步原始仓库到Fork仓库中
  • happypack两次报错的问题
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript设计模式与开发实践系列之策略模式
  • Material Design
  • MySQL QA
  • React-flux杂记
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue总结
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 动态魔术使用DBMS_SQL
  • 分布式事物理论与实践
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 入手阿里云新服务器的部署NODE
  • 用Canvas画一棵二叉树
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 你对linux中grep命令知道多少?
  • scrapy中间件源码分析及常用中间件大全
  • 大数据全解:定义、价值及挑战
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (附源码)计算机毕业设计高校学生选课系统
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (九)c52学习之旅-定时器
  • (转) 深度模型优化性能 调参
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .net反混淆脱壳工具de4dot的使用
  • :如何用SQL脚本保存存储过程返回的结果集
  • ;号自动换行
  • @EnableConfigurationProperties注解使用