3 Python语法快速入门(基础篇)

Python是用什么语言实现的?

C、Java

对应的有两种解释器:

1、CPython,应用更广泛

2、Jpython,相当于是把Python代码编译成Java字节码运行在JVM上。 优点:执行效率更高 缺点:编译需要花时间

怎么执行源文件?

py 复制代码
py hello.py
python hello.py

本质都是D:/Python/python.exe d:/Pytest/hello.py

注释

单行注释

# print("aaa")

规范

1、#与被注释内容之间存在一个空格。
2、#与语句末尾之间存在两个空格。

多行注释

python 复制代码
"""
这是多行注释
"""

'''
这也是多行注释
'''

python的版本

版本 Python2 Python3
输入方式 raw_input() input()
输出方式 print "hello" print("hello")
编码格式 默认ASCII 默认utf-8
字符串格式化 百分号% "hello,%s" %("world") format()函数 "hello,{}".format("world")

Python3是没法向下兼容的。并且Python2已经停止维护了。

用什么版本呢?通常不建议用最新的版本,建议用前1-2个版本,会更稳定。

变量

是什么?

临时存储数据的容器。 为什么说是临时存储呢?因为当程序运行时,数据会被加载进变量的内存空间,而运行结束后,内存空间中的数据就被释放了。

是变化的量。也就是说在程序运行的过程中,变量的值可以被修改。

变量是怎么定义的?

变量名 = 变量值

例:a = 1

规范

1、必须先定义,再使用。
2、变量的赋值。
1)定义的时候必须赋初始值。
2)给多个变量赋相同值。

a = b = 1

3)给多个变量赋不同值。

a, b = 1, 2

3、变量的命名:
1)不能和标识符 关键字重名。
2)由字母 数字 下划线组成。不能有其他的字符。不能以数字开头
3)最好不要包含中文。

原因:

a.控制台或日志中的编码不兼容,还是会出现乱码的情况

b、关键字还是英文的,切换输入法太麻烦

4)下划线命名法与驼峰命名法

下划线命名法:

1、字母全部小写

2、单词之间用下划线分隔 例子:user_name

驼峰命名法: 两个单词的首字母大写。

5)Python中变量名对大小写敏感。Agent和agent是两个变量。

关键字与标识符

什么是关键字?

系统定义好的 有功能或含义的 字符。

什么是标识符?

程序员定义的 有功能或含义的 字符。

如此说来:变量名 函数名 类名 文件名 都属于标识符。

数据类型(常用的三大类)

基本数据类型

数值型

整型int

浮点型float

布尔型

bool

值:True、False

True转为整数是1,False转为整数是0。

容器类型

字符串str

不可变数据类型。

特点:用单引号/双引号包裹。

长度:len(str1)

py 复制代码
print(len('H'))  # 1
print(len('1'))  # 1
print(len('_'))  # 1
print(len(' '))  # 1
print(len('\t')) # 1

我们发现,单个字母、数字、符号、空格 以及完整的转义字符的长度都为1。

用索引可以获取字符串中的单个字符。

py 复制代码
print("Hello"[1])  # e

怎么获取字符串中的最后一个字符?

py 复制代码
str = "hello"
print(str[len(str)-1])  # h
print(str[-1])  # h

列表list

可变数据类型

常用方法

append添加

pop删除/弹出

元组tuple

不可变数据类型

字典dict

dictionary的缩写。 可变数据类型

集合set

可变数据类型

空值类型NoneType

值为None

None是什么?

不是0,不是False,不是空字符串。 表示完全没有值。

什么时候用?

当我需要一个变量,但是暂时不知道它的值是什么。 此时就可以先赋值为None。

怎么判断一个变量的数据类型?

py 复制代码
a = "hello"
b = 5
c = 5.0
d = True
e = None
print(type(a))  # str
print(type(b))  # int
print(type(c))  # float
print(type(d))  # bool
print(type(e))  # NoneType

对比:Java有哪些数据类型?

基本数据类型

数值型

整型:byte、short、int、long 它们有什么区别?占用的内存空间大小不同。

数据类型 byte short int long
内存空间 1字节 2字节 4字节 8字节

浮点型:float、double

布尔型boolean

true flase 1字节

和python区别:python的是大写开头

字符型char

1字节

引用类型

对象object
接口interface
数组array

Python和Java关于变量数据类型的不同点

在Python中,变量的数据类型可以随意改变。 在Java中,变量的数据类型在定义的时候就已经确定了,无法改变。 Python是动态数据类型,Java是静态数据类型。

数据类型转换

数值类型的精度

精度从低到高排列:int、float

高精度转低精度会丢失精度。 人话:浮点数转整数,会进行向下取整,去除小数部分,保留整数部分。

int与float之间的转换

py 复制代码
a = 1
b = float(a)
print(b)  # 1.0
c = 1.5
d = int(c)
print(d)  # 1

数值型与str之间的转换

1、数值型可以直接转str型。

py 复制代码
a = 1
b = str(a)
print(b)  # 1
print(type(b))  # <class 'str'>

c = 1.5
d = str(c)
print(d)  # 1.5
print(type(d))  # <class 'str'>

2、str型转数值型。如果转float,那么引号包裹的可以是小数或整数。如果转int,那么引号包裹的只能是整数。

py 复制代码
str1 = '1'
a = float(str1)
print(a)  # 1
print(type(a))  # <class 'float'>

b = int(str1)
print(b)  # 1
print(type(b))  # <class 'int'>

str2 = '1.5'
c = float(str2)
print(c)  # 1.5
print(type(c))  # <class 'float'>

d = int(str2)  # 报错:ValueError: invalid literal for int() with base 10: '1.5'

常用的数据类型转换

py 复制代码
# 转整数
a = '3'
b = 2.5
c = int(a)
print(c)  # 3
print(type(c))  # <class 'int'>

d = int(b)
print(d)  # 2
print(type(d))  # <class 'int'>

# 转浮点数
e = 1
f = '6.6'
g = float(e)
print(g)  # 1.0
print(type(g))  # <class 'float'>

h = float(f)
print(h)  # 6.6
print(type(h))  # <class 'float'>

# 转字符串


# 计算在字符串中的有效python表达式,并返回一个对象


# 转元组


# 转列表

输入输出

输入

input("请输入内容:")

1、input函数让进程进入阻塞状态,等待用户输入。输入后按Enter键结束输入,程序继续执行。

2、需要定义变量接收输入内容。

name = input("请输入你的姓名:")

3、输入内容会被转换为字符串类型。

py 复制代码
age = input("请输入您的年龄:")
print(type(age))  # <class 'str'>

格式化输出

什么意思?

按照指定的格式输出内容。

比如以字符串的格式输出;以有符号的十进制整数的格式输出;以浮点数的格式输出

py 复制代码
age = 16
print('小王今年 %d 岁' % age)

# 本质上是
str = '小王今年 %d 岁' % age
print(str)

格式化输出 = 格式化 + 输出。也就是说输出前就已经格式化完了。 即:格式化是字符串的功能,print()函数只是把内容输出到控制台里。

格式化输出的三种方式

占位符

先上一个例子:

py 复制代码
brand_name = 'BMW'
price = 220000.2323
number = 3
print('brand_name is %s' % brand_name)
print('brand_name is %s, price is %.2f, number is %05d' % (brand_name, price, number))

规则:

1)不同数据类型的变量要用不同的占位符进行占位。

2)如果有多个占位符,后面对应的变量要用括号括起来。变量数要与占位符数量一致。

3)格式化完成后,会在占位符位置上填充上对应的变量。

4)浮点数精度处理: 取小数点后N位,%.Nf

5)整数处理: 如果不足则在前面补N个0,%Nd

f-string

这个方式是python3.6中新增的

py 复制代码
user_name = "zoo"
str1 = f'name = {user_name}'
print(str1)

salary = 20000.688
print(f'小王上个月的薪资为{salary:.1f}')

stu_no = 2
print(f'小王的工号是{stu_no:06d}')

解释:.1f意思是保留小数点后1位。 06d的意思是,总共有6位数,如果不足6位就用0填充

format方法
py 复制代码
year = 2002
age = 18
str1 = "今年是{0}年,小李{1}岁".format(year, age)
print(str)

持续更新中

相关推荐
Blossom.1189 分钟前
使用Python和TensorFlow实现图像分类的人工智能应用
开发语言·人工智能·python·深度学习·安全·机器学习·tensorflow
xx155802862xx9 分钟前
用Redisson实现库存扣减的方法
java·python
小文数模1 小时前
2025数维杯数学建模C题完整分析参考论文(共36页)(含模型、可运行代码、数据)
python·数学建模·matlab
是梦终空1 小时前
Python毕业设计219—基于python+Django+vue的房屋租赁系统(源代码+数据库+万字论文)
python·django·vue·毕业设计·毕业论文·源代码·房屋租赁系统
Q_Q19632884751 小时前
python小区物业管理系统-小区物业报修系统
开发语言·spring boot·python·django·flask·node.js·php
小小毛桃2 小时前
使用PyTorch训练马里奥强化学习代理的完整指南
人工智能·pytorch·python
yuanpan2 小时前
平面坐标系中判断点P是否在线段上AB上的常用方法总结
开发语言·python·平面·点线关系
海拥✘2 小时前
用Python监控金价并实现自动提醒!附完整源码
开发语言·python
王大傻09282 小时前
python实现点餐系统
python
知识中的海王2 小时前
猿人学web端爬虫攻防大赛赛题第7题——动态字体,随风漂移
爬虫·python