python杂记
半年前学了python,后来忙于其他事,再回过头来看的时候发现自己忘完了,以前做的笔记也找不到了,特写此篇。
1,python的换行等操作
python的换行等操作符和c语言一样的。只不过python每输出一次就会换行,特别不美观,因此要在后面加上,end=''以防止换行
while j<=i:
print('%s\t'%(j*i),end="")//防止换行
j+=1
print('')//又不能不换行,所以print一下让其换行
2,函数的表示方法
1,c语言中建立一个函数都是 类型 函数名(参数1,参数2...);
比如void sort(int a[],int n,int m){}
,2, php中 funtion hang 函数名(我惊讶的发现第一次用php写项目的时候居然就只有sqlhelper里面用到了 public funtion execute_dql($sql)好菜
)
3,python定义函数def mul_table():(注意:后面没有大括号并且python的循环语句while,for什么的也是没有大括号的)
3,列表,字典,集合,元组
(列表,字典是了变类型,数字,字符串,元组是不可变类型,但是字典中的key是不可变)
1,列表使用中括号[]定义,比如a=[1,2,3],也可以用list()函数a=list((1,2,3));
列表内可以存任意不同类型的数据,元素值可改变
a.append(): 追加成员
a.count(x): 计算列表中参数x出现的次数(能用于判断子字符串在a中出现次数)
a.extend(L): 向列表中追加另一个列表L
a.index(x): 获得参数x在列表中的位置(能用于判断子字符串在a中出现位置)
a.find(x)作用同上,只不过查找不存在的字符会返回-1,index会报错
a.insert(): 向列表中插入数据
a.pop(): 删除列表中的成员(通过下标删除)
a.remove(): 删除列表中的成员(直接删除)
a.reverse(): 将列表中成员的顺序颠倒
a.sort(): 将列表中成员排序
a(seq) 将元组转换为列表。
2,元组小括号来表示也可以通过tuple 函数定义a=(1,2.3,'we'),a=tiple([1,2.3,'we'])元素值不可改变
cmp(tuple1, tuple2) 比较两个元组元素。
len(tuple) 计算元组元素个数。(能用于判断字符串a的长度)
max(tuple) 返回元组中元素最大值。
min(tuple) 返回元组中元素最小值。
tuple(seq) 将列表转换为元组。
3,字典可通过大括号直接创建也可通过函数dict()创建d={'name':'zhang'}
d=dict([('name', 'kyda'), ('e', 10)])
元素之间用逗号’,‘’分隔,键与值之间用冒号”:”隔开
键是唯一的如字符串,数字或元组,并且所有的键要是同一类型,值不必
4,集合可以用set()函数或者方括号{}创建,元素之间用逗号”,”分隔。
与字典相比少了键
不可索引,不可切片
不可以有重复元素
set1 = set('kydaa')
set2 = {'abc', 'jaja', 'abc', 'kyda'}
print(set1)
print(set2)
#输出
{'a', 'y', 'd', 'k'}
{'jaja', 'abc', 'kyda'}
s.issubset(t),s <= t 测试是否 s 中的每一个元素都在 t 中
s.issuperset(t),s >= t 测试是否 t 中的每一个元素都在 s 中
s.union(t),s | t 返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t),s & t 返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t),s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t),s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy()
4,切片
print(a[1:10:2])从索引1数到索引10,不包括10,每2个取一个
,5,接下来说一下引入文件
c语言中引入文件一般都是#include".h"
php中引入文件include_once".php"或者require_once"***.php"
python中用import 文件名,不用加.py等文件类型
,6,简单聊一下随机数
import random//先引入工具包
c = random.randint(1, 3)//产生随机数
,7,再来一个函数用法大全
1,string.isspace()如果string中只有空格或\t\n,则返回True
2,string.isalnum()如果string中至少有一个字符且所有的字符都是由字母或数字组成,则返回True
3,string.isalpha()如果string中至少有一个字符且所有的字符都是由字母,则返回True
4,string.isdecimal()如果string中只有数字则返回True,全角数字
5,string.isdigit()如果string中只有数字则返回True,全角数字,(1),\u00b2
6,string.isnumeric()如果string中只有数字则返回True,全角数字,汉字数字
7,string.islower()至少有一个区分大小写的字符,且这些字符都是小写,则True
8,string.isupper()至少有一个区分大小写的字符,且这些字符都是大写,则True
9,string.startswith(string)若字符串以子字符string开始,返回True
10,string.endswith(string)若字符串以子字符string结尾,返回True
11,string.find(str,start=0,end=len(string))检测str是否在string中
如果start end指定范围则在范围内检查,如果是返回开始位置所索引值,否则返回-1
12,string.rfind(str,start=0,end=len(string))从右边开始查询,同上
13,string.index(str,start=0,end=len(string))同find方法,只不过否是报错
14,string.rindex(str,start=0,end=len(string))同上,从右开始检测
15,string.replace(old_str,new_str,num=string.count(old))用新的替换旧的,替换不超过num次
16,string.ljust(width)返回一个原字符串左对齐,并并使用空格填充至长度width的新字符串
17,string.just(width)返回一个原字符串左右对齐,并并使用空格填充至长度width的新字符串
18,string.center(width)返回一个原字符串居中对齐,并并使用空格填充至长度width的新字符串
去除空白字符
19, string.lstrip()截掉string左边的空白字符
20, string.rstrip()截掉string右边的空白字符
21, string.strip()截掉string两边的空白字符
拆分和连接
22,string.partition(str)把string分成3元素元祖(str前,中,后)
22,string.rpartition(str)从右边把string分成3元素元祖(str前,中,后)
23,string.split(str="",num)以str为分隔符拆分string,如果num有指定值,则分割num+1个字符串,str默任\r\t\n和空格
24,string.join(seq)以string为分隔符,将seq合成新串
25,del(item)删除变量
26,max(item)返回容器中元素的最大值,如果是字典,比较key
27,min(item)返回容器中元素的最小值,如果是字典,比较key
说道这里我要说一下python的注释不是/**/而是“#”和“``````”
要想输出引号需要和c语言一样\"
8,接下来就是运算符了
运算符'*'适用于字符串,元组,列表,不适用字典
存在运算符in,not in用在字典中时判断键
完整for 循环
比较运算符"<“>”"="字符串,数组,元祖都能比较,字典不能
print(('1', '2')*2)
print("ab"*2)
# 运算符"+"会产生新的,extend改变了原来的
print(['1', '2']+['3', '4'])
t_list = [1, 2]
print(t_list.extend([3, 4]))
print(t_list.append([5, 6]))
全局变量
在函数内部使用global 变量名=3可以覆盖掉原来在函数外定义的全局变量
全局变量的命名最好加一个g_或gl_前缀
元组的强大
函数返回一个元组def a():return (height,weight) //括号可以不带
接受返回值height=a()printf(height[0],height[1])
刚简单的方法height,height=a();
def demo(num, num_list):
num += num
# 列表变量使用"+",不会做相加再赋值操作而是extend方法
# 意思是改变了num_list列表,所以外面的全局gl_num_list
# 也会变成[1,2,3,1,2,3]
num_list += num_list
gl_num = 9
gl_num_list = [1, 2, 3]
demo(gl_num, gl_num_list)
def test(*args, **kwargs):
print(args)
print(kwargs)
test(1, 2, 3, name="xian", age=18)
#拆包,列表前面一个*,字典前面两个*
glam = [1, 2, 3]
gldi = {"name": "xiaoming", "age": 18}
test(glam, gldi)