---恢复内容开始---
- python文件
- 文件开头要有 #!/usr/bin/ python --在linux中是告诉系统phthon的路径是在/usr/bin/ python目录下,在执行python文件时可以使用 ./文件名 ,如:./h.py 即可执行
- 所以python2.7文件开头都需要有 # -*- coding:utf-8 -*- 这句来设置编码格式
- 当有中文输出时,常会输出为乱码,这是因为代码是utf-8格式的,但显示终端的编码格式是gbk格式的。如果显示终端的格式是utf-8格式的则会正常显示,但如果是gbk格式的,就显示为乱码了。而utf-8编码与gbk编码同为unicode(万国码)的简化和优化,只是编码方式不一样。要解决中文输出显示乱码的问题,需把utf-8格式先解码成unicode,再以gbk编码,再输出,即可正常显示中文,如下:
-
1 # -*- coding:utf-8 -*- 2 3 temp = “你好” 4 5 #先把utf-8解码为unicode 6 7 temp_unicode = tem.decode(‘utf-8’) #这里的utf-8是指定原来的编码是utf-8编码 8 9 temp_gbk = temp_unicode.encode(“gbk”) #这里的gbk是指定以gbk格式进行编码 10 11 print(temp_gbk) 12 13 #到了py3中自动转换utf-8 unicode gbk,utf-8可直接编码成gbk 14 15 #py3中移除了python的unicode类型
-
- 在cmd命令窗口中输入python可以进入pythod的录入环境,输入exit()即可退出这个编辑环境
- 注释
- 单行注释,使用 #
- 多行注释,使用 “”” 多行内容 “””
- 导入文件
- python为用户提供的 .py 文件
- 导入时 使用import 后面写导入文件的名称(不带.py)
- 执行程序后会自动生成同名的 .pyc字节码文件,这个就相当于缓存文件
- 执行时会优先找 .pyc文件,并执行,如果找不到 .pyc文件,则会去找 .py文件,并执行
- 获取输入文本
- i1 = raw_input(“Username: “),获取明文录入的文本
- i2 = getpass.getpass(“Password: ”) (在使用此句前需导入文件 import getpass)
- 创建 xxx.py 文件
- 建议 文件名、存放路径 都不要有中文
- 头部两行的代码较特殊,必须要有
- 基本数据类型
- 数字: a1 = 123
- 字符串: s1 = “abc” 或 s2 = ‘ABC’ 或 s3=”””cde”””(三引号中的内容是多行文本字符串)
- 布尔值: isAble = true
- 流程控制
- if
if 条件 : 内容一 内容二 elif 条件 : 内容五 内容六 else : 内容三 内容四 |
- python 是严格按缩进来执行的
- 一个等号是赋值,两个等号是比较, != 是不等于
- while
while 条件 : 内容一 |
- time.sleep(1) 暂停1秒钟
- break,可以跳出整个循环
- continue,跳出本次循环,继续下次循环
- pass,什么都不做,不可以空着不写,写个pass即可
- for循环
s7 = "Return a copy of the string" for item in s7: print item |
- enumerate()
- 接受参数可以是列表
- 用于中for循环时自动给列表项生成一列,默认从0开始,自增1
li = ["Computer","iphone","Watch","Car"] for key,item in enumerate(li): print(key,item) inp = input("请输入商品:") inp_num = int(inp) print(li[inp_num]) ------------------------输出------------------------- (0, ‘Computer‘) (1, ‘iphone‘) (2, ‘Watch‘) (3, ‘Car‘) 请输入商品:0 Computer |
- 运算符
- 算数运算
- + - * / %(取余) **(幂,返回x的y次幂) //(取整数,返回商的整数部分)
- 算数运算
py2: 9/2 = 4 9/2=4.5 (需导入模块,如:from __future__ import division) py3: 9/2 = 4.5 |
- PyCharm中设置py文件的模板,给头部添加上固定的两行:file àsetting àEditor àfile and code template àpython script -> 录入固定的两行 àOK
- PyCharm中切换py版本,file à settings à project interpreter à 选择版本
- 比较运算符: == != <> > < >= <=
- 赋值运算符: = += -= *= /= %= **=
- ctrl + / 注释快捷键
- 逻辑运算符:and or not
- 成员运算符: in not in
- 基本数据类型
- 数字 int
- int类中有__的方法,是有特殊功能的方法
- 数字 int
n1 = 123 n2 = 456 print(n1 + n2) 就相当于 print(n1.__add__(n2)) |
- bit_length(),获取可表示的二进制最短位数
n1 = 4 #00000100 ret = n1.bet_length() print(ret) |
- 字符串 str
- capitalize()方法,首字母大写
- center(长度,空白填充字符)方法,把当前字符串显示到中间,空白部分用指定字符替换
- count()方法,子序列的个数,指定字符串中当前字符串中重复出现的个数
- decode()方法,解码
- encode()方法,编码
- endswith()方法,[获取字符串里大于等于0的位置,小于2的位置] ,是否以xxx结束
- expandtabs()方法,把tab(\t)转换为空格(默认8个空格)
- find()方法,查找子序列首次出现的位置,如果没找到,返回-1
- format()方法,字符串序列化
s = "hello {0}, age {1}" print(s) s2 = s.format("alex",20) print(s2) ------------------------输出------------------------- hello {0}, age {1} hello alex, age 20 |
- index()方法,查找子序列的位置,如果没有找到,报错
- int(字符串),把指定字符串转换为数字并返回
- isalnum()方法,判断是否同时有字母和数字
- isalpha()方法,判断是否都是字母
- isdigit()方法,判断是否是数字
- islower()方法,判断是否小写
- isspace()方法,判断是否是空格
- istitle()方法,判断是否是标题(每个单词的首字母大写)
- join()方法,连接
li = ["alex","eric"] s3 = "_".join(li) print(s3) ------------------------输出------------------------- alex_eric |
- ljust()方法,内容做对齐,右侧填充,与center()类似
- lower()方法,变小写
- len()方法,返回字符串长度
- lstrip()方法,移除左侧空白
- partition()方法,分割字符串成左中右三部分
- split()方法,分割字符串
- replace()方法,替换字符串
- rfind()方法,从右向左找
- rindex()方法,类似于lindex(),只是这里的是从右向左找
- rjust()方法,类似于ljust(),方向与ljust()相反
- rpartition()方法,与partition()类似,方向与partition()相反
- rsplit()方法,与split()方法类似,方向与split()方向相反
- rstrip()方法,与lstrip()方法类似,方向与lstrip()方向相反
- strip()方法,去除左右两侧的空格
- startswith()方法,判断字符串是否以指定字符串开始
- swapcase()方法,小写变大写,大写变小写
- title()方法,把文本变成标题
- upper()方法,把文本转换为大写
- 切片
s6 = "alex" print(s6[0:2]) #大于等于左边,小于右边 ------------------------输出------------------------- al |
- 布尔值 bool
- 列表 list
- append()方法,追加元素
- count()方法,统计某元素有多少个
- extend()方法,批量想列表中追加数据
- index()方法,获取某个元素的索引
- insert()方法,向某个索引处插入元素
- pop()方法,把最后一个元素移除,并可以返回被移除的元素
- remove()方法,移除某个元素,只移除从左侧找到的第一个
- reverse()方法,反转列表
- sort()方法,排序列表
- del 列表[index] ,删除列表指定索引的元素
- 元组 tuple
- 元组与列表几乎是一样的,列表可以修改,元组不可以修改
- 字典 dict
- 字典的每个元素都是一个键值对,有点类似于简单的JSON对象
user_info = { "name":"alex", "age":73, "gender":"M" } |
- 字典元素的索引就是对应的key字符串
- 字典不支持切片
- keys()方法,获取字典中的所有key
- values()方法,获取字典中所有value
- items()方法,获取字典中所有的键值对
- for循环
- for循环时字典时,默认输出key,即:for k in user_info 等同于 for k in user_info.keys()
- 如果要循环出字典的值,则:for v in user_info.values()
- 如果要同时循环出字典的键和值,则: for k,v in user_info.items()
- clear()方法,清空字典中所有元素
- get()方法,根据key获取值,如果key不存在,可以指定一个任意值
- haskey()方法,检查字典中指定key是否存在,也可以使用in来代替
- pop()方法,获取并中字典中移除
- setdefault()方法,如果key不存在,则创建,如果存在,则返回已存在的值且不修改
- update()方法,更新,批量把一个字典中的元素更新到另一个后面
- del 字典[key],删除字典指定key的元素
- range , xrange
- range,中py2.7中用于获取指定范围内的数,如range(0,1000000),会一下子把这个范围内的数都创建出来,内存占用会急速上升
- xrange,中py2.7中用于获取指定范围内的数,如range(0,1000000),初始时并不创建范围中的数,只有中for循环时才会创建其范围中的一个元素,性能大大提高
- 在py3中,没有了xrange,而是range,但其效果于py2.7中的xrange效果一样
- range(0,10),获取0~9之间的所有数字,取数范围是大于等于左边的数,小于右边的数
li = ["Computer","iphone","Watch","Car"] n = len(li) for i in range(0,n): print(i,li[i]) ------------------------输出------------------------- (0, ‘Computer‘) (1, ‘iphone‘) (2, ‘Watch‘) (3, ‘Car‘) |
- 查看对象的类,或对象所具备的功能
- type(变量) 函数可以查看变量的数据类型,然后可根据 ctrl+左键,查看内部所有方法
- dir(变量),快速查看变量类型的全部方法
- help(type(变量)),查看变量类型的详细方法情况
时间: 2024-10-25 15:09:52