[python小白]菜鸟教程---

pycharm竟然是idea大家族里面的,汉化之后不知道比my、eclipse高明到哪里去了。https://blog.csdn.net/pingfangx/article/details/78826155(汉化教程))

#coding:utf-8 (不过我的一开始就很支持中文哎...

一、基本语法
(1)基本知识
print "hello world"
py3.0一般就是print("hello,word!")
-d 在解析时显示调试信息
-O 生成优化代码 ( .pyo 文件 )
-S 启动时不引入查找Python路径的位置
中文输出: Python中默认的编码格式是 ASCII 格式
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了
注意: = 号两边不要空格。

#!/usr/bin/python
#coding=utf-8
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ;
>>> print 'hello';print 'runoob';
hello
runoob
(2)缩进
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
(4)注释和输出
可以使用斜杠( \)将一行的语句分为多行显示,语句中包含 [], {} 或 () 括号就不需要使用多行连接符。
引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串。
python中单行注释采用 # 开头。
'''
这是多行注释,使用单引号。
'''
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,
(5)
缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束
二、python变量类型
Python 中的变量赋值不需要类型声明。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
(用=)
a = b = c = 1
a, b, c = 1, 2, "john"都可以
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
(1)字符串
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。【左闭右开】
加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:print str * 2 # 输出字符串两次
【实例】
str = 'Hello World!'

print str # 输出完整字符串
print str[0] # 【【输出字符串中的第一个字符】】
print str[2:5] # 输出字符串中第三个至第五个之间的字符串(不包含第五个。因此这里有2 3 4 一共3个
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串

(2)列表
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始。
下标可以为空表示取到头或尾。

(3)元组
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

(4)字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-

dict = {}
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() # 输出所有值

输出结果为:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
(5)类型转换
str(x)将对象 x 转换为字符串
int(x [,base])将x转换为一个整数
base -- 进制数,默认十进制
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值

>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
>>> int('10',8)
8
这个貌似是, 括号里的意思是十几进制的意思,也就是12 是16进制的12所以是18

 四、运算符
(1)+ - * / %
**是幂  返回x的y次幂
//取整数  向下取整

(2)Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
也就是1.0/2或者1/float(2)

(3)!=是不等的意思, 同时也是<>
(4)%=和//=以及**=都是一样的
(5)位运算
&   a
|^
~
<<
>>
(6)逻辑运算符!!!!

(7)in // a in list  a not in list

is (==是判断是否值相等,is 是是否引用的一个对象) is not

六 条件语句
elif  就是else if
用严格的缩进区分
0或者null为false
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
【记得if后面要有":"  for也是】



流畅的pythoon阅读笔记 鸭子切片原理

 

实际应用:

使用IDLE打开,python shell运行

然后要输入! import

然后就是缩进︿( ̄︶ ̄)︿非常重要

(应该也没啥。直接在那里打开就行。。)

 

唔...  感觉太难用了 ,我就去下了pycharom

简直完美啊,再也没有报错过!!

第一个程序参考了菜鸟教程(本篇都是参考菜鸟教程)  http://www.runoob.com/w3cnote/prints-diamonds-triangles-rectangles.html (py打印简单的三角形)

#coding:utf-8
rows=int(raw_input('请输入变量'))
i=j=k=1
#等腰直角三角形:
print "world begins"
for i in range(0,rows):
    for j in range(0,rows-i):
        print " * ",
        j+=1
    i+=1
    print "\n"

#空心正方形
print "空心正方形"
for i in range (0,rows): #区间似乎是左闭右开 所以...
    for k in range(0,rows):
        if i!=0 and i!=rows -1:# 中间的行的控制
            if k==0 or k==rows-1:# 边缘的控制
                print " * ",
            else:
                print "   ",
        else:
            print " * ",
        k+=1
    i+=1
    print "\n"
View Code

 然后这里呢,要特别注意“,” 不然 就去换行了

还有for i in range (..)

    i+=1 (一般是这样的格式哦)

 【继续学一下 有关"循环"】

七 循环语句

1.for循环
(1)字符串
for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
(2)数组
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print '当前水果 :', fruit
或者索引:
for index in range(len(fruits)):
   print '当前水果 :', fruits[index]
函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

2.循环使用else语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
【也就是,如果else没和if对齐而是和for对奇了,就相当于是一个bool设置xxx的例子。】

3.while用法大致相同
break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环
【可以使用 CTRL+C 来中断(无限)循环】
while … else 在循环条件为 false 时执行 else 语句块:(else和while对其的时候)
如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中。

4.补充
& (严格,与,都满足) | (不严格,或,有一个就诊) ^(异或) <<(左边弯加,右边弯假)
【只能用elif哦!。。】

八  python数字
Python pass是空语句,是为了保持程序结构的完整性。
占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容是可以用 pass 填充,使程序可以正常运行。
【就像分号  ;一样】
chr(x )                 将一个整数转换为一个字符  
hex(x )                 将一个整数转换为一个十六进制字符串  

(还有类似许多,http://www.runoob.com/python/python-numbers.html 基本是想变成什么就叫什么名字吧(当然了) 以及加了.0才认得你是浮点数
import math  / cmath(包含复数 i... )

abs(x)  ceil(x)  exp(x) #e的x次幂  用法math.exp(1)
log(x)      math.log(100,10)  2.0
log10(x)  math.log10(100)   2.0
pow(x,y)  x的y次方啊!!!!
round(x,[,n]) 私车五日,后面是小数点位数
这些都有

随机数函数 (很重要,但是还不知道用法)
常量:pi  e

posted @ 2018-10-29 10:07  send/me/a/cat  阅读(741)  评论(0编辑  收藏  举报