Python基础语法——数据类型、标识符、运算符、字符串和键盘输入

目录

一、数据类型

判断数据类型——type()

二、数据类型的转换

三、标识符

(一)标识符命名的规则

(二)变量的命名规范

四、运算符

(一)算数运算符

(二)赋值运算符

(三)复合赋值运算符

(四)比较运算符

(五)逻辑运算符

五、字符串扩展

(一)字符串的三种定义方式

(二)字符串拼接

(三)字符串格式化

1.使用格式符号

2.快速字符串格式化

(四)格式化的精度控制

(五)对表达式进行格式化

六、键盘输入


一、数据类型

判断数据类型——type()

## type的用法

# 1.使用type直接输出类型信息
# type查看的是变量存储的数据的类型。因为变量无类型,但是它存储的数据有类型。
print(type(12))
# <class 'int'>

# 2.使用变量存储type语句的结果
d = 12.13
print(type(d))
# <class 'float'>

# 3.查看变量中存储的数据类型信息
name = "张三"
name_type = type(name)
print(name_type)
# <class 'str'>

二、数据类型的转换

# 浮点型转换为字符串
num_str = str(-9.63)
print(num_str, type(num_str))
# -9.63 <class 'str'>

# 字符串转为整型
num = int("97")
print(num, type(num))
# 97 <class 'int'>

# 字符串转为浮点型
num2 = float("20.30")
print(num2, type(num2))
# 20.3 <class 'float'>

# 字符串转为数值,字符串内容必须都是数字
# num3 = int("黑马程序员")   错误写法
# print(num3, type(num3))   错误写法

num4 = int("9")
print(num4, type(num4))
# 9 <class 'int'>

# 整型转换为浮点型
num5 = float(11)
print(num5, type(num5))
# 11.0 <class 'float'>

# 浮点型转换为整型,注意精度丢失
num6 = int(12.36)
print(num6, type(num6))
# 12 <class 'int'>

# 转换为布尔类型
# False的情况:

print(bool(0))
print(bool(0.0))
print(bool(""))
print(bool(''))
print(bool(()))
print(bool([]))
print(bool(""))
# print(bool({})

# 其他转为布尔类型的结果都是True

三、标识符

用户编写代码时,对变量、类方法等编写的名字,叫做标识符。

(一)标识符命名的规则

  • 内容限定

标识符命名中,只允许出现:

英文、中文(不推荐)、数字、下划线(_) 这四类元素,其余任何内容都不被允许。

注意:不能以数字开头!

  • 大小写敏感

  • 不可使用关键字(以下为python中的关键字)


 

示例:

# 1.内容限定
# 1_name = "张三"
# name_! = "张三"
_name = "张三"
_name1 = "张三"
name_1 = "张三"

# 2.大小写敏感
Zhangsan = "张三"
zhangsan = "张三"
print(Zhangsan, zhangsan)

# 3.不可使用关键字
# class = 1
# if = 45
# def = 5
Class = 2
print(Class)

(二)变量的命名规范

  • 见名知意

  • 下划线命名法

  • 英文字母全小写

四、运算符

(一)算数运算符

(二)赋值运算符

(三)复合赋值运算符

(四)比较运算符

(五)逻辑运算符

五、字符串扩展

(一)字符串的三种定义方式

1.单引号定义法

name = '张三'


2.双引号定义法

name = "张三"

3.三引号定义法

name = """
张三
"""

如果字符串本身包含特殊符号的解决办法:

# 包含双引号
name = '"北京欢迎你"'
print(name)
#"北京欢迎你"


# 包含单引号
name = "'北京欢迎你'"
print(name)
#'北京欢迎你'


# 转义字符
name = "\"北京欢迎你\""
print(name)
# "北京欢迎你"


name = "\'北京欢迎你\'"
print(name)
# '北京欢迎你'

(二)字符串拼接

name = "张三"
print("我叫" + name + ",来自北京")

注意:无法和非字符串类型进行拼接

# 错误写法:
name = "张三"
tel = 4004804848
print("我叫" + name + ",来自北京,电话是:" + tel)

# TypeError: can only concatenate str (not "int") to str

(三)字符串格式化

1.使用格式符号

其中的,%s
%  表示:我要占位
s   表示:将变量变成字符串放入占位的地方

name = "张三"
city = "北京"
class_num = 5
tel = 4004804848
salary = 10453.45

# 单个字符串拼接
message = "我叫%s" % name
print(message)
# 我叫张三

# 多个字符串拼接
message = "我叫%s,来自%s" % (name, city)
print(message)
# 我叫张三,来自北京

# 不同数据类型
message = "我叫%s,来自%s,电话是:%s,薪资是%s" % (name, city, tel, salary)
print(message)
# 我叫张三,来自北京,电话是:4004804848,薪资是10453.45

# 使用其他占位符
message = "我叫%s,来自%s,住在%d楼,薪资是%f" % (name, city, class_num, salary)
print(message)
# 我叫张三,来自北京,住在5楼,薪资是10453.450000

2.快速字符串格式化

f"内容{变量}"的格式来快速格式化

这种写法不做精度控制,也不理会类型,适用于快速格式化字符串

name = "李四"
city = "上海"
class_num = 6
tel = 40047741780
salary = 19871.12
# f:format
message = f"我叫{name},来自{city},住在{class_num}楼,薪资是{salary}"
print(message)
# 我叫李四,来自上海,住在6楼,薪资是19871.12

(四)格式化的精度控制

可以使用辅助符号"m.n"来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2。小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35。
  • %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35。
num1 = 17
num2 = 11.345
num3 = 17.645

print("数字17宽度限制5,结果是%5d" % num1)
# 数字17宽度限制5,结果是   17

print("数字17宽度限制1,结果是%1d" % num1)
# 数字17宽度限制1,结果是17

print("数字17.645小数精度2,结果是%.2f" % num2)
# 数字17.645小数精度2,结果是11.35

print("数字11.345宽度限制7,小数精度2,结果是%7.2f" % num2)
# 数字11.345宽度限制7,小数精度2,结果是  11.35

print("数字17.645宽度限制7,小数精度2,结果是%7.2f" % num3)
# 数字17.645宽度限制7,小数精度2,结果是  17.64

"""
关于为什么 num2 = 17.645 的结果是 17.64 而不是 17.65,
这与浮点数在计算机中的内部表示有关。
在计算机中,浮点数的精度是有限的,并且在进行四舍五入时可能会出现微小的误差。
因此,即使是 17.645 经过四舍五入后,结果可能会是 17.64 而不是 17.65。
"""

(五)对表达式进行格式化

表达式:一条具有明确执行结果的代码语句。
如:1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字
又或者,常见的变量定义:name = “张三”     age = 11 + 11
等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量。

六、键盘输入

——相当于java的Scanner scanner = new Scanner(System.in);

print("请输入姓名:")
name = input()
print("您的姓名是:%s" % name)

# 或者
name = input("请输入姓名:")
print("您的姓名是:%s" % name)

# 默认获取到的数据是字符串类型
name = input("请输入姓名:")
print("您的姓名是:%s" % name, "数据类型是:", type(name))
# 请输入姓名:张三
# 您的姓名是:张三 数据类型是: <class 'str'>

转换数据类型:

num = input("请输入数字:")
num2 = int(num)
print("您输入的数据类型为:", type(num2))
# 请输入数字:12
# 您输入的数据类型为: <class 'int'>

num = input("请输入小数:")
num2 = float(num)
print("您输入的数据类型为:", type(num2))
# 请输入小数:12.56
# 您输入的数据类型为: <class 'float'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值