Python基础

Python基础

1、hello world

字符串单双引号即可,'''或"""三引号也可以,通常用于多行文档原生输出。

#双引号
>>>print "hello world"

#单引号
>>>print 'hello world'

#方法调用
>>>print('hello world')
>>>print("hello world")

#,号结尾不换行打印
>>>print "hello world" ,

2、编写python脚本与中文乱码

2.1 创建python文件test.py
print(100)
print('中国人')
2.2 执行python文件
$>python test.py
2.4 出现如下错误

python_003

2.5 文件中添加utf-8字符集声明
#-*- coding:utf-8 -*-
print(100)
print('中国人')
2.6 执行打印
$>python test.py
2.7 结果如下

python_004

3、变量无序声明,拿来即用

#无需定义变量
>>>x = 1000
>>>print(x)

4、缩进格式定义代码块

#以缩进方式代表代码块
if True :
    pass
    print "hello world1"
else :
    print "hello world2"

5、一条语句换行

x = 1 + \
    2 + \
    3 + \
    4

6、String

6.1 定义方式
s = 'hello world'
s = "hello world"

#格式原样输出,可用于注释
s = """
hello world
hello world

hello world
hello world
"""

#定义unicode字符方式
s = u"hello \u0061"
6.2 字符串操作
s = "hello world"
print s[0]      #
print s[2:4]    #ll,前包后不包
print s[2:]     #llo world
print s[:4]     #hell
print s[:-1]    #hello worl
print s[:]      #hello world

#重复几遍操作
print s * 2     #hello worldhello world

#滤除两边的空格,等价于trim
" hello world ".strip(" ")
#滤除左边的指定字符
" hello world ".lstrip(" \r\t\n")
#滤除右边的字符
" hello world ".rstrip("\r\n;")
6.3 格式化操作
#a is 1 , b is 2
s = "a is %d , b is %d"%(1,2)   

#a is 1 , b is 2
s = "a is {x} , b is {y}".format(x = 1 , y = 2)

7、变量定义

#变量必须初始化
a= 100

#错误,没有赋值
b

#同时定义多个变量并赋值
a , b , c = 1 , 2 ,3

8、python数据类型

#int
a = 100

#float
a = 100.0

#long
a = 100L

#复数
a = 0 + 1j

#j的平方是-1
print pow(a , 2)

#string
a= "www.baidu.com"
#int不能和string直接相加,需要转换类型
#转换成string
str(100)

9、list

list表示列表或数组,可以重复,有序,等同于java中的list集合,list内容可以修改。

9.2 list操作
list = [1,2,3,4]
print list[0]
print list[0:2]
print list[2:]
print list[:4]
print list[:-1]

#重复操作
print list * 2

#重新赋值
list[1] = 100
print list[1]
9.2 99表格
rows = [1,2,3,4,5,6,7,8,9]
cols = [1,2,3,4,5,6,7,8,9]

#for循环,输出99表格
for r in rows :
    for c in range(1 , r+1) :
        if c <= r :
            print str(c)+"x" + str(r) + "=" + str(c * r) + str("\t"),
    print
9.3 range对象

range是范围对象,指定起始(包括)、结束(不包括)和步长。

# 1,3,5,7,9
r = range(1 , 10 , 2)

#默认步长1
r = range(1 , 4)

10、元组

元组类似于数据表中的一条记录,每个组员有不同的类型,内容不能修改,使用()表示。

t = (1 , "tom" , 12)
#访问第一个组员
print t[0]
print t[2:]

#错误,不可以赋值
t[1] = "tomas"

11、字典

字典等同于java中的map,使用kv方式存储。通过key查找v。使用{}构造。

11.1 dict基本操作
d = {1:"tom1" , 2 : "tom2" , 3 : "tom3"}
#使用的key,不是下标
print d[1]

#可以修改值
d[1] = "tomas"

11.2 遍历字典
d = {1:"tom1" , 2 : "tom2" , 3 : "tom3"}
#遍历所有keys
for k in d.keys():
    print k
    
#遍历所有values
for v in d.values():
    print v

#遍历所有条目
for k,v in d.items():
    print "%d -> %s"%(k,v)
    
#遍历所有条目2
for e in d.items():
    print "%d -> %s"%(e.key(),e.value())

12、类型转换

#str()转成字符创
print str(100) + "2000"

#int()
print int('100') + 200

#float()
print float('100')

#eval()将字符串表示的表达式转换成表达式运算
print(eval("1 + (1 - (1 * (1 / (1 + 2))))"))

#将对象转换成string表示
print repr(d)

list = [1,1,1,2,2,3]
set = set(list)    #不重复集合
print set

13、set

set不重复,可以使用list集合来创建set集合。

list = [1,1,1,2,2,3]

#1,2,3
set = set(list)

14、运算符

print 1 + 2
print 1 - 2
print 1 * 2
print 1 / 2         #整除
print 1 % 2         #取模
print 2 ** 3        #幂运算 8
print 1.0 / 2       #小数除 0.5
print 1.0 // 2      #整除   0

15 、进制变换

print hex(97)   #转换成十六进制串  0x61
print oct(97)   #转换成八进制串    0141
print chr(97)   #将ascii转换成字符 a 

16、位运算

print 0 & -1    #0
print 0 | -1    #-1
print 0 ^ -1    #-1
print ~ 1       #-2
print 1 << 1    #2
print -1 >> 1   #-1 ,有符号移动

17、逻辑运算

print True and False    #and    
print True or False     #or
print not False         #not

18、成员运算

list = [1,2,3,4]
print 1 in list     #True

19、身份运算

身份运算和==相似,“==”判断对象内容是否相同,is判断对象是否是同一对象。

a = [1,2,3,4]
b = a[:]

print a is b    #False ,不是同一对象 
print a == b    #True  ,内容相同

20、条件语句

条件语句语法是if ... elif ... else ..。

age = 30
if age < 18 :
    print "少年"
elif age > 50:
    print "老年"
else :
    print "中年"

21、循环

21.1 for循环
list = [1,2,3,4]
for x in list:
    print x
21.2 while循环
#实现9x9乘法表
row = 1
while row <= 9:
    col = 1
    while col <= row:
        print str(col) + "x" + str(row) + "=" + str(col * row) + "\t",
        col += 1
    print
    row += 1
    
#百钱买百鸡问题
#公鸡数
cock = 0
#母鸡数
hen = 0
#小鸡数
chicken = 0

for x in range(0, 20 + 1):
    for y in range(0, 34):
        for z in range(0, 301, 3):
            sum = x * 5 + 3 * y + z / 3
            count = x + y + z
            zz = z / 3
            if sum == 100 and count == 100:
                print "公鸡 :%d,母鸡:%d,小鸡:%d".%(x,y,z)

22、定义函数

22.1 定义普通函数

普通函数直接调用,不需要通过对象访问。

#函数需要返回语句
def add(a , b) :
    return a + b

#调用函数
print add(1,2)
22.2 定义类的成员函数

在类中定义的函数,需要通过对象访问。

class Foo:
    def add(self , a  , b):
        return a + b ;

#调用成员函数
Foo().add(1,2) ;
22.3 变长参数与关键字参数
#*args表示任何多个无名参数,它是一个tuple
#**kwargs表示关键字参数,它是一个dict
def foo(*args,**kwargs):
    print 'args=',args
    print 'kwargs=',kwargs
    print '**********************'
    
#调用
foo(1,2,3)
foo(a=1,b=2,c=3)
foo(1,2,3,a=1,b=2,c=3)
#输出结果
args= (1, 2, 3)
kwargs= {}
**********************
args= ()
kwargs= {'a': 1, 'c': 3, 'b': 2}
**********************
args= (1, 2, 3)
kwargs= {'a': 1, 'c': 3, 'b': 2}

23、IO操作

# -*-coding:utf-8-*-
f = open("d:\\java\\1.txt")
# 读取所有行
lines = f.readlines()
for l in lines:
    print l ,

# 读取一行
# readLine读取的整行,如果是空行的话,不为None,有换行符。
f = open("d:\java\1.txt")
while(True):
    line = f.readLine()
    if line != '':
        print line
    else:
        break 
    
str = \
"""
helll world
    helll world
        helll world
            helll world
                helll world
"""

#写入文件 mode=r | wb |
# w : overwrite覆盖模式
# a : append追加模式
f2 = open("d:\\java\\2.txt" ,mode="ab")
f2.write(str)
f2.close()

#重命名文件
import os
os.renames("d:\\java\\2.txt" , "d:\\java\\2222.txt")
os.remove("d:\\java\\2222.txt")
os.mkdir()

dir = open("d:\\")

#列出目录信息
list = os.listdir("d:\\")
for e in list:
    # 中文路径问题需要unicode编码
    print unicode(strPath , "GB2312")

#判断是否是文件
import os
os.path.isfile("d:\\java\\1.txt")

#导入其他模块的成员
from util import *
print add(1,2)

24、模块判断与参数提取

24.1 主函数运行
#判断当前文件是否直接运行,还是被其他引用
#直接运行的时候值为"__main__"
if __name__ == '__main__':
    print 'hello world'
    
24.2 参数提取

通过sys的argv属性提取参数列表:

import sys
#提取脚本执行时的参数
r = sys.argv
r[0]            # 脚本本身路径
r[1]            # 第一个参数
24.3 反射访问
print getattr(obj , "name")

25、日期函数

import datetime
datetime.datetime.now()
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'''
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
'''

转载于:https://www.cnblogs.com/xupccc/p/9543922.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值