Python 整理一

---恢复内容开始---

Python (pailen)最近学习这个语言,其实早在几年前学习perl的时候就知道有这个语言了,在讲perl的那本书后面就推荐学习python,并且还附加了二章的入门。当时初看了一下,发现和perl很相似。

这几天学了python的一些基本东西,整理一下。如下 :

#!/usr/bin/python
'''
    3.XX版后,默认是UTF-8,支持中文了.
'''
#coding=utf-8

'''这是注释,和Perl一样可以使用#号注释单行,但是多行注释是使用3个单引号'''

print("1. Mirror,python的Helloworld程序.");
print();

print("2. '''这是注释,和Perl一样可以使用#号注释单行,但是多行注释是使用3个单引号'''");
print();

print("3. Hello World!");
print();

print("4. 你好,世界!");
print();

print("5. python版本:3.xx");
print();

print("6.变量命名");
a,b,c=1,"Mirror",1.13;
print("a,b,c=1,"Mirror",1.17; #直接指定并赋值,无须显示声明,类型自动判断.与perl相似");
print("打印出值");
print();
print("a=",a);
print("b=",b);
print("c=",c);

print();
print("7.取字符串的子串");
print("str=my name is mirrortom.这开始是特殊字符~!@#$%^&*()_+|?/\");
print("例一:取出name子串.str[3:8],下标3(含)到下标8(不含)");
str='my name is mirrortom.这开始是特殊字符~!@#$%^&*()_+|?/\';
print(str[3:8]);
print("新颖的例二:将字符串输出两次 str * 2");
print(str * 2);

print();
print("8.使用del语句删除变量引用,这怎么类似C语言的内存释放?");
print("-1.name = 'mirror';sex=0;","
-2.del name,sex","
-3.print(name,sex)");
print("NameError: name 'name' is not defined",'第3行:会报错误,变量没有定义');

print();
print("9.列表,python的列表使用[]",'感觉这类似于数组加散列,和perl差不多.');
list=['1str',2,'3str','mirrortom'];
print (list);
print (list[0]);
print (list[1]);
print (list[2]);
print (list[3]);
print("如果执行:print (list[4])",'list index out of range,类似下标出界的错误');

print();
print("9.元组:tuple [t^pl] 这个太奇怪了,相当于只读列表,认为和玫举性质差不多.我顾名思义,就是元数据的列表,而元数据一般是不能修改的");
print("示例:data=('1str',2,'3str','mirrortom')");
tupledata=('1str',2,'3str','mirrortom')
print(tupledata);
print(tupledata[0]);
print(tupledata[1]);
print(tupledata[2]);
print(tupledata[3]);
print(tupledata*2);

print();
print("10.字典 dictionary,这个好理解,键值对.在形式上和json一样的.");
print("例 : dict={'name':'mirror','sex':'男'}
 print(dict)");
dict={'name':'mirror','sex':''};
print (dict);
print(dict['name']);
print("print(dict['name']);")
print(dict['name']);

print();
print("11.数据类型转换");
print("将数据类型名作为函数名,要转换的值作为参数");
print("例:转为整数 int(a) 转为长整数long(a):3.xx版本后已经没有long了,统一使用int");
print("a='1';print(int(a));print(float(a));");
a="1";
print(int(a));
print(float(a));
print("将字符转为它的整数:a='a';print(ord(a));");
a='a';
print(ord(a));

print();
print("12.运算符 // 两个斜线表示取整除.这个不同于其它语言,");
print("例如:19//3");
print(19//3);
print("除:19/3.其它语言的除等同于//");
print(19/3);
print("取模(除法的余数):19%3");
print(19%3);

print();
print("13.比较运算符.和其它语言一样.就是这些");
print("== != <> > < <= >=",'其中<>这个在3.XX版本中已经没有了.');

print();
print("14.赋值运算符.和其它语言一样");
print("= += -= *= /= %= **= //=");
print("例:a,b=3,4;a+=b;print(a);a//=b;print(a)");
a,b=3,4;
a+=b;
print(a);
a//=b;
print(a);

print();
print("15.位运算符.& | ^ ~ 与 或 异或 取反 << >>左右移位.");
print("都是对二进制数位的操作.和其它语言一样.");

print();
print("16.逻辑运算符 and or not  与 或非");
print("a,b=3,5;print(a and b);print(a or b);print(not not b);");
a,b=3,5;
print(a and b);
print(a or b);
print(not not b);

print();
print("17.成员运算符 in not in这不就是SQL语句中的吗.python也支持.呵呵.");

print();
print("18.身份运算符 is  is not 用于判断两个标识符是否引用同一个对象.");
print("例:a=b=1;print(a is b);
c=d='mirror';print(c is d)
a=1;b='1';print(a is b);
c='mirror';d='mirror'");
a=b=1;
c=d='mirror';
print(a is b);
print(c is d);
a=1;b='1';
print(a is b);
c='mirror';d='mirror';
print(c is d);
print("还有个这样的函数,获得一串数字,感觉像C#的对象哈希码.print(id(a));");
print(id(a));
print("请看这些码 print(id(1));print(id('mirror'));print(id(a));常量有相应表示方式");
print(id(1));print(id('mirror'));print(id(a));

print();
print("19.if 语句.没有使用花括号作为语句块边界,在if表达式之后使用冒号结束.之后为语句块,语句块以缩进来区分.这比较奇葩.");
print("例:下面if之后两个语句,如果缩进相同,则视为同一语句块,就是说条件成立这两句都执行
if 0==1:
	print('0==1');
	print('false')");

if 0!=1:
    print ('0!=1');
    print('false');
print("如果缩进不同,就认为不是一个块里的,请看");
print("if 0==1:
	print('0==1')
print('true');"); 
if 0==1:
    print ('0==1');
print('true #这里输出了第二个print,但是条件并不成立.说明它不属于IF语句块中的');
print("如果表达式和语句块都很简单,只有一句,可以这样写
if(1==1):print('true');");
if(1==1):print('true #python还没有switch语句,可以使用if xx: elif xx:');

print();
print("20.循环.终于到循环了,有for 和 while 没有 do while.");
print("i=1;
while i==1:
	i+=1;
	print(i);");
i=1;
while i==1:
    i+=1;
    print (i,'#结果输出2');
print("continue break 这两个用于跳过当次循环和退出循环.和其它一样没什么说的");
print("这个比较有新意,else之后的语句什么时候执行?当循环正常结束时执行
while xx: 
	.....;
	.....;
else:
	正常执行完循环会执行else后面的语句块;");
print('正常执行完循环后会执行else后面的语句块,不正常执行完呢,就是使用了break跳出循环后,将不会执行else');

print();
print("for循环:没有经典的写法只有和foreach一样的写法: 
for var in ('1','2'):
	print(var)");
for i in ('1','2'):
    print(i);

print();
print("21.pass 语句.这个有什么用处?
如果语句块没有内容则可以用这句话占个位置.例:
if 1==1:
	pass #不做任何事.");
if 1==1:
    pass
print("如果不写的话,空着行不行呢.不行了.因为python的语句块使用缩进区分,如什么都不写的话,就区分不了语句块了.")
print(":(个人觉得这是没事找事,想少写大括号,又多引入pass解决代码块区分问题.最后还是没省多少事.");

print();
print('22.随机数.介绍一个函数randrange(0,5,1);三个参数是起点终点步长.
	说明:无法直接使用该函数,因为它属于一个类random的静态方法,用来需要引入random类 import random');
print("import random;
print(random.randrange(0,5));取起不取终");
import random;
print(random.randrange(0,5,1));
import math;
print('import math;
math.pi    #',math.pi);
print('math.e   #',math.e);

print();
print('23.转义字符');
print('\ 如果在源码的行尾打一个,表示该行没完,延续到下一行.
\a这个可以让系统发出一个声音');
print("r'\n'",'在转义前面加一个r,表示不转义,直接输出原字符串.');
print(r'\');

print();
print('24.格式化输出,下面这个东西看起来原始多了.%(name)s这句话分三部分:%是符号,name是点位名,s表示是字符串.');
print("print ("my name is %(name)s programAge %(pa)d years." %{'name':'mirror','pa':3}) ;");
print ("my name is %(name)s programAge %(pa)d years." %{"name":'mirror',"pa":3}) ;

print(":)还好3.XX版本有类似C#的string.format.那就是str.format().再试试上面那句");
print("print("my name is {0} programAge {1}.".format('mirror',3));")
print("能指定占位名,不过用数字不更好吗.print("my name is {name} programAge {pa}.".format(name='mirror',pa=3));");
print("my name is {0} programAge {1}.".format('mirror',3));
print("my name is {name} programAge {pa}.".format(name='mirror',pa=3));

print();
print("以上是基础的语法,另外就是面向对象了.这个在下一篇里弄");
原文地址:https://www.cnblogs.com/mirrortom/p/5127590.html