Python零基础第一天——适合想要开始入门学习python的同学
1. 首先,我们在学习一门语言之前,先了解一下python
1. python的简介
- Python是一门解释型、面向对象以及动态数据类型的高级程序设计语言,语法简洁,非常适合初学者
- 1、 解释型: Python代码在运行时没有了编译这个环节,类似于PHP语言
- 2、面向对象: Python支持面向对象的风格或代码封装在对象的编程技术
- 3、动态数据类型:Python中没有对变量类型进行限制,代码非常灵活
- 4、适合初学者:Python语法简洁明了,从设计上降低代码复杂程度,支持领域非常广泛,如文字处理、WEB应用开发、游戏开发、数据分析、人工智能
2. python的特点
- 1、易于学习和维护:Python关键字较少,结构简单,语法明确,代码清晰
- 2、丰富的库:Python的最大的优势之一是丰富的库,涵盖计算机各个领域
- 3、跨平台:在不同系统的兼容很好,基于其开源特性,Python已经被移植到许多平台
- 4、可扩展:如果想编写一些不愿开放的算法,可使用C或C++完成该功能,然后在Python程序中调用
- 5、数据库支持友好:Python提供所有主要的商业数据库的接口
- 6、GUI编程:Python支持GUI,可以创建和移植到许多系统中使用
- 7、可嵌入: 可以将Python嵌入到C/C++程序,让程序获得"脚本化"的能力
3、输入和输出,相信大家都不会陌生的“hello,world!”
1.用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出’hello, world’,
print("hello,world!")
hello,world!
2.print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出,
print("hello", "world!")
hello world!
3.在打印多个字符串的同时,也可以通过sep指定分隔符,代码如下
print("hello", "world!", sep="|")
hello|world!
4.print()也可以打印整数,或者计算结果,具体用代码实现如下:
a = 2 * 6
print(a)
12
5.Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
# input
# 使用变量接收一个人名 然后print输出 welcome 人名
name = input()
print("welcome",name)
zhangsan
welcome zhangsan
- 当输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,可以输入任意字符,然后按回车后完成输入
- 但是程序运行的时候,没有任何提示信息告诉用户:“请输入你的名字”,这样显得很不友好,于是input()可以显示一个字符串来提示用户,例如:
name = input("请输入你的名字:")
print("welcome",name)
请输入你的名字:zhangsan
welcome zhangsan
2.接下来,我们来认识Python的基础语法
- 包括变量、注释、基本数据类型、格式化字符串、运算符、选择循环结构
1.变量
- 变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念
- 变量的命名规则(这个规则较重要):
- 1、必须是大小写字母、数字、下划线_
- 2、不能以数字开头
- 3、不能是关键字
# 所有的import 最好都放在程序文件的上面
import keyword
# 常量 python里没有常量
# 一般常量都用大写字母
PI = 3.14
# 变量规范
# 大小写字母 数字 下划线 构成 但是不能是数字开头
# 能不能是关键字(保留字)
a = 10
b = 10
ab = 10
aA_10 = 11
_a = 12
if_a = 1
2.注释
1.注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性,让人们能够更加轻松地了解代码
2.Python 中的注释有单行注释和多行注释
- 单行注释以 # 开头
- 多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来
# 注释 单行注释 一般用于代码注释或者解释
# 注释的文字或者代码一般不执行
# 快捷注释 /快捷取消注释 Ctrl + /
'''
多行注释
这是单引号的多行注释
'''
"""
这是双引号的多行注释
其实也是一个字符串
"""
3. 基础数据类型
- 在Python中,能够直接处理的数据类型有以下几种:
- 1、整型int
- 1、Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等
- 2、计算机由于使用二进制,所以有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等
-3、 对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4
- 1、整型int
# : int 是一种提示 没有任何作用 是编辑器提供的和解释器无关
age: int = 18
# type() 查看变量的数据类型
print(age, type(age))
18 <class 'int'>
- 2、浮点数float
- 1、浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的
- 2、浮点数可以用数学写法,如1.23,3.14,-9.01,等等
- 3、但是对于很大或很小的浮点数,就必须用科学计数法表示,显示时会把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
# 浮点型
height = 1.88
height1 = 0.000000000000000000000001
print(height1)
# 1e-24 e 是 10
1e-24
- 3、字符串str
-
1、字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,“xyz"等等。请注意,''或”“本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。如果’本身也是一个字符,那就可以用”"括起来,比如"I’m OK"包含的字符是I,',m,空格,O,K这6个字符。
-
2、如果字符串内部既包含’又包含"怎么办?可以用转义字符\来标识,转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\
-
3、如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r’一个字符串’ 表示 ‘一个字符串’ 内部的字符串默认不转义
-
4、如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’‘’…‘’'的格式表示多行内容
-
# 字符串类型
# 单引号和双引号
strs = 'adadsa'
strss = "abdasda"
- 4、布尔bool
- 1、布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False:
- 2、在Python中,可以直接用True、False表示布尔值(区分大小写),也可以通过布尔运算计算出来
# bool 类型 True False
a = True
print(a == 1)
True
4.格式化字符串
- 我个人推荐使用f-string格式,我也习惯用这种方法,较简单,其他的可能相对有点复杂
- f-string:使用以f开头的字符串,它也可用于格式化字符串,字符串如果包含{xxx},就会以对应的变量替换
# 格式化字符串
msg = "尊敬的xxx,您本月话费消费xx元,您的账户余额为xx元,打败了全国xx%的用户,如余额不足请及时缴费。xxxx年xx月xx日。"
name = "zhangsan"
cost = 88.88
balance = 66.60
percent = 77.77
year = 2024
month = 3
day = 8
# 方法1:占位符 %d 整数 %s 字符串 %f 浮点型
msg_new = """尊敬的%s,您本月话费消费%.2f元,您的账户余额为%.2f元,
打败了全国%.2f%%的用户,如余额不足请及时缴费。%d年%02d月%02d日。"""
print(msg_new % (name, cost, balance, percent, year, month, day))
# 方法2:.format
msg_new = """尊敬的{},您本月话费消费{:.2f}元,您的账户余额为{:.2f}元,
打败了全国{:.2f}%的用户,如余额不足请及时缴费。{}年{:02d}月{:02d}日。"""
print(msg_new.format(name, cost, balance, percent, year, month, day))
msg_new = """尊敬的{n},您本月话费消费{c:.2f}元,您的账户余额为{b:.2f}元,
打败了全国{p:.2f}%的用户,如余额不足请及时缴费。{y}年{m:02d}月{d:02d}日。"""
print(msg_new.format(n=name, c=cost, b=balance, d=day, p=percent, y=year, m=month))
# 方法3:![image.png](https://s2.loli.net/2024/03/20/8E1WmlhOuQaqo4L.png)f-string
msg_new = f"""尊敬的{name},您本月话费消费{cost:.2f}元,您的账户余额为{balance:.2f}元,
打败了全国{percent:.2f}%的用户,如余额不足请及时缴费。{year}年{month:02d}月{day:02d}日。"""
print(msg_new)
5.运算符
1.算术运算符
# 运算符
# 算术运算符
print(1 + 2)
print(1 - 2)
print(1 * 2)
print(1 / 2)
print(9 % 2)
print(3 ** 3)
print(5 // 2) # 向下取整
3
-1
2
0.5
1
27
2
2.比较(关系)运算符
# 比较运算符
a, b = 10, 20
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a <= b)
print(a >= b)
False
True
False
True
True
False
3.赋值运算符
# 赋值运算符
# =
a = 10
a += 1 # a = a + 10
a -= 1
a *= 2 # a = a * 2
print(a)
a /= 5
print(a)
a %= 3
print(a)
a **= 2
print(a)
a //= 2
print(a)
20
4.0
1.0
1.0
0.0
4.逻辑运算符
# 逻辑运算符 and or not
a, b = 10, 20
print(a and b)
print(a or b)
print(not a)
20
10
False
5.位运算符
a, b, c = 60, 13, 0
print(a & b)
# 与运算 上下两位结果都是1 结果为1 否则为0
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0000 1100
print(a | b)
# 或运算 上下两位结果都是0 结果为0 否则为1
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0011 1101
print(a ^ b)
# 或运算 上下两位结果相异 结果为1 否则为0
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0011 0001
print(~a)
# 1100 0011
# 0011 1101
print(a << 2)
# 0011 1100 00
print(a >> 2)
# 0011 11
12
61
49
-61
240
15