Python运算符及基本数据类型

一.安装Python

windows:

1、下载安装包
    https://www.python.org/downloads/
2、安装
    默认安装路径:C:\python27
3、配置环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
    如:原来的值;C:\python27,切记前面有分号

linux:

无需安装,原装Python环境,默认版本为2.7。也可重新下载安装。具体安装过程参看:http://www.cnblogs.com/zhangge123/p/6579651.html中作业六的安装过程。

二.关于Python的特点

  首先Python是一种解释语言,它具有跨平台,开发效率高等优点,但是同时它的运行效率会相对较低,因为它在执行时是在代码编译得到字节码(在Python中就是.pyc文件) ,虚拟机执行字节码并转换成机器码再后在处理器上执行的。常见的解释型语言有:(shell,Python,php,ruby,Java)

  与之对应的编译型,如C,C+,go等,它们运行效率高,通过代码编译得到机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作,但不能跨平台,开发效率低。

三.变量

1、声明变量

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
name = "zhangge"

上述代码声明了一个变量,变量名为: name,变量name的值为:"zhangge"

变量的作用:昵称,其代指内存里某个地址中保存的内容

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
    ['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']

2、变量的复制

例   name = "zhangge"

     name1=name

在这里name与name1都是指向的同一地址,而改地址保存的内容是"zhangge"

四.关于循环与条件判断

1.while循环

死循环:while True:

结束当前层的循环: break

结束本次循环:continue

2.for 循环(也叫遍历)

常见用法:for i in range()此处range里面加入参数

               for i in list/dict/str/tuple/set 将这些数据类型的对象的元素进行遍历一遍,并赋值给i

3.if条件判断

常见用法:if i in __:  此处下划线可以填写判断的对象

               if i not in …:

               if 条件判断:

注:以上三种均有均可加else语句,其中if还可添加elif,对于while和for的else语句,只有在循环正常结束后(break就是不正常,continue正常),else才会执行。而if是相反的。

五.运算符

1.算数运算

2.比较运算(用以if条件语句中)

3.赋值运算

425762-20151025004625020-515390534

4.逻辑运算

5.成员运算

 

 

 

 

 

六.基本数据类型

1、数字

int(整型)

 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

关于int的常用方法:

    1.创建   例如:n=123  或 n=int(123)

    2.转变  例: s="123"   m=int(s) 注:int只能转变数字,对于字母或者汉字会报错

    3.功能:bit_length() #查看二进制占用的最小位数 (37).bit_length ==> 6

               conjugate()  #返回该数字的共轭复数

               _abs_  #绝对值 _and_ #x&y  _cmp_  #比较大小  _coerce_ #将x,y强制生成一个元组

               剩余其他功能可在int类中alt+鼠标左键查看。

2、布尔值

   真或假     1或0   True或False

3、字符串

字符串常用功能:移除空白strip()、 分割split()、 长度len()、 索引index()、 切片s[0:2]

   1.创建 s="abc"  s=str("abc")

   2.转换 a=123   s=str(a)   拓展:bytes类型==> 字符串str   s=str(b,encoding="utf8")

      例题:将自己的名字以二进制形式表示出来

name="张三"
for i in name:
    print(i)
    bytes_list=bytes(i,encoding="utf8")#utf8一个汉字占三个字节,也可转成GBK,占两个字节
    for j in bytes_list:
        print(bytes_list,bin(j))

#结果为:
张
b'\xe5\xbc\xa0' 0b11100101
b'\xe5\xbc\xa0' 0b10111100
b'\xe5\xbc\xa0' 0b10100000
三
b'\xe4\xb8\x89' 0b11100100
b'\xe4\xb8\x89' 0b10111000
b'\xe4\xb8\x89' 0b10001001

   3.其他功能(由于字符串是不可变的,因此它的操作均具有返回值,并且原字符串不改变)

      ① 返回为str类型功能

   S.capitalize() #首字母大写   s.casefold() #大写变小写  s.swapcase(self) # 大写变小写,小写变大写
   s.center(self, width, fillchar=None)#指定字符串长度,使居中,第二个参数为填充内容(可以是"-","","*"等)
   s.ljust(self, width, fillchar=None) #指定长度,左对齐  s.rjust()
   s.zfill(self, width) #指定长度,左侧填充0
   s.strip(self, chars=None)#去除开头结尾的空格,换行符及tab键,
           If chars is given and not None, remove characters in chars instead
   s.upper() s.lower(self) s.strip()
   s.replace(self, old, new, count=None) #count指定替换次数
   s.title(self) #转为标题
   s.expandtabs(self, tabsize=8)#将tab键转换为八个空格 
 ②判断型功能(返回为bool)
   s.endswith(self, suffix, start=None, end=None) #suffix后缀,在此suffix也可以为字符串的元组
   s.startswith(self, prefix, start=None, end=None)
   s.isalnum(self) #判断是否为数字   s.isdecimal(self)  #判断是否为十进制数
   s.isalpha(self) #判断是否为字母   s.digit() #判断是否为数字
   s.isidentifier(self) #判断变量名是否为合法  s.isnumeric() #判断是否为数字(一,壹都可识别)
   s.islower() s.isupper() s.istitle()#每个单词首字母是否大写 s.isspace() s.isprintable()
 ③返回为int类型功能
   s.count(self, sub, start=None, end=None) #sub表示子序列,返回为int
   s.find(self, sub, start=None, end=None)#返回第一个sub的index,若无返回为-1
   s.rfind(self, sub, start=None, end=None)
   s.index(self, sub, start=None, end=None)#同上,但若无,报错
   s.rindex(self, sub, start=None, end=None)
 ④返回为bytes,tuple,list
   encode(self, encoding='utf-8', errors='strict') #编码 返回值为bytes
   s.partition(sep) -> (head, sep, tail) #分割,若sep不存在,则返回(s,"","")
   s.rpartition(self, sep)
   s.rsplit(self, sep=None, maxsplit=-1) #maxsplit指定分割次数,返回列表
   s.split(self, sep=None, maxsplit=-1) # sep如无,则将s转换为列表
   s.splitlines(self, keepends=None)#以换行符分割,返回列表
 ⑤与其他数据类型结合使用的功能   
   s.join(self, iterable) #连接 举例见下
li=["abc","cmd","hello"]
s="_".join(li)
print(s)
 
#结果:
#abc_cmd_hello
   s.translate(self, table) 和 s.maketrans(self, *args, **kwargs)
name="hello_world"
In = "elordh"
Out = "@#$%&*"
trans_table=str.maketrans(In,Out)
print(name.translate(trans_table))

#结果为:
#*@##$_w$%#&
   s.format(self, *args, **kwargs) s.format_map(self, mapping)# map 映射
注:各式数据类型占位符:str(%s),digit(%d),float(%f),%s之间加入数字,可以规定字符串长度,%.4f可规定小数点个数。%s可代替%d。默认右对齐,加-号改为左对齐。下面是关于format用法。
print("nihao%-10scb"%"ai")
print("nihao%10scb"%"ai")
#结果为
#nihaoai        cb
#nihao        aicb
print("hello {0},my age is {1}".format("zhangge",23))
print("hello {name},my age is {age}.".format(age=23,name="zhangge"))#建议使用,位置可互换
print("hello {name},my age is {age}.".format_map({"age":23,"name":"zhangge",}))

未完待续...
posted @ 2017-04-04 18:14  加油头头  阅读(334)  评论(0编辑  收藏  举报