变量、输入输出、列表、编码、转义、赋值、程序结构
- python文件命名规则:只使用小写字母/数字和下划线,并且不能以数字开头
- 变量类型:数字型和非数字型,数值型包括整型和浮点型和布尔型;非数值型包括字符串类型、字典、列表、元组。在ipython中可以使用type()查看变量类型,在python中可以使用调试来进行查看。
- 在python3中,没有long’类型,只有int类型。
- 字符串的拼接:+和*;
- 变量内容的输入:input函数,字符串变量=input(“提示内容”);变量内容的输出:print函数。
- 变量类型的转换:整型变量=int(需要转换的变量);同理float;
- 格式化字符输出:格式化操作符:%;print(“格式化字符串” % (变量1,变量2));格式化字符串包括:%d,%s,%f,%%;强调输出数字位数:%06d,%0.6d
a = int(input("please input a number!"))
print("您输入的数字是:%d" % a)
输出:%2d和%02d的区别:后者是如果不足2则补0; - 变量的命名:只能包含数字、字母、下划线;并且不能以数字开头,区分大小写。多个单词相连:使用下划线、驼峰命名法(大/小)。
- 在python开发中,tab和空格不能混用。
- 注释采用#,也可选中点击快捷键ctrl+/, 三个引号是多行注释。
- 程序中包括有三大流程结构:顺序、分支、循环。
- 条件判断,和matlab不同,不需要使用end。if条件之后要加冒号:,同时涉及到逻辑运算符(and,or,not),并且不需要括号各条件。同时回顾布尔型变量的使用以及将其和条件结合起来进行学习。同时if语句可以进行嵌套。
a = int(input("please input a number!"))
if a == 1:
print("hello")
elif a == 2:
print("no hello!")
else:
print("who")
- 选中一大块代码,使用tab可以统一缩进4字符,shift+tab可以统一减少4字符。
- 如果代码换行可以回车后再加一个tab缩进,便于阅读。if的各个条件要使用()
- 可以使用**import导入模块包****,例如导入random工具包。想知道工具包中都有什么函数,可以使用终端ipython,输入random.并回车。在使用时,导入的模块包实际是一个对象,其中包括多个函数,调用函数要使用对象.函数,例如:
import random
a = random.randint(1,5)
- 赋值运算符 :
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/708885ce266383bd5d5d6831018ada76.png)
- 程序的计数,习惯使用从0开始计数。
- 在使用int型变量的除法运算时,如果使用的是/,则输出结果是一个浮点数,也可以使用底板除//,输出为一个只保留商的int
- 循环结构:while,语法和if相同。
- continue和break使用在循环中,含义和C语言中的相同。
- 在默认情况下,print函数输出自动会加一个换行,如果不需要换行,则需要使用以下代码。
print("您输入的数字是:%d" % a,end=' ')
- 转义字符:
\t:在控制台输出一个制表符,使得输出文本在垂直方向上保持对齐,横向制表符。
\n:输出换行符
":输出双引号,同样用法有单引号、反斜线、
\r:回车(在python中,默认后面是回车符,如果print中有换行符\n,则实际输出是空一行)
‘,转义输出‘
r’,取消转义,表示后面的内容不再进行转义操作。 - 编码问题:最初编码方式是ASCLL码,但后期增加了其他的语言,所以改使用Unicode,Unicode使用两个字节表示一个字符,对非常偏僻的采用四个字节。但是这种方法不必要的增加了存储空间,所以又推出了可变长的编码方式:UTF-8。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1b688a6e3f65ee34a2a01091b3c20960.png)
- 在python3中,字符串是以Unicode编码的,所以他支持多语言。对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符,在内存中,字符的编码方式都是unicode,如果要在网络上传输或者要保存到磁盘上,就需要把字符编程字节流;
x = b'ABC'
a = 'ABC'
a.encode('ascii')
在str的前面直接加上b就相当于强制类型转换。
对于一个字符或者字符串,使用方法encode可以将unicode转化为ascii或者utf-8,;依然可以使用decode进行逆转化。#!/usr/bin/env python3
# -*- coding: utf-8 -*-
```
第一行表示告诉linux或者os,这是python可执行程序,windows会直接忽略。
第二行表示采用utf-8读取源代码,防止中文的乱码。申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码。
- 定义函数:def 函数名(),通过该方法可以作为外部函数或者内部函数,在其他文件中调用时,使用import 文件名导入,再使用文件名.函数名引用即可。函数名定义符合标识符要求,需要注意python是从上向下执行代码,必须先定义函数,再调用。函数说明是在函数定义语句下方加三个引号,中间书写说明文字,之后空一行,然后是函数内容代码,使用ctrl+q可以查看函数说明。函数内部采用return可以返回变量,使用()可以返回多个变量,return后面的内容均不会执行。也可以用过pycharm中黄色小灯泡使用插入函数参数说明。
- 模块是python的核心概念,每一个以.py结尾的文件都是一个模块。在模块中定义的每个全局变量和函数都可以被外部所利用。模块名也是一个标识符。对于一个模块,系统会先把他编译得到.pyc文件(前提是被import导入过)。
- 高级变量类型(非数字型):列表、元祖、字典、字符串。他们都具有一些公共方法(取值使用[],遍历使用for in,都可以计算长度、最大最小值、比较、删除,都可以使用+进行链接,使用*进行重复,同时都支持切片操作)。
- **列表:**存储同类型数据,并且索引从0开始。列表使用[]进行定义。列表通常用来存储相同类型的数据(也可以存储不同的),并且使用遍历操作遍历列表中的每一个元素,可使用for 数据1 in 数据2:进行遍历操作,数据1 表示从数据2中取出的数据。,支持对其中的元素进行添加或者删除。
使用 对象.可以获取对象内部所包含的方法。
使用 len(列表) 可以获取列表的长度;
使用 列表.count(数据) 可以获取该数据在列表中出现的次数;
使用 列表.sort()可以对列表进行排序,默认是从小到大,若增加参数:reverse=Ture则为降序;
使用 列表.reverse()可以反转列表;
list内部可以包含list或者其他内容,可以包含字典构成一个字典列表。一个二维列表的本质就是一个一维的列表的每一个元素都是一个新的列表。
使用 列表.index(数据)可以查询某数据在列表中第一次出现的位置。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/88ccd7c250b02545a3a0a92f4cc7a396.png)
- 函数和方法的区别,函数可以直接调用,方法需要通过对象来调用,如果使用import from 导入,则可以视为跳过对象,在调用的时候就可以不适用对象.的方法调用方法或者属性。