Skip to content

编程初体验

  • 编码必须要保持:保存和打开一直,否则会乱码。

  • 默认 Python 解释器是以 UTF-8 编码的形式打开文件。如果想要修改 Python 的默认解释器编码,可以这样干:

    bash
    # -*- coding:gbk -*-
    print("我是隆海")

所有 Python 代码文件的都要以 UTF-8 编码保存和读取。

image-20230905175137544

输出

bash
print("隆海的文档库")
bash
print("                                                            * *  ")
print("                                                         * * * *  ")
print("                                                      * * * * * *  ")
print("                                                   * * * * * * * *  ")
print("                                                * * * * * * * * * *  ")
print("                                             * * * * * * * * * * * *  ")
print("                                              * * * * * * * * * * * *  ")
print("                                               * * * * * * * * * * * *  ")
print("                                      * *       * * * * * * * * * * * *  ")
print("                                   * * * *       * * * * * * * * * * * *  ")
print("                                * * * * * *       * * * * * * * * * * * *  ")
print("                             * * * * * * * *       * * * * * * * * * * * *  ")
print("                          * * * * * * * * * *       * * * * * * * * * * * *  ")
print("                       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("                        * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("                         * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("                * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("             * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("          * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("       * * * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("    * * * * * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print(" * * * * * * * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("  * * * * * * * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")
print("   * * * * * * * * * * * *       * * * * * * * * * * * *       * * * * * * * * * * * *  ")

默认 print 在尾部会加换行符,可以传入第二参数 end=' '

想要不换行,则可以这样干

bash
print("隆海的文档库",end="")
print("pythl.com",end="")

输出:
隆海的文档库pythl.com

变量

变量名的规范

三个规范(只要有一条就会报错):

  • 变量名只能由 字母、数字、下划线 组成。

  • 不能以数字开头

  • 不能用 Python 内置的关键字

    [‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

建议:下划线连接命名(小写),见名知意

输入

输入,可以实现程序和用户之间的交互。

python
name = input("请输入用户名:")

if name == "longhai":
  print("登录成功")
else:
  print("登录失败")

data = input(">>>")
print(data)

特别注意:用户输入的任何内容本质上都是字符串。

python
number1 = input("请输入一个数字:") # "1"
number2 = input("请输入一个数字:") # "2"

value = int(number1) + int(number2)
print(value)

注释

写代码时候,如果想要对某写内容进行注释处理,即:解释器忽略不会按照代码去运行。

  • 单行注释

    python
    # 声明一个name变量
    name = "longhai"
    
    age = 19 # 这表示当前用户的年龄
    
    注意:键盘快捷键 command + ?  、   control + ?
  • 多行注释

    python
    # 声明一个name变量
    # 声明一个name变量
    # 声明一个name变量
    name = "longhai"
    
    """
    多行注释内容
    多行注释内容
    多行注释内容
    """
    age = 19

条件语句

基本条件语句

示例 1:

python
print("开始")
if True:
  print("123")
else:
  print("456")
print("结束")

# 输出结果
开始
123
结束

示例 2:

bash
num = 19
if num > 10:
	print("num变量对应值大于10")
else:
	print("num变量对应值不大于10")

示例 3:

python
username = "longhai"

if username == "longhai" or password == "lh123":
	print("VIP大会员用户")
else:
	print("普通用户")

多条件判断

python
if 条件A:
  A成立,执行此缩进中的所有代码
  ...
elif 条件B:
  B成立,执行此缩进中的所有代码
  ...
elif 条件C:
  C成立,执行此缩进中的所有代码
  ...
else:
  上述ABC都不成立。
python
num = input("请输入数字")
data = int(num)
if data>6:
  print("太大了")
elif data == 6:
  print("刚刚好")
else:
  print("太小了")

条件嵌套

python
if 条件A:
    if 条件A1:
        ...
    else
   	    ...
elif 条件B:
    ...

模拟 10086 客服

python
print("欢迎致电10086,我们提供了如下服务: 1.话费相关;2.业务办理;3.人工服务")

choice = input("请选择服务序号")

if choice == "1":
    print("话费相关业务")
    cost = input("查询话费请按1;交话费请按2")
    if cost == "1":
        print("查询话费余额为100")
    elif cost == "2":
        print("交互费")
    else:
        print("输入错误")
elif choice == "2":
    print("业务办理")
elif choice == "3":
    print("人工服务")
else:
    print("序号输入错误")

基本数据类型

整形(int)

整形,整数。

整型,其实就是以前数学课上讲的整数(不包含小数),在写代码时用于表示整数相关的东西,例如:年龄、存款、尺寸、手机号等。 一般我们提到的:5、18、22、99、… 等整数 在 Python 中都称为是整型,且支持 加/减/乘/除/取余/指数 等操作

字符串(str)

字符串,其实就是我们生活中的文本信息。例如:姓名、地址、自我介绍等。 字符串有一个特点,他必须由引号引起来

单行字符串

python
str1='longhai'
str1='你很帅哦!'

多行字符串

python
print("""四川成都市""")
print('''重庆九龙坡''')

对于字符串:

  • 加,两个字符串可以通过加号拼接起来。

    python
    print( "晚生" + "隆海" )
  • 乘,让整形和字符串进行相乘,以实现让字符串重复出现 N 次并拼接起来。

    python
    print(3 * "我想吃饺子")

布尔类型(bool)

布尔类型中共有两个值:True / False

python
print(1 > 2)
print(False)

print(1 == 1)
print(True)

注意:数字和字符串是无法比较

python
#以下不可以比较
if '222' > 1:
    print('111')
else:
    print(222)

#以下可以比较
if '222' == 111:
    print('111')
else:
    print(222)

image-20230907125434444

类型转换

上文数据类型 int/str/bool 有了初步了解,他们都有自己不同的定义方式。

  • int,整型定义时,必须是数字且无引号,例如:5、8、9
  • str,字符串定义时,必须用双引号括起来,例如:”中国”、”隆海”、”777”
  • bool,布尔值定义时,只能写 True 和 False

不同的数据类型都有不同的功能,例如:整型可以加减乘除 而 字符串只能加(拼接)和乘法。 如果想要做转换可遵循一个基本规则:想转换什么类型就让他包裹一些。

例如:str(666) = "666"是将整型转换为字符串、int(“888”)是将字符串转 888。

三句话搞定类型转换:

  • 其他所有类型转换为布尔类型时,除了 空字符串、0 以为其他都是 True。

  • 字符串转整形时,只有那种 "988" 格式的字符串才可以转换为整形,其他都报错。

  • 想要转换为那种类型,就用这类型的英文包裹一下就行。

    python
    str(...)
    int(...)
    bool(...)

数据类型暂时讲这么多,后面章节有详细的其它数据类型介绍

字符串格式化

字符串格式化,使用跟便捷的形式实现字符串的拼接。

%格式化

基本格式化操作

python
name = "隆海"
# 占位符
# text = "我叫%s,今年18岁" %"隆海"
text = "我叫%s,今年18岁" %name
print(text)
python
name = "隆海"
age = 18

text = "我叫%s,今年%d岁" %(name,age)
print(text)
python
message = "%(name)s你什么时候过来呀?%(user)s今天不在呀。" % {"name": "死鬼", "user": "老王"}
print(message) #死鬼你什么时候过来呀?老王今天不在呀。

百分比

python
text = "兄弟,这个片我已经下载了90%了,居然特么的断网了"
print(text)
python
text = "%s,这个片我已经下载了90%%了,居然特么的断网了" %"兄弟"
print(text)
# 输出:兄弟,这个片我已经下载了90%了,居然特么的断网了

一旦字符串格式化中存现百分比的显示,请一定要呀加 %% 以实现输出 %。

format(推荐)

python
text = "我叫{0},今年18岁".format("唐海龙")
print(text)
text = "我叫{0},今年{1}岁".format("唐海龙",18)
print(text)
text = "我叫{0},今年{1}岁,真实的姓名是{0}。".format("唐海龙",18)
print(text)
python
text = "我叫{name},今年18岁".format(name="唐海龙")
print(text)
text = "我叫{name},今年{age}岁".format(name="唐海龙",age=18)
print(text)
text = "我叫{name},今年{age}岁,真实的姓名是{name}。".format(name="唐海龙",age=18)
print(text)
python
text = "我叫{0},今年{1}岁"
data1 = text.format("唐海龙",666)
data2 = text.format("隆海",113)
print(data1)
print(data2)
python
text = "我叫%s,今年%d岁"
data1 = text %("唐海龙",20)
data2 = text %("隆海",84)
print(data1)
print(data2)

f 格式化

到 Python3.6 版本,更便捷。

python
text = f"嫂子喜欢{'跑步'},跑完之后满身大汗"
print(text)
python
name = "大大"
age = 18
text = f"嫂子的名字叫{name},今年{age}岁"
print(text)# 嫂子的名字叫大大,今年18岁
python
# 在Python3.8引入
text = f"嫂子的名字叫喵喵,今年{19 + 2=}岁"
print(text)# 嫂子的名字叫喵喵,今年19 + 2=21岁

name = "longhai"
text = f"我是{ name.upper() },我爱大大"
print(text) # 我是LONGHAI,我爱大大
python
# 进制转换
v1 = f"嫂子今年{22}岁"
print(v1)

v2 = f"嫂子今年{22:#b}岁"
print(v2)

v3 = f"嫂子今年{22:#o}岁"
print(v3)

v4 = f"嫂子今年{22:#x}岁"
print(v4)

{}中是可以运算和执行方法

运算符

提到运算符,我想大家首先想到的就是加、减、乘、除之类, 本节要系统的跟大家来聊一聊,我们写代码时常见的运算符可以分为 5 种:

算数运算符

运算符描述实例
+加-两个对象相加a+b=30
-减-得到负数或是一个数减去另一个数a - b 输出结果-10
*乘–两个数相乘或是返回一个被重复若干次的字符串a *b 输出结果 200
/除–x 除以 yb / a 输出结果 2
%取模–返回除法的余数b % a 输出结果 1
**幂–返回 x 的 y 次幂a**b 为 10 的 20 次方,输出结果 100000000000000000000
//取整除–返回商的整数部分9//2 输出结果 4 ,9.0//2.0 输出结果 4.0

比较运算符

运算符描述实例
==等于-比较对象是否相等a==b
!=不等于-比较两个对象是否不相等
<>不等于-比较两个对象是否不相等
>不等于-比较两个对象是否不相等
<小于–返回 x 是否小于 y。
所有比较运算符返回 1 表示真,返回 0 表示假。
这分别与特殊的变量 True 和 False 等价。注意,这些变量名的大写。
>=大于等于–返回 x 是否大于等于 y。
<=小于等于–返回 x 是否小于等于 y。

赋值运算符

运算符描述实例
=简单的赋值运算符c = a+b 将 a+b 的运算结果赋值为 c
+=加法赋值运算符c -= a 等效于 c= c- a
-=减法赋值运算符c -= a 等效于 c= c- a
*=乘法赋值运算符c *= a 等效于 c= c " a
/=除法赋值运算符c /= a 等效于 c= c / a
%=取模赋值运算符c%= a 等效于 c= c % a
**=幂赋值运算符c **= a 等效于 c= c"" a
//=取整除赋值运算符c l/= a 等效于 c= cll a

成员运算符

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。
not innot in 如果在指定的序列中没有找到值返回 True,否则返回 False。

逻辑运算符

运算符描述实例
and布尔"或"-如果 x 是 True,它返回 True,否则它返回 y 的计算值。
or布尔"或"-如果 x 是 True,它返回 True,否则它返回 y 的计算值。
not布尔"非"-如果 x 为 True,返回 False。如果 x 为 False,它返回 True。

运算符优先级

运算符的优先级有很多,常见的 3 个如下:

  • 算数优先级优先级 大于 比较运算符
  • 比较运算符优先级 大于 逻辑运算符
  • 逻辑运算符内部三个优先级 not > and > or

述这 3 个优先级从高到低总结:加减乘除 > 比较 > not and or 。绝招:加括号。