在mac环境下记录Python的学习笔记之基础语法+变量类型

作者: admin 分类: Python 发布时间: 2019-03-28 22:32  阅读: 356 views

1. python标识符
在python中,标识符由字母、下划线、数字组成
所有标识符可以包括英文、数字及下划线,但不能以数字开头
python中的下划线开头标识符是有特殊意义的。
以单下划线开头_foo的代表不能直接访问的类属性,需要通过类提供的接口进行访问,且不能用from xxx import *导入
以双下划线开头_foo的代表类的私有成员
以双下划线开头和结尾的__foo__代表python里特殊方法专用标识,如__init__代表类构造函数

python可以在同一行显示多条语句,方法时用分号;分开

print "hello"; print "world!"
'''输出结果如下
hello
world!
'''

2. python保留字符
python的关键字只包含小写字母,不能用作常数或变数,或其他标识符名称

and   exec   not    assert   finally
or    break  for    pass     class
from  print  raise  global   continue 
def   if     return del     import
try   elif   in     while    else
is    with   except lambda  yield

3.python的行和缩进

python代码中,缩进的空白数量是可变的,但是所有的代码块语句必须包含相同的缩进空白数量,必须严格执行。

if True:
    print 'this is a joke!'
else:
    print 'this is a truth!'

# 如果出现 IndentationError: unindent does not match any outer indentation level
# 表示 缩进有问题

4.python的多行语句 和 引号
python中一般以换行作为语句的结束。但是可以使用斜杠\将一行语句分为多行显示。
如果语句中包含[]、{}、()则不需要使用\进行连接
python中可以使用单引号、双引号、三引号表示字符串,必须是前后对应

print "a" +\
      "b" +\
      "c"
       
print {'a','b'
       'c','d'}
       
print '这是一个字符串'
print "这也是一个字符串"
print '''这仍然是一个字符串'''

'''输出结果如下
abc
set(['a', 'd', 'bc'])
这是一个字符串
这也是一个字符串
这仍然是一个字符串
'''

5. python的注释和空行
单行注释用 # 多行注释用三个单引号(\”’)或者三个(\”””)

书写时不插入空行,python解释器运行也不会出错,空行的作用是分隔两段不同功能或含义的代码,便于日后的代码维护

6. python用户输入、输出

s = raw_input("please input a word!\n")
print s

'''输出结果如下
please input a word!
zhe shi yi ge input 
zhe shi yi ge input 
'''

7. python代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

if expression:
    print
elif expression:
    print
else:
    print

 

8.Python的变量类型和数据类型
变量是存储在内存中的一个值,创建时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存并决定什么数据存储内存中
python中定义变量不需要类型声明
python中有5个标准数据类型
Numbers-数字,String-字符串,List-列表,Tuple-元组,Dictonary-字典

 

#数值类型的数据变化每次会分配一个新的对象。
有四种数字类型 int-有符号整形,
long-长整型|八进制|十六进制,(在python中,long由int代替)
float-浮点型,
complex-负数

一些数值类型的实例:

int    long    float    complex
10    51924361L    0.0    3.14j
100    -0x19323L    15.20    45.j
-786    0122L    -21.9    9.322e-36j
080    0xDEFABCECBDAECBFBAEl    32.3e+18    .876j
-0490    535633629843L    -90.    -.6545+0J
-0x260    -052318172735L    -32.54e100    3e+26J
0x69    -4721885298529L    70.2E-12    4.53e-7j

 

#字符串是由数字、字母、下划线组成的一串字符
有两种取值顺序
a[头下标].从左到右索引默认0开始的,最大范围是字符串长度少1
b[尾下标].从右到左索引默认-1开始的,最大范围是字符串开头

varDel = 10
print varDel
del varDel
#print varDel
varS = "deathearth"
print varS
print varS[0]
print varS[2:5]
print varS[3:]
print varS[-5:]
print varS * 2 
print varS + " is a domain"

'''输出结果如下
输出数字    10
变量不存在  NameError: name 'varDel' is not defined
完整字符串  deathearth
第一个字符  d
第三到第五  ath
从四到最后  thearth
从-5到最后  earth
输出为两次  deathearthdeathearth
拼接后输出  deathearth is a domain

-python列表

'''
# python列表可以完成大多数集合类的数据实现,支持字符、数字、字符串或子列表,用中括号表示
元组类似于列表,内部用逗号隔开。元组不能二次复制,只读,但是可以拼接为新元组
字段类似于java中的map对象,键值存取。
'''
 
aalist = ['deathearth','fool',2,15,'234']
anotherlist = ['11',2.15]
yuanzu = ('123','abc')
yuanzu2 = ('1',)  #只有一个元素是,需要添加逗号
print aalist
print aalist[0]
print aalist[1:2]
print aalist[2:]
print anotherlist *2
print aalist + anotherlist
aalist[2] = 3.14
print aalist
yuanzu[1]="bcd"
print yuanzu
 
del yuanzu2[0]  #不能删除元组元素
del yuanzu2     #可以删除整个元组

'''输出结果如下
输出完整对象    ['deathearth', 'fool', 2, 15, '234']
第一个值        deathearth
从一到二值      ['fool']
从二到最后      [2, 15, '234']
输出两次值      ['11', 2.15, '11', 2.15]
拼接输出值      ['deathearth', 'fool', 2, 15, '234', '11', 2.15]
列表值可改      ['deathearth', 'fool', 3.14, 15, '234']
元组不可改      TypeError: 'tuple' object does not support item assignment
'''

python列表的操作

dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
 
print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值
tinydict.clear()           # 删除词典

'''输出结果为
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
'''

del dict[2]  #删除第二个元素
len(dict)    #计算列表长度
max(dict)    #列表元素最大值
min(dict)    #列表元素最小值
list(yuanzu) #元组转列表

9.python数据类型转换

int(x [,base])      将x转换为一个整数
long(x [,base] )    将x转换为一个长整数
float(x)            将x转换到一个浮点数
complex(real[,imag]) 创建一个复数
str(x)              将对象 x 转换为字符串
repr(x)             将对象 x 转换为表达式字符串
eval(str)           用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)            将序列 s 转换为一个元组
list(s)             将序列 s 转换为一个列表
set(s)              转换为可变集合
dict(d)             创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)        转换为不可变集合
chr(x)              将一个整数转换为一个字符
unichr(x)           将一个整数转换为Unicode字符
ord(x)              将一个字符转换为它的整数值
hex(x)              将一个整数转换为一个十六进制字符串
oct(x)              将一个整数转换为一个八进制字符串
'''
字符串处理格式化
'''
# print "My name is %s and weight is %d kg!" % ('Zara', 21) 
# # My name is Zara and weight is 21 kg!

10.python时间和日期

import time
print time.time()  
#1553699036.68
#很多Python函数用一个元组装起来的9组数字处理时间:
print time.localtime(time.time())
#time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=6, tm_sec=43, tm_wday=2, tm_yday=86, tm_isdst=0)


import datetime
i = datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是  %s" %i.second)


import time
import calendar


"""
    时间元组(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时)
        一周的第几日: 0-6
        一年的第几日: 1-366
        夏令时: -1, 0, 1
"""

"""
    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 当前时区的名称  # 乱码
    %% %号本身
"""

# (1)当前时间戳
# 1538271871.226226
time.time()

# (2)时间戳 → 时间元组,默认为当前时间
# time.struct_time(tm_year=2018, tm_mon=9, tm_mday=3, tm_hour=9, tm_min=4, tm_sec=1, tm_wday=6, tm_yday=246, tm_isdst=0)
time.localtime()
time.localtime(1538271871.226226)

# (3)时间戳 → 可视化时间
# time.ctime(时间戳),默认为当前时间
time.ctime(1538271871.226226)

# (4)时间元组 → 时间戳
# 1538271871
time.mktime((2018, 9, 30, 9, 44, 31, 6, 273, 0))

# (5)时间元组 → 可视化时间
# time.asctime(时间元组),默认为当前时间
time.asctime()
time.asctime((2018, 9, 30, 9, 44, 31, 6, 273, 0))
time.asctime(time.localtime(1538271871.226226))

# (6)时间元组 → 可视化时间(定制)
# time.strftime(要转换成的格式,时间元组)
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

# (7)可视化时间(定制) → 时间元祖
# time.strptime(时间字符串,时间格式)
print(time.strptime('2018-9-30 11:32:23', '%Y-%m-%d %H:%M:%S'))

# (8)浮点数秒数,用于衡量不同程序的耗时,前后两次调用的时间差
time.clock()

 


   原创文章,转载请标明本文链接: 在mac环境下记录Python的学习笔记之基础语法+变量类型

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读