Python 基本语法

Python 中的注释方法

1. 单行注释

使用 # ,则 Python 解释器不会解释当前行

print("随机数:", round(random.random() * 100))  # 获取 1~100 的随机数

2. 多行注释

方法一:“”“xxx”“”

方法二:‘’‘xxx’‘’

"""
print("随机数:", round(random.random() * 100))  
print("当前时间:", datetime.datetime.now().strftime("%Y-%m-%d %X")) 
"""

'''
print("随机数:", round(random.random() * 100))  
print("当前时间:", datetime.datetime.now().strftime("%Y-%m-%d %X"))  
'''

print("Hello Python")

Pep8 规范

image-20240427211118205

PyCharm 自动格式化:Ctrl + Alt + L

变量

快捷键:Ctrl + D

作用:将当前行复制到下一行

快捷键:Ctrl + /

作用:将选中行注释掉

1. 变量的多次使用

# 执行完后被垃圾回收
print(1 + 2)
print(1 - 2)

# 使用变量则不会被垃圾回收 还可以反复使用
x = 1
y = 2
print(x + y)
print(x - y)

直接使用常数计算,计算结束后,Python 解释器会把没有变量引用的数据进行垃圾回收。这样每次计算都要在内存中开辟空间,计算,回收,开销很大;

而使用变量则可以进行存储,变量可以被反复使用,不会被垃圾回收。

2. 变量的修改

x = 10	# 会被垃圾回收
print(x)
x = 20
print(x)

相当于内存中新开辟一个空间为 20,变量 x 指向这个新的空间,之前的 10 由于没有被变量引用,会被垃圾回收。

3. 变量的命名规范

image-20240427214545670

命名要做到见名知意:

  1. 下划线分隔

  2. 小驼峰命名

my_first_name = "沈"
mySecondName = "Shen"

基本数据类型

1. 整型和浮点型

整型:int

浮点型:float

使用内置函数 type() 可以返回数据的类型,但是需要结合内置函数 print() 才能打印出来

x = 10
y = 3.14159

print(type(x))
print(type(y))

# 输出结果:
<class 'int'>
<class 'float'>

2. 布尔类型

布尔类型:bool

用于表示真、假两种状态,主要用作条件判断

关键字:

真 – True

假 – False

x = 10
y = 3.14159

print(x > y)
print(x <= y)
print(type(x > y))

# 输出结果:
True
False
<class 'bool'>

布尔类型也可以直接赋值给变量

a = True
b = False

print(a, b)
print(type(a))

# 输出结果:
True False
<class 'bool'>

所有数据类型都有自己的布尔值

零值:所有数据类型中都有且只有一个值的 bool 状态是 False,该值称为此类型的零值。

整型、浮点型零值:0

字符串零值:“”

列表零值:[]

字典零值:{}

print(2 == 1)           # 表面
print(bool(2 == 1))     # 实际
print(bool(0))          # 整型零值
print(bool(0.0))        # 浮点型零值
print(bool(""))         # 空字符串
print(bool([]))         # 空列表
print(bool({}))         # 空字典

# 输出结果:
False
False
False
False
False
False
False

3. 字符串类型

image-20240428115446361

3.1 字符串的创建

Python 中字符串可以使用单引号双引号三引号表示

str1 = "Hello 沈"        # 双引号可以
str2 = '嘉 Jarvis'       # 单引号也可以
str3 = """				
没想到吧
三引号也行
本质上是一个字符串
如果不赋值给变量,就是注释
如果赋值给变量,就是字符串
"""

print(str1)
print(str2)
print(str3)

# 输出结果:
Hello 沈
嘉 Jarvis

没想到吧
三引号也行
本质上是一个字符串
如果不赋值给变量,就是注释
如果赋值给变量,就是字符串

3.2 字符串中的转义符

转义字符的作用:

  1. 将某些普通符号给予特殊的功能

  2. 将一些特殊功能的符号普通化

image-20240428120946059

\n’ 表示换行

# 将某些普通符号给予特殊的功能
print("I am a Student\nMy age is 21")

# 输出结果:
I am a Student
My age is 21

\t’ 表示 Tab 即制表符

# 将某些普通符号给予特殊的功能
print("I am a Student\tMy age is 21")

# 输出结果:
I am a Student	My age is 21

\r’ 表示回车,光标回到当前行最左边,\r 后面的内容会覆盖当前行的内容

# 将某些普通符号给予特殊的功能
print("I am a Student\rHello")

# 输出结果:
Hello

将一些特殊功能的符号普通化

# 将一些特殊功能的符号普通化
print('Let\'s go')
print("\"Man!\"")
print("F:\\Code\\Python\\Python基础学习\\基本语法\\test1.py")

# 输出结果:
Let's go
"Man!"
F:\Code\Python\Python基础学习\基本语法\test1.py

3.3 字符串的格式化输出

方式一:使用占位符(比较古老)

name = "Jarvis"
age = 21
gender = "male"

print("Name:%s\nAge:%d\nGender:%s" % (name, age, gender))

# 输出结果:
Name:Jarvis
Age:21
Gender:male

方式二:format 格式化(推荐,3.6版本编译器之后才有)

name = "Jarvis"
age = 21
gender = "male"

print(f"Name:{name}\nAge:{age}\nGender:{gender}")

# 输出结果:
Name:Jarvis
Age:21
Gender:male

3.4 字符串序列的操作

image-20240428124818613
3.4.1 索引操作
# 索引 查询单个字符
str1 = "Hello Python"
print(str1[6], str1[7], str1[8], str1[-3], str1[-2], str1[-1])

# 输出结果:
P y t h o n
3.4.2 切片操作

特点:包头不包尾

str1 = "Hello Python"

# 包头不包尾
print(str1[0:4])
print(str1[0:5])
print(str1[-12:-7])

# 缺省状态
print(str1[6:])     # 表示从 6 索引处一直取到结尾
print(str1[:5])     # 表示从开头一直取到 5 索引处
print(str1[:])		# 切取全部字符串

# 输出结果:
Hell
Hello
Hello
Python
Hello 
Hello Python

注意:切片默认是从左往右切,第一个参数是切片的左边界,第二个参数是切片的右边界。

切片的步长

步长为正时,表示在选定的范围内从左往右每隔 (step - 1)个字符取一个

str2 = "0123456789ABCDEF"

# 步长为正 表示从左往右切
# [start : end : step]
# 表示在选定的范围内 从左往右 每隔 (step - 1) 个字符取一个
print(str2[3:8:1])
print(str2[2:13:2])
print(str2[::3])

# 输出结果:
34567
2468AC
0369CF

步长为负时,表示选定的范围内从右往左每隔 (step - 1)个字符取一个

str2 = "0123456789ABCDEF"

# 步长为负 表示从右往左切
# [start : end : step]
# 表示在选定的范围内 从右往左 每隔 (|step| - 1) 个字符取一个
print(str2[6:1:-1])
print(str2[14:2:-2])
print(str2[::-3])

# 输出结果:
65432
ECA864
FC9630

注意

  1. 步长为正时,必须满足 start < end,否则不会打印出任何结果;
  2. 步长为负时,必须满足 start > end,否则不会打印出任何结果;
3.4.3 字符串的拼接

+’ 实现字符串的拼接

# 字符串的拼接
str3 = "Counting"
str4 = "Stars"
print(str3 + str4)

# 输出结果:
CountingStars

‘*****’ 实现字符串的拼接

print("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
print("a" * 30)

# 输出结果:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3.4.4 计算字符串对象的长度

使用 Python 解释器的内置函数 len() 可以返回字符串中的元素个数

str5 = "CountingStars"
str6 = "某人"
print(len(str5))
print(len(str6))

# 输出结果:
13
2
3.4.5 针对容器类型:判断某个成员是否存在

使用 in 关键字进行判断:

str5 = "CountingStars"

print("Star" in str5)
print("stars" in str5)
print("ting" in str5)

# 输出结果:
True
False
True

3.5 输入输出函数

使用 input() 函数实现输入

# input
name = input("请输入姓名: ")
age = input("请输入年龄: ")
print(f"姓名: {name} 年龄: {age}")
print(type(age))

# 输入:
请输入姓名: Jarvis
请输入年龄: 21

# 输出:
姓名: Jarvis 年龄: 21
<class 'str'>

注意:input() 函数会把输入的内容转化为字符串类型,再传递给变量

num1 = input("Number1: ")
num2 = input("Number2: ")
print(type(num1), type(num2), num1 + num2)
print(type(int(num1)), type(int(num2)), int(num1) + int(num2))

# 输入:
Number1: 100
Number2: 200

# 输出结果:
<class 'str'> <class 'str'> 100200
<class 'int'> <class 'int'> 300

如果想要通过 input() 输入数据进行计算,需要进行强制类型转换

使用 print() 函数进行输出

print() 函数源码:点击 print() 然后 Ctrl + B 进入

image-20240428164954088

其中,sep=’ ’ 表示在 print 函数中,如果有多个参数,默认以空格进行分隔:

name = "Jarvis"
age = 21
ID = 2021216432
print(name, age, ID)

# 输出:
Jarvis 21 2021216432

也可以对这些参数进行修改,例如,可以修改为 sep= ‘,’

name = "Jarvis"
age = 21
ID = 2021216432
print(name, age, ID, sep=',')

# 输出:
Jarvis,21,2021216432

3.6 字符串的内置方法

方法作用示例输出
upper全部大写“Hello”.upper()“HELLO”
lower全部小写“Hello”.lower()“hello”
startswith()是否以 a 开头“张三”.startswith(“张”)TRUE
endswith()是否以 a 结尾“meinv.png”.endswith(“.jpg”)FALSE
isdigit()是否全数字‘123’.isdigit()TRUE
strip()去除两边空格或换行符" hi yuan \n".strip()“hi yuan”
join()将列表中的多个字符串以指定分隔符连接在一起,参数为列表“-”.join([‘北京’, ‘上海’, ‘深圳’])“北京-上海-深圳"
split()按某字符分割字符串,默认按空格分隔,返回值为列表“北京-上海-深圳".split(“-”)[‘北京’, ‘上海’, ‘深圳’]
find()搜索指定字符串,没有返回 -1“hello yuan”.find(“yuan”)6
index()同上,但是找不到会报错"hello yuan”.index(“yuan”)6
count()统计指定的字符串出现的次数“hello world”.count(“l”)3
replace()替换 old 为 new,可以有第三个参数,表示替换几次hello world’.replace(‘world’,‘python’)“hello python”
capitalize()返回该字符串的首字母大写形式“shen”.capitalize()“Shen”

注意

image-20240428191945894

字符串的很多内置方法都是先复制一个新的字符串副本,然后对新字符串副本进行变换,并不会影响原字符串。这是 Python 的习惯。如下所示:

str1 = "HelloWorld"
str2 = str1.upper()
print(str2)
print(str1)     # 原字符串并没有受影响

# 输出:
HELLOWORLD
HelloWorld

运算符

运算符类别运算符示例结果
计算运算符+ - * / %1+1 5%2分别是 2 和 1
比较运算符> < == >= <=3>2TRUE
赋值运算符= += -= *= %=x=10; x+=2x=12
逻辑运算符and or not2>1 and 32 2>1 or 32FALSE 和 True
成员运算符in5 in [1,2,3,4]FALSE

Python 中进行范围判断时,可以偷懒:

# 范围
age = 20
print(age > 10 and age < 35)	# 正常写法
print(10 < age < 35)			# 更精简的写法

# 输出结果:
True
True
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值