爆肝六万字整理的python基础,快速入门python的首选(上)

举报
AI浩 发表于 2022/01/17 06:10:23 2022/01/17
【摘要】 @[toc] 1 环境安装学习python开发,首先要学会安装Python环境,我一般使用Anaconda+Pycharm作为开发环境。Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果觉得安装包太大可以使用Miniconda。关于环境的安装我已经...

@[toc]

1 环境安装

学习python开发,首先要学会安装Python环境,我一般使用Anaconda+Pycharm作为开发环境。Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果觉得安装包太大可以使用Miniconda。

关于环境的安装我已经写了多篇文章,比如:

Ubuntu20.04的开发环境搭建:(4条消息) Ubuntu 20.04安装 Anaconda和Pycharm_AI浩-CSDN博客

Win10的开发环境搭建:(4条消息) Win10 安装Anaconda、Pycharm、Tensorflow和Pytorch_AI浩-CSDN博客

Anaconda的历史版本下载:(4条消息) Anaconda历史版本_AI浩-CSDN博客,如果不想使用最新的版本,可以找到以前的版本。

2 Python的第一程序Hello World

新建个工程,将其命名为“Python基础”,然后点击“Create”

image-20210826100136979

然后,右击工程,选择“New”,然后选择“Python File”。

image-20210826100257765

将其命名为“第一个Python程序”,然后按“Enter”键

image-20210826100510181

到这里我们创建Python文件的工作就完成成了,下面试试Hello World。

将下面的代码,复制进去:

   print('hello world')

然后右键选择Run,或者使用快捷键“Ctrl+Shift+F10"。

image-20210826100825453

运行结果:

image-20210826100952958

喜欢敲命令的朋友可以选择命令行运行:

python 第一个Python程序.py

image-20210826101134469

3 变量定义和类型

3.1 什么是变量。

打个比方:我最近买了两本书,一本售价89,一本售价118,我想用python计算一下两本书一共要多少钱:

num1 = 89
num2 = 118
num3 = num1 + num2
print(num3)

运行结果:207

所谓的变量就是对计算机存储值的表示,从上面的例子,我们可以得出:

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

3.2 变量的类型

请添加图片描述

如何知道一个变量的类型呢?

在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别

可以使用type(变量的名字),来查看变量的类型,例如:

num1 = 89
num2 = 118
num3 = num1 + num2
print(type(num3))

运行结果:<class ‘int’>

3.3 变量的命名规则

变量的命名规则:

  1. 由字母、下划线和数字组成,且数字不能开头。

  2. 不能使用python的关键字。

​ 关键字有:

      and     as      assert     break     class      continue    def     del
      elif    else    except     exec      finally    for         from    global
      if      in      import     is        lambda     not         or      pass
      print   raise   return     try       while      with        yield
  1. 起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name ,年龄用age。

  2. 驼峰命名法

第一种 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

第二种 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName

第三种 用下划线“_”来连接所有的单词,比如send_buf,这是python主推的命名方法,叫做snake-case。

驼峰法

驼峰法

注:python中的标识符是区分大小写的

大小写

3.4 常用的数据类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

举例

    a = '100' # 此时a的类型是一个字符串,里面存放了1003个字符
    b = int(a) # 此时b的类型是整型,里面存放的是数字100
    print("a=%d"%b)

4 注释

4.1 单行注释

以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用

    # 我是注释,可以在里写一些功能说明之类的哦
    print('hello world')

4.2 多行注释

    '''我是多行注释,可以写很多很多行的
        哈哈哈。。。
        哈哈哈。。。
    '''

    '''
    我是多行注释,可以写很多很多行的
       哈哈哈。。。
       哈哈哈。。。
    '''
 print('hello world')

4.3 编码

如果直接在程序中用到了中文,比如

    print('你好,我是AI浩')

如果直接运行输出,程序会出现编码的问题(这和平台有关)

解决的办法为:在程序的开头写入如下代码,这就是中文注释

    #coding=utf-8

修改之后的程序:

    #coding=utf-8
    print('你好,我是AI浩')

运行结果:

    你好

注意:在python的语法规范中推荐使用的方式:

# -*- coding:utf-8 -*-

5 输入输出

5.1 输入

input()接受表达式输入,并把表达式的结果赋值给等号左边的变量

a = input("请输入数字:")
print(a)
print(type(a))
b=input("请输入字符串:")
print(b)
print(type(b))
c= input("请输入数学表达式:")
print(c)
print(type(c))
d= input("请输入字符串表达式:")
print(d)
print(type(d))

运行结果:

请输入数字:123
123
<class 'str'>
请输入字符串:abc
abc
<class 'str'>
请输入数学表达式:123+456
123+456
<class 'str'>
请输入字符串表达式:sdsf,1223
sdsf,1223
<class 'str'>

5.2 输出

print() 将python的输入

    # 打印提示
    print('hello world')

5.2.1 格式化输出

如下代码:

age = 100
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)

运行结果:

我今年100岁
我今年101岁
我今年102

在程序中,看到了%这样的操作符,这就是Python中格式化输出。

    age = 18
    name = "lifeifei"
    print("我的姓名是%s,年龄是%d"%(name,age))

常用的格式符号

格式符号 转换
%c 字符
%s 通过str() 字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号(小写’e’)
%E 索引符号(大写“E”)
%f 浮点实数
%g %f和%e 的简写
%G %f和%E的简写

在python3.6版本中新增了f-string格式化方式,称之为字面量格式化字符串,是新的格式化字符串的语法。

例:

name = 'AI浩'
print(f'Hello {name}')  # 替换变量

运行结果:

Hello AI

f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:

dicPeople= {'name': 'AIHao', 'Age': 111}
print(f'{dicPeople["name"]}: {dicPeople["Age"]}')

运行结果:

AIHao: 111

用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。

在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

x=10
print(f"{x+10=}")

运行结果:

x+10=20

5.2.2换行输出

在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示

    print("1234567890-------") # 会在一行显示
    print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------

运行结果:

1234567890-------
1234567890
-------

6 运算符

python支持以下几种运算符

  • 算术运算符

下面以a=10 ,b=20为例进行计算

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
>>> 9/2.0
4.5
>>> 9//2.0
4.0
  • 赋值运算符
运算符 描述 实例
= 赋值运算符 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7
>>> a, b = 1, 2
>>> a
1
>>> b
2
  • 复合赋值运算符
运算符 描述 实例
+= 加法赋值运算符 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 //= a 等效于 c = c // a
  • 比较(即关系)运算符

python中的比较运算符如下表

运算符 描述 示例
== 检查两个操作数的值是否相等,如果是则条件变为真。 如a=3,b=3则(a == b) 为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3则(a != b) 为 true.
<> 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a > b) 为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a < b) 为 false.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a >= b) 为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a <= b) 为 true.
  • 逻辑运算符
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。