Python基础一: 计算机基础,Python相关介绍,变量,常量,注释,基础数据类型(int,str,bool),用户交互input,流程控制语句if
1.cpu 内存 硬盘 操作系统
cpu:计算机的运算和控制中心,相当于人类的大脑。
-
内存:用于暂时存放cpu中的运算数据,以及与硬盘等外部存储器交换的数据。(暂时存储数据,临时加载数据及应用程序) 4g,8g,16g,32g
- 速度快,效率高,造价高 断电数据丢失
-
硬盘:磁盘,长期存储数据,存放文件,视频,音频等等。500g,1t
- 造价相对低
-
操作系统:是一个连接计算机硬件与所有软件的一个软件。
2.python的发展与应用
python的创始人为吉多·范罗苏姆(guido van rossum)。
-
python主要应用领域:
云计算:云计算最火的语言, 典型应用openstack
web开发: 众多优秀的web框架, 典型web框架有django
科学运算、人工智能: 典型库numpy, scipy, matplotlib, enthought librarys,pandas
系统运维: 运维人员必备语言
金融:量化交易,金融分析,在金融工程领域,python不但在用,且用的最多,而且重要性逐年提高。
图形gui: pyqt, wxpython,tkinter
3.python的历史
python崇尚优美、清晰、简单
-
python2x,python3x源码有区别:
python2x: c,java大牛贡献源码: 重复代码多,冗余,代码不规范。
python3x: 源码规范,清晰,简单
python3.x不向下兼容
4.编程语言分类(重点)
- 编译型:将代码一次性全部编译成二进制,然后再执行。如c语言,c++,go
- 优点:执行效率高
- 缺点:开发效率低,不能跨平台
- 解释型:逐行解释成二进制,逐行运行。如python,php
- 优点:开发效率高,可以跨平台
- 缺点:执行效率低
- python是一门动态解释性的强类型定义语言
5.python的优缺点:
- 优点:
开发效率非常高
高级语言
可移植性
可扩展性
可嵌入性 - 缺点:
速度慢
代码不能加密
线程不能利用多cpu问题
6.python的种类:
- cpython:官方推荐解释器,这个解释器是用c语言开发的,所以叫cpython。可以将python代码转化成c语言能识别的字节码。
- jpython: jython(jpython)是运行在java平台上的python解释器,可以把python代码转化成java语言能识别的字节码
- ironpython:可以转化成.net语言能识别的字节码。
- pypy: 动态编译,一次性全部转化
- 注:不同解释器书写python的规则一样
7.安装python解释器的流程
8.运行第一个python代码
print('hello 老铁')
win+r ---cmd---输入:python 空格 文件的路径 回车
- 所有的标点都要是英文的,print后的引号内可以有中文。
- cmd下按方向键的上键可以选择最近输入的内容
- notepad++: 在上一行结尾按ctrl+d 将上一行内容全部复制。
9.变量(重点)
- 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
变量只是一个指代关系,必须有实实在在对应的数据类型。同一个变量,在内存中只能出现一个。
变量在内存中是唯一的,变量必须有它真正指向的实际数据。
why:使程序更加简洁
print(1+2+3+4+5) print((1+2+3+4+5)*3/2) print((((1+2+3+4+5)*3/2)+100)/24) # x,y,z 变量 x = 1+2+3+4+5 y = x*3/2 z = (y + 100) / 24 print(x,y,z) #print输出打印多个,用逗号分隔 x8 = 100 # true b__ = 12 # true 4g = 32 # false 变量名不能以数字开头 _ = 11 # true *r = 12 # false 变量名只能由字母,数字,下划线任意组合。 r3t4 = 10 # true t_ = 66 # true # 变量的小高级: age1 = 18 age2 = age1 age3 = age2 age2 = 12 print(age1,age2,age3) # 18 12 18 程序从上到下执行,变量只能指向数据,不能指向变量。 变量在内存是唯一命名的,不会出现两个age2。出现多个age2,只有1个age2。
what:x y z 变量:代指一些内容
how:变量命名规范
- 变量全部由数字,字母,下划线任意组合。
- 不能以数字开头。
- 不能是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']
- 要具有描述性。见名知意 name= '太白金星'
- 不能使用中文。
- 不能过长。
- 推荐
- 驼峰体:ageofoldboy = 73
- 下划线:age_of_oldboy = 73 number_of_students = 56
where:
代指一些复杂过长的数据。
content = '''sfkdsjalfjdslfksdjkfhsdajkfhsdjkfshdfsdkfhsdkfjsldakfjsdaflsdafjshdafjkdsfhkjsdlf
fskdfhsdkfhsdkjfhsdkjfhskdfhsdkjfhsdkfkhsdflsafksjdfhskdajfhskdjfhskda'''
10.常量
why :生活中一直不变的:π,身份证号码,历史发生的时间
what: 常量:一直不变的量或在程序运行过程中不会改变的量。python中没有真正的常量,为了应和其他语言的口味,程序员约定俗成用变量名全部大写代表常量
how: 将变量名全部大写,放在文件的最上面。
where: 设置一些不变的量 :身份证号,id等
birth_of_china = 1949
# 常量 # 约定俗成,不能改变 name = '太白' print(name #太白
11.注释(重点)
why:文言文中对一些晦涩难懂的成语或者经典的出处作解释说明,便于你理解。
便于你理解对方的代码,自己的代码。
what: 注释
how: (怎么用)
单行注释: #
多行注释: '''被注释内容''' (3个单引号) """被注释内容"""(3个双引号)
where:(用在哪)
难以理解的代码后面,加注释。
函数,类,文件都需要注释,解释说明。
12.基础数据类型(重点)
why:
人类接触一些信息会做一些比较精准的划分。比如数字,汉字,英文......
100, '中国' 机器是很傻的,你要是不给他区分,他是分辨不出来的。人要按一定规则区分,然后告诉它是什么。
我们告诉计算机:
100 ,102 ,就是数字(int), 可以+ - * / ....
'中国','hello' ,'萨瓦迪卡' 文字,:用来记录信息,描述信息等等。【单,双引号均可】
[1, 2, 3, '中国'] 列表,他能做他相应的一些操作即可。
python的基础数据类型:
int(整型): 1 ,2, 123, ....
进行+ - * / . 运算
i = 100 i1 = 2 i2 = i*i1 print(i2) #200 变量的数据类型:与变量指向的数据的数据类型相同。
str: 凡是用引号引起来的数据就称之为字符串。
' '," ", ''' ''' , """ """
# str: s1 = 'day01' s2 = "python22期" s2 = '''python22期''' #单双引号可以配合使用 content = 'i am taibai, 18 year old' content = "i'm taibai, 18 year old" #三引号:用于换行的字符串,【多引号什么作用呢?作用就是多行字符串必须用多引号】比如一首诗 msg = ''' 今天我想写首小诗, 歌颂我的同桌, 你看他那乌黑的短发, 好像一只炸毛鸡。 ''' print(msg) # str 可否加减乘除? ------> + * 1. str + str 字符串的拼接(重点)--字符串与字符串相加,相加就是简单的拼接,字符串的拼接只能是双方都是字符串 s1 = 'alex' s2 = 'sb' print(s1 + s2) #alexsb 2. str * int ---字符串与整数相乘 s1 = '坚强' print(s1*8) #坚强坚强坚强坚强坚强坚强坚强坚强
bool :true false
# bool : true false 不带引号 print(2 > 1) #true print(3 < 1) #false print(true) #true print('true') #true 'true'是字符串 直接打印出来,不能判断是哪种类型。可以用 type() 查看:判断该变量指向的数据是何种数据类型 s1 = '100' s2 = 100 print(s1,type(s1)) #100 <class 'str'> print(s2,type(s2)) #100 <class 'int'>
13.用户交互input
why: 在网页上,app上 输入账号与密码。
what: 用户交互input
how:
input: 通过input输入的内容全部都是字符串类型。字符串要转换成数据才能进行比较,如 int(age) 引号内为提示信息。 #示例 username = input('请输入用户名:') password = input('请输入密码:') print(username,type(username)) print(password,type(password)) #运行结果: 请输入用户名:alex 请输入密码:123 alex <class 'str'> 123 <class 'str'> #让用户输入姓名,年龄,性别,然后打印一句话'我叫: ,今年:,性别:' name = input('请输入姓名:') #将用户输入的内容赋值给 name 变量 age = input('请输入年龄:') sex = input('请输入性别:') msg = '我叫: ' + name + ',今年:' + age + ',性别:' + sex print(msg) #运行结果: 请输入姓名:alex 请输入年龄:18 请输入性别:boy 我叫: alex,今年:18,性别:boy name = '太白' print(name) #太白 变量 print('name')#name 字符串,凡是用引号引起来的数据就称之为字符串。
14.流程控制语句if
-
why: 生活中的选择,如回家,有n条路,你走哪条路,取决于你的心情。
what: if语句具有分流作用 在程序里预设一些条件判断语句,满足哪个条件,就执行哪个条件下的代码。这个过程就叫流程控制。
how:
-
强制缩进:目的是为了让程序知道,每段代码依赖哪个条件。
python的缩进有以下几个原则:
- *代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格
基本结构: if 条件: 结果
-
单独if
print(111) if 2 < 1: print(666) print(333) print(222) #结果: 111 222
-
if else 二选一
s1 = '100' print(s1,type(s1)) #100 <class 'str'> i1 = int(s1) print(i1,type(i1)) #100 <class 'int'> #示例 age = input('请输入年龄:') if int(age) > 18: #字符串要转换成数据才能进行比较,如 int(age) print('恭喜你,成年了!') else: print('小屁孩儿')
-
if elif elif .... 多选一,只能选一个 :从上到下依次判断,只要满足一个条件,就不会再往下执行代码
num = int(input('猜点数:')) #字符串转换为整数 if num == 1: print('晚上请你吃饭') elif num == 3: print('一起溜达') elif num == 2: print('请你大宝剑')
-
if elif elif .... else 多选一
num = int(input('猜点数:')) if num == 1: print('晚上请你吃饭') elif num == 3: print('一起溜达') elif num == 2: print('请你大宝剑') else: print('太笨了....') print('组合') #运行结果示例: 请输入数字:4 太笨了.... 组合
-
嵌套的if
username = input('请输入用户名:') password = input('请输入密码:') code = 'qwer' your_code = input('请输入验证码:') if your_code == code: if username == 'taibai' and password == '123': print('登录成功') else: print('账号或者密码错误') else: print('验证码错误') #运行结果示例: 请输入用户名:taibai 请输入密码:123 请输入验证码:qwer 登陆成功
-