Python 基础语法

编码设置

#在最上面添加utf8编码
# -*- coding: UTF-8 -*-

注释

#缩进在Python中很重要
#弱语言
#我是单行注释
'''
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
"""

变量

#Numbers(数字)
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
#String(字符串)
name = "John" # 字符串
#多个变量赋值,不推荐
a = b = c = 1
a, b, c = 1, 2, "john"
#列表
list1 = ['physics', 'chemistry', 1997, 2000]
#元组
tup1 = ('physics', 'chemistry', 1997, 2000)
#字典
d = {1 : 2, 'a' : 'cx' }

操作符

+-*/
#取模 %
20%10=0
#幂 **  2的2次方
2**2=4
#取整除 //
9//2=4, 9.0//2.0=4.0
#比较
==、!=、<>、>、<、>=、<=、、
#赋值
=、+=、-=、*=、、/=、%=、**=、//=、
#逻辑运算符
and  (x and y) 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
or、(x or y) 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值
not、(not x)如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值
#身份运算符
is (x is y) is 是判断两个标识符是不是引用自一个对象
is not (is not) is not 是判断两个标识符是不是引用自不同对象
#位运算符

控制语句

num = 5     
if num == 3:            # 判断num的值
    print 'boss'        
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           # 值小于零时输出
    print 'error'
else:
    print 'roadman'     # 条件均不成立时输出
# 简单使用
if num >= 0 and num <= 10:    
    print 'hello'

循环语句while

#while判断语句
count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1
 
# continue 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:  # 非双数时跳过输出
        continue
    print i 

#break的使用
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break
#else的使用
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

循环语句for

for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print '当前水果 :', fruits[index]

类型转换

tmp = '7'
n = 12.2
#字符串转换为数字
print int(tmp)
#字符串转换为float类型
print float(tmp)
#数字转换为字符串
print str(n)

obj = {1:12}
oo = [1,2,4,7,8]
#参数可以是元组、列表或者字典,wie字典时,返回字典的key组成的集合
print tuple(oo)
#对象转为字符串1: 12}
print repr(obj)
#执行一个字符串表达式,返回计算的结果
print eval("11+243")

字符串

var1 = 'Hello World!'
#字符串长度
print len(var1)
#查
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var1[1:5]
#连接字符串 +、+=
print "a" + "b"
#更新字符串
print "更新字符串 :- ", var1[:6] + 'Runoob!'
#重复输出3次字符串
print "bb\n" * 3
#截取字符串中的第2到第5个字符串(1,4)
print var1[1:4]
#判断字符串中是否包含某个字符串(in/not in),返回布尔值
print  "W" in var1 
#字符串格式化输出
print "My name is %s and weight is %d kg!" % ('Zara', 21) 

name = 'Libai'
#判断是否以指定的字符串结尾
new_val = name.endswith('bai')
print(new_val)

#比较字符串
print cmp("ss","gwd")

#分割字符串
str = 'hello,world,hello'

# 默认以空格为分割
print(str.split()) # ['hello,world,hello'] 单词之间没有空格,所以所有的内容为一个元素
# 以o为分割
print(str.split('o')) # ['hell', ',w', 'rld,hell', '']
# 以逗号分割
print(str.split(',')) # ['hello', 'world', 'hello']


str = 'hello,\nworld,\nhello'
# 以行为分割字符串
print(str.splitlines()) # ['hello,', 'world,', 'hello']

列表

#创建
list = ['physics', 'chemistry', 1997, 2000]
#获取元素[1,3)输出 ['chemistry', 1997]
print "list[1:3]: ", list[1:3]
#添加元素
list.append('Runoob')
#删除元素
del list[0]
#移除最后一个元素
list.pop()
#插入元素的某个位置
list.insert(1,'a')
#获取长度
print len([1, 2, 3])
#两个元组相加
print list + [4, 5, 6]
#迭代
for x in list: print x,
#将列表转换为元组
print tuple(list)

元组

#元组了和列表操作一样,只不过不能增删改
tup1 = ('physics', 'chemistry', 1997, 2000)

字典

#创建
#不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
#查找key为Name的value
print "dict['Name']: ", dict['Name'];
dict.get('Name')
#修改
dict['Age'] = 8;
#设置默认值none,如有值则忽略
dict.setdefault('name')
#删除键是'Name'的条目
del dict['Name']
dict.pop('Name')
#清空词典所有条目
dict.clear()
# 删除词典
del dict   
#列表形式返回value
print d.values()
#遍历字典key通过key取值
for key in dict.keys():
       print(key+':'+dict[key])
#遍历值
for value in a.values():
       print(value)
#遍历字典的key和value
for key,value in a.items():
       print(key+':'+value)

函数

#格式
def functionname( parameters ):
   #函数_文档字符串
   function_suite
   return [expression]
#调用
functionname(paraneters)

#多个函数及缺省函数
def printinfo( name, age = 35 ):
   print "Name: ", name;
   print "Age ", age;
   return;

面对对象

class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体

class 派生类名(基类名)
    ...

类特殊属性

__name__# 类的名字(字符串)
__doc__# 类的文档字符串
__base__# 类的第一个父类
__bases__# 类所有父类构成的元组
__dict__# 类的字典属性
__module__# 类定义所在的模块
__class__# 实例对应的类
  • __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似__init__()之类的。
  • _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
  • __foo:双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
# -*- coding: UTF-8 -*-
class Person:
    
    'lalalllalalalalalal'
    __secretCount = 0;  #私有变量
    publicCount = 0; #公开变量
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
        
    def __del__(self):
        class_name = self.__class__.__name__
        print class_name, "销毁"

    def showClass(self):
        print self.__class__
        
    def showDoc(self):
        'lolololololololol'
        print self.__doc__
    
    def showDict(self):
        print self.__dict__
    
    def showModule(self):
        print self.__module__
    
    @classmethod
    def classFunc(self):
        print "这是类方法"
        
    @staticmethod   
    def staticFunc():
        print "静态方法"

        
p = Person("yf",12)
p.showClass()
p.showDoc();
p.showModule();
Person.classFunc();
Person.staticFunc();

你可能感兴趣的:(Python 基础语法)