py01-Python基础
1、什么是编程?为什么要学编程?
编程是一个动词,就是编写代码/程序/软件。
我们要和计算机打交道,和计算机通信,就需要了解熟悉计算机的语言,这样计算机才能够按照我们编程的程序去执行代码。
编程的目的就是让计算机按照人们事先编写好的程序去自发地工作。
2、编程语言分类
1.机器语言
2.汇编语言
3.高级语言
按转换方式划分为
编译型语言:在执行程序之前,需要将程序源代码进行编译,翻译成机器指令,一次编译,到处运行。
优点:编译后的代码可以直接在机器上运行,运行速度比解释型要快。
缺点:调试程序麻烦,程序一旦需要修改,必须先修改源代码,然后再进行编译后才能执行。
解释型语言:源代码由解释器进行执行,一边解释一边运行。
优点:方式灵活,调试程序方便,程序一旦出错,立即调试立即得出测试结果。
缺点:效率比较低,应用程序不能脱离解释器
3、变量
3.1、什么是变量
变化的量就是变量。
3.2、变量的定义规范
1.变量名只能是字母、数字或下划线的任意组合
2.变量名的第一个字符不能是数字
3.以下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']
4.变量名要言简意赅,简明存储数据的意思
3.3、定义方式
驼峰体
AgeOfGirl=70 NumberOfStudents=100
下划线
age_of_girl=70
number_of_students=90
官方推荐第二种方式。
3.4、变量的声明
name='xtyang'
name为变量名(标识符)
=是赋值
=号后面的是值
3.5、变量的引用
name='xtyang' #变量的声明
print(name) #引用并且打印变量名
3.6、变量的赋值/修改/取消
name='xtyang' #赋值
name='hello' #重新赋值
del name #变量的取消
3.7、变量的三个特征
id
type
value
>>> id(name)
8201808
>>> type(name)
<class 'str'>
>>> name
'xtyang'
>>>
注意:python中的变量名没有存储值的功能,变量名与变量值只是一种绑定关系。
4、常量
常量即指不变的量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。
AGE_OF_GIRL=90
5、Python的执行过程
1、先启动python解释器
2、python解释器把文件内容从硬盘读入内存
3、读入内存后,再解释执行
6、程序交互
输入用户名、密码
username=input('please input your username: ') password=input('please input your password: ') print(username) print(password)
执行输出
please input your username: xtyang
please input your password: 123
xtyang
123
7、注释
代码注释分为当行注释和多行注释,当行注释用#,多行注释可以用三对双引号“”“ ”“” 或者三对单引号 ‘’‘ ’‘’
当行注释例子:
#name='xtyang' #user='alex'
多行注释:
''' Hello,this is my test file '''
8、数据类型
在每个编程语言里都会有数据类型,以来对数据进行明确的划分。
8.1、整型 int
用途:年龄,身份证号,电话,QQ号码
age=10 user_id=4112221989287810 qq=1112309
8.2、字符串 str
在Python中,加了引号的字符都被认为是字符串。
>>> username='Mrs Yang' #字符串
>>> type(username)
<class 'str'>
>>> age='22' #字符串
>>> type(age)
<class 'str'>
>>> id=996 #整型
>>> type(id)
<class 'int'>
>>>
>>> passwd="xtyang1990" #字符串
>>> type(passwd)
<class 'str'>
单引号和双引号没有区别,多行字符串必须用多引号
msg=''' 我要好好学习, 天天向上! ''' print(msg)
8.3、字符串拼接
数字可以进行加减乘除等运算,字符串只能进行相加或相乘运算。
>>> name='xtyang'
>>> age='22' >>> name + age #相加其实就是字符串拼接 'xtyang22' >>>
>>> name * 2 #其实就是复制多少次
'xtyangxtyang'
>>>
>>> msg='zhangsan|lisi|wangwu|mazi'
>>> msg.split('|')
['zhangsan', 'lisi', 'wangwu', 'mazi']
>>> users=msg.split('|')
>>> users
['zhangsan', 'lisi', 'wangwu', 'mazi']
>>> users[3]
'mazi'
>>> name1='h1 h2 h3 h4'
>>> name1.split()
['h1', 'h2', 'h3', 'h4']
>>> name=name1.split()
>>> name
['h1', 'h2', 'h3', 'h4']
>>> name[3]
'h4'
>>>
注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接。
8.4、布尔型
布尔型就两个值,一个是True,一个是False,主要用于逻辑判断
>>> a=2 >>> b=1 >>> a > b True >>> a < b False >>>
8.5、列表
可以存放多个值,每个值可以是任意数据类型。
>>> horrbies=['chouyan','hejiu','dajia']
>>> horrbies[0]
'chouyan'
>>> horrbies[1]
'hejiu'
>>> horrbies[2]
'dajia'
列表取值,需要通过下标,下标从0开始
>>> user=['egon','c',[3,4]] >>> user[0] 'egon' >>> user[1] 'c' >>> user[2][0] 3 >>> user[2][1] 4
列表追加值
>>> user.append(5)
>>> user
['egon', 'c', [3, 4], 5]
>>>
8.6、字典
采用key:value的方式存储值,可以存放多个值,但每个value也也可以是任意数据类型,但是key必须是不可变数据类型。
可变数据类型(或称为不可hash类型)
id不变
type不变
值变了
列表属于可变类型
字典属于可变类型
数字和字符都是不可变类型
取值:列表和字典混合
>>> dic={'egon':['123,3'],'alex':['alex3714',3]}
>>> dic['alex']
['alex3714', 3]
>>> dic['alex'][0]
'alex3714'
>>> dic['alex'][1]
3
>>>