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

Python之--基本知识

基本输出


    语法结构: print(输出内容)
    print()函数完整的语法格出: print (value,...,sep='',end='\n',file=None)
    只有字符串可以用+连接

基本输入


    语法结构: x=input('提示文字’)
    注意事项: 无论输入的数据是什么 x 的数据类型都是字符串类型

示例:

name = input("Enter your name: ")#单行注释示例
print('我的姓名是:'+name)
fp=open('text.txt','w')#打开文件
print('人生苦短,我用Python',file=fp)#输出内容到文件
fp.close()#关闭文件
a=100
b=50
print(90)
print(a)
print(a*b)
print(a,b,'a+b')
print(chr(65))
print('hello','world',sep='啊',end='//')
print('amazing')
age=input("Enter your age:")
print('我的年龄是:'+age)
print(a,b,sep='',end='')
print('c')

  

注:输出内容到文件中,如果是中文字符,可能会显示乱码,只要更改这个.txt文件的编码格式为 GBK 就可以了(在 Windows 系统中,CMD 默认使用 GBK 编码,若 Python 脚本以 UTF-8 输出中文,CMD 会显示乱码)

print('北京欢迎您!!')
print("北京欢迎您!!")
print("'北京欢迎您!!'")
print('''北京欢迎您''')

在Python中,单双引号是等价的。 

 可以将单双引号交替使用来避免转义

保留字(关键字)

Python 语言中被赋予特定意义的单词,它们在语言内部有固定用途,不能将保留字作为变量名或函数名。Python 版本更新可能会添加或删除保留字,可以通过代码来查看当前版本的保留字列表

import keyword
print(keyword.kwlist)  # 输出当前 Python 版本的所有保留字

截至 Python 3.10,共有 35 个保留字:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

!!严格区分大小写

标识符

标识符是程序员在程序中为变量、函数、类、模块等自定义的名称。

命名规则:

(1)只能由字母、数字和下划线(_)组成。例如 my_variable、count1 是合法的,而 my-var 是不合法的,因为包含了 -。
(2)不能以数字开头。像 1num 就不是合法的标识符,num1 则是合法的。
(3)不能是 Python 的保留字。比如不能将变量命名为 if、for 等。
(4)区分大小写。MyVar 和 myvar 是两个不同的标识符。


命名习惯:
(1)变量和函数:通常使用小写字母和下划线组合的方式,如 student_name、calculate_sum。
(2)类:采用驼峰命名法,即每个单词的首字母大写,如 StudentInfo、PersonClass。
(3)常量:一般用全大写字母和下划线组合,如 MAX_VALUE、PI。
 

基本数据类型

int(整型)

不限长度,支持任意大小的整数。

x = 100
y = -5
z = 1_000_000  # 下划线分隔大数字

float(双精度浮点型)

表示小数,支持科学计数法。

x = 3.14
y = 1.23e6  # 等同于 1.23 * 10^6

 **和C/C++不同的是,C/C++的 float 为单精度浮点值,double 为双精度浮点值。在 Python 中不会专门区别单双精度,全部按照双精度来处理。

内置函数 round():用于对数字进行四舍五入操作。

语法

round(number, ndigits)

number:必填参数,表示要进行四舍五入的数字,可以是整数、浮点数等数值类型。

ndigits:可选参数,表示要保留的小数位数。如果不提供该参数,round() 函数会将数字四舍五入到最接近的整数。

1. 不指定保留小数位数,四舍五入到整数

num1 = 3.14159
result1 = round(num1)
print(result1)num2 = 2.99
result2 = round(num2)
print(result2) 

 round(3.14159) 会将 3.14159 四舍五入到最接近的整数,结果为 3;round(2.99) 四舍五入后结果为 3。

2. 指定保留小数位数

num3 = 3.14159
result3 = round(num3, 2)
print(result3)num4 = 5.6789
result4 = round(num4, 1)
print(result4) 

round(3.14159, 2) 表示将 3.14159 四舍五入到保留两位小数,结果是 3.14;round(5.6789, 1) 会把 5.6789 四舍五入到保留一位小数,结果为 5.7。 

 3. 特殊情况

当舍去部分的最高位恰好为 5,且 5 后面没有其他数字或全为 0 时,如果保留部分的末位数字是偶数,则直接舍去 5(不进位)。如果保留部分的末位数字是奇数,则进位(末位加 1)。

print(round(2.5))  # 结果:2(保留部分末位是2,偶数,舍去5)
print(round(3.5))  # 结果:4(保留部分末位是3,奇数,进位)print(round(2.35, 1))  # 结果:2.4(保留部分末位是3,奇数,进位)
print(round(2.45, 1))  # 结果:2.4(保留部分末位是4,偶数,舍去5)

complex(复数型)

实部和虚部组成,虚部用 j 表示。

x = 3 + 4j
print(x.real)  # 输出: 3.0
print(x.imag)  # 输出: 4.0

bool(布尔型)

只有两个值 True 和 False,用于逻辑判断。

True = 1,False = 0

布尔值为 False 的情况:

(1)False 或者 None

(2)数值中的 0,包含 0,0.0,虚数 0

(3)空序列,包含空字符串、空元组、空列表、空字典、空集合
 

o=True
print(o)
print(o+10)
q=False
print(q)
print(q+10)#非零的字符串布尔值为True
print(bool('北京欢迎你'))
print(bool(''))

str(字符串型)

表示文本,用单引号、双引号或三引号包裹。

x = "Hello"
y = 'World'
z = """多行字符串"""
inform='''
你好
世界
'''
print(inform)

**在 Python 中,没有独立的字符(Character)型,而是将单个字符视为长度为 1 的字符串(str 型)。

常见用法:

对字符串中某个子串或区间的检索称为切片

切片的语法结构:字符串或字符串变量 [N:M](从n开始到m结束但是不包含m

字符串索引从左到右的取值范围:0 到 n-1;

字符串索引从右到左的取值范围:-1到 n;

常用的字符串操作:     

(1)x+y 将字符串x与y连接起来     

(2)x*n或n*x 复制n次字符串x     

(3)x in s 如果x是s的子串,结果为True,否则结果为False

#字符串索引及切片操作
s='helloworld'
print(s[0],s[-10])
print('北京欢迎你'[3])
print('北京欢迎你'[-2])
print(s[2:7])#正向递增
print(s[-8:-3])#反向递减
print(s[:5])#默认从0开始
print(s[5:])#默认切片到结尾#常用的字符串操作
x='2005'
y='小明出生'
z='2'
print(x+y)
print(x*10)
print(x in y,z in x)

数据类型之间的转换

函数描述说明
int(x)将 x 转换为整数类型
float(x)将 x 转换为浮点数类型
str(x)将 x 转成字符串
chr(x)将整数 x 转换为一个字符
ord(x)将一个字符 x 转换为其对应的整数值
hex(x)将一个整数 x 转换为一个十六进制字符串
oct(x)将一个整数 x 转换为一个八进制字符串
bin(x)将一个整数 x 转换为一个二进制字符串

 **辨析 str(x) 和 chr(x) :

函数str(x)chr(x)
功能将任意对象转换为字符串表示形式将 整数 转换为对应字符
参数类型任意类型(整数、列表、自定义对象等)必须是整数(范围:0 ~ 1,114,111)
返回值对象的字符串形式(保留结构)长度为 1 的字符串(单个字符)
典型场景字符串拼接、文件写入、打印调试信息生成特殊字符(如表情符号、非 ASCII 字符)

(1)处理整数 

str(65)    # '65'(直接转为数字的文本形式)
chr(65)    # 'A'(Unicode 码点 65 对应字符 'A')

 (2)处理容器类型

str([1, 2])  # '[1, 2]'(保留列表格式的字符串)
chr([1, 2])  # 报错!chr() 只接受整数

 (3)生成特殊字符

chr(128512)  # 😀(笑脸表情)
chr(0x4E2D)  # 中(Unicode 码点 20013)

容器数据类型

list(列表)

可变、有序的元素集合,支持任意数据类型。

x = [1, "apple", True]
x.append(3.14)  # 添加元素

tuple(元组)

不可变、有序的元素集合。

x = (1, "apple", True)
# x[0] = 2  # 错误:元组不可修改

range(范围)

不可变的整数序列,通常用于循环。

x = range(5)  # 生成 0, 1, 2, 3, 4

dict(字典)

无序的键值对集合,键必须唯一且不可变。

d = {"name": "Alice", "age": 30}  # 键值对用冒号分隔
d = dict(name="Alice", age=30)    # 另一种创建方式
print(x["name"])  # 输出: Alice

set(集合)

无序、唯一元素的集合,支持数学集合运算。

s = {1, 2, 3}                     # 直接用花括号
s = set([1, 2, 3])                # 通过列表创建
s = set()                         # 创建空集合(不能用 {},否则是字典)
x.add(4)  # 添加元素

1、数据去重:

lst = [1, 2, 2, 3, 3, 3]
unique_items = set(lst)  # {1, 2, 3}

2、数学集合运算

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1 & s2)  # 交集:{3}
print(s1 | s2)  # 并集:{1, 2, 3, 4, 5}
print(s1 - s2)  # 差集:{1, 2}

转义字符

转义字符描述示例(打印结果)
\\反斜杠本身print('a\\b') → a\b
\'单引号print('I\'m') → I'm
\"双引号print("She said: \"Hi\"") → She said: "Hi"
\n换行符(新行)print('a\nb') →
a
b
\t制表符(Tab)print('Name\tAge') → Name Age
\r回车符(覆盖当前行)print('Hello\rWorld') → WorldHello 被覆盖)
\b退格符(Backspace)print('abc\bd') → abd(删除 c
print('老师说:\"好好学习,天天向上\"')
print('老师说:"好好学习,天天向上"')#加r/R可以使转义字符失效
print(r'老师说:\"好好学习,天天向上\"')
print(R'老师说:\"好好学习,天天向上\"')

算术运算符

运算符描述说明示例结果
+加法1+12
-减法1-10
*乘法2*36
/除法5/22.5
//整除5//22
%取余10%31
**幂运算2**416

和 C/C++ 的除法计算不同, C/C++ 的除法运算会直接舍去小数部分(相当于 Python 中的整除)

赋值运算符 

运算符描述说明示例展开形式
=简单的赋值运算x=yx=y
+=加赋值x+=yx=x+y
-=减赋值x-=yx=x-y
*=乘赋值x*=yx=x*y
/=除赋值x/=yx=x/y
%=取余赋值x%=yx=x%y
**=幂赋值x**=yx=x**y
//=整除赋值x//=yx=x//y

比较运算符

运算符描述说明示例结果
>大于98>90True
<小于98<90False
==等于98==90False
!=不等于98!=90True
>=大于或等于98>=98True
<=小于或等于98<=98True

逻辑运算符

运算符描述说明用法结合方向
and逻辑与表达式 1 and 表达式 2从左到右
or逻辑或表达式 1 or 表达式 2从左到右
not逻辑非not 表达式从右到左
表达式 1表达式 2表达式 1 and 表达式 2表达式 1 or 表达式 2not 表达式 1
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseFalseFalseFalseTrue
FalseTrueFalseTrueTrue

优先级从高到低依次为非与或not > and > or 

位运算符

把数字看作二进制数来进行计算。

按位与(&)、按位或(|)、按位异或(^)//不同为 1 、按位取反(~)

左移位(<<)//左边高位舍弃,右边低位补0、右移位(>>)//右边地位舍弃,左边高位补0

【左乘右除:向左移位是乘法操作,向右移位是除法操作】

运算符的优先级

运算符描述说明
**幂运算
~、+、-取反、正号、负号
*、/、%、//算术运算符
+、-算术运算符
<<、>>位运算符中的左移位和右移位
&位运算符中的按位与
^位运算符中的异或
|位运算符中的按位或
<、<=、>、>=、!=、==比较运算符
=赋值运算符

今天的分享就到这里啦~~

谢谢你的观看!!

http://www.lryc.cn/news/581243.html

相关文章:

  • App爬虫实战篇-以华为真机手机爬取集换社的app为例
  • 11_架构演进:从单体到云原生的蜕变
  • 【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
  • Apache 配置文件提权的实战思考
  • Feign调用报“请求方法POST不支持“错误
  • 在sf=0.1时测试fireducks、duckdb、polars的tpch
  • 《设计模式之禅》笔记摘录 - 4.抽象工厂模式
  • pagecache过多导致oom的排查记录
  • 单用户模式、紧急模式、救援模式有什么区别
  • LeetCode 第89题:格雷编码
  • PostgreSQL表操作
  • 深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
  • python缓存装饰器实现方案
  • python中执行前置操作,后置操作的几种方法
  • 【QT】事件(鼠标、按键、定时器、窗口)
  • JVM的位置和JVM的结构体系
  • Java创建型模式---工厂模式
  • PVE DDNS IPV6
  • 基于Elasticsearch的短视频平台个性化推荐系统设计与实现
  • SwiftUI 7(iOS 26)中玻璃化工具栏的艺术
  • 介绍electron
  • 基于spark的奥运会奖牌变化数据分析
  • 国产 OFD 标准公文软件数科 OFD 阅读器:OFD/PDF 双格式支持,公务办公必备
  • day44打卡
  • cmd 的sftp传输;Conda出现环境问题: error: invalid value for --gpu-architecture (-arch)
  • 浅度解读-(未完成版)浅层神经网络-多个隐层神经元
  • 前端-CSS-day1
  • 【openp2p】学习3:【专利分析】一种基于混合网络的自适应切换方法、装 置、设备及介质
  • WSL命令
  • 【爬虫】逆向爬虫初体验之爬取音乐