Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.160064 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> 123 123 >>> 1*5+6-(2/3) 10.333333333333334 >>> 'love' 'love' >>> asdfa Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> asdfa NameError: name 'asdfa' is not defined >>> 'sdfdf'*'sdfdf' Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> 'sdfdf'*'sdfdf' TypeError: can't multiply sequence by non-int of type 'str' >>> |
>>> help Type help() for interactive help, or help(object) for help about object. >>> help() Welcome to Python 3.3! This is the interactive help utility. If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/3.3/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utilityand return to the interpreter, just type "quit". To get a list of available modules, keywords, or topics, type"modules", "keywords", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam". help> print Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. help> asdfggf no Python documentation found for 'asdfggf' |
## 打印'Hello world!' print('Hello world!') ## 打印出数值与字符串组合 print('I am',25,'years old.') ## 打印出两个数值 print(2,3) ## 打印出一个数组 print((2,3)) ## 不换行即打印下一个数据 print('Hello world!',end='') print('Hello world!') >>> ================================ RESTART================================ >>> Hello world! I am 25 years old. 2 3 (2, 3) Hello world!Hello world! >>> |
#-*- coding:utf-8 -*- >>> 世界您好 = 'Hello world!' >>> print(世界您好) Hello world! |
#-*- coding:utf-8 -*- __author__ = 'Wang Dachuan @ChongQing Univercity' __copyright__ = '<共享,非商业,署名>' ## 导入tkinter GUI模块 from tkinter import * ## 定义变量 lastx, lasty = 0, 0 ## 绘制笑脸 def addFace(): canvas.create_arc(154.04, 70.23, 245.96, 162.16,start=0,extent=-180,width=6,style=ARC) canvas.create_oval(122.22, 38.41, 277.78, 193.98, width=6,) canvas.create_oval(163.73, 77.10, 176.01, 89.37,width=3,fill='black') canvas.create_oval(223.99, 77.10, 236.27, 89.37,width=3,fill='black') ## Hello world文字部分 def addWord(): word = 'Hello world!' canvas.create_text(199.67, 240.92,text=word ,font='Helvetica -36 bold') ## 画笔绘图部分 def addLine(event): global lastx, lasty x, y = canvas.canvasx(event.x), canvas.canvasy(event.y) canvas.create_line((lastx, lasty, x, y), fill='blue', width=2,tags='currentline') lastx, lasty = x, y def xy(event): global lastx, lasty lastx, lasty = canvas.canvasx(event.x), canvas.canvasy(event.y) ## 创建窗口,在窗口中调用之前的绘图和文字部分 root = Tk() root.title('Hello world!') canvas = Canvas(root,width=400,height=350) canvas.grid(column=0, row=0, sticky=(N, W, E, S)) canvas.bind(addFace()) canvas.bind(addWord()) canvas.bind("<Button-1>", xy) canvas.bind("<B1-Motion>", addLine) root.mainloop() |
a = 10 b = a print(b) |
def Variable(): a = 10 print(a) Variable() print(a) |
-------------------------------------- NameError: name 'a' is not defined Process finished with exit code 1 |
## 创建一个整数变量 a = 1 ## 创建一个浮点数变量 b = 3.5 ## 整数与浮点数相加,用type()函数取得该变量类型 c = a + b + b print() print('c=',c,'c的类型',type(c)) ## 整数转换成浮点数 d = float(a) print('d=',d,'d的类型',type(d)) ## 浮点数转换成整数 e = int(b) print('e=',e,'e的类型',type(e)) |
>>> ================================ RESTART================================ c= 8.0 c的类型 <class 'float'> d= 1.0 d的类型 <class 'float'> e= 3 e的类型 <class 'int'> |
from math import * a = 1.5 b = -1.5 c = 1.3 d = -1.7 e = -1.3 ## int取整直接砍掉小数部分 print('int函数结果:a=',int(a),' b=',int(b),' c=',int(c),' d=',int(d),' e=',int(e)) ## round函数四舍五入,可用一个参数选择保留小数点位数,如round(a,1)将返回1.5 print('round函数结果:a=',round(a),' b=',round(b),' c=',round(c),' d=',round(d),' e=',round(e)) ##floor取小于或等于该数的最大整数 print('floor函数结果:a=',floor(a),' b=',floor(b),' c=',floor(c),' d=',floor(d),' e=',floor(e)) |
>>> ================================ RESTART================================ int函数结果:a= 1 b= -1 c= 1 d= -1 e= -1 round函数结果:a= 2 b= -2 c= 1 d= -2 e= -1 floor函数结果:a= 1 b= -2 c= 1 d= -2 e= -2 |
## 导入分数、数学和随机模块 from fractions import * import math import random ##定义分数与分数运算 x = Fraction(1, 3) y = Fraction(2, 3) z = x * y print('z=',z) ##三角函数,随机数等 a = math.pi/2 b = random.random() c = random.choice([5,3,6,1]) print('a=',a,' b=',b,' c=',c) ##复数为实数部分和虚数部分构成,real + imag(J/j后缀),是j不是i aComplex = 3 + 2j bComplex = 3 + 2j cComplex = aComplex*bComplex print('cComplex=',cComplex) |
>>> ================================ RESTART================================ z= 2/9 a= 1.5707963267948966 b= 0.9468646011445573 c= 1 cComplex= (5+12j) |
>>> a = 'love' >>> b = 4 >>> a + b Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> a + b TypeError: Can't convert 'int' object to str implicitly >>> a * b 'lovelovelovelove' >>> c = '1.45' >>> c + b Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> c + b TypeError: Can't convert 'int' object to str implicitly >>> float(c)+b 5.45 |
city = 'Chongqing' ##len()函数取得字符串的长度 print(len(city)) ##str[x]:x为正时,用来取得该字符串中的第x+1个字符,x从0开始计数 ##x为负时,用来取得该字符串中的倒数第/x/个字符,x从-1开始计数 print(city[0],city[5]) print(city[-1],city[-3]) ##str[x:y]:通过一个切片取值,负值时较大值在右边 print(city[0:5]) print(city[-3:-1]) ##max()和min()找到ASCII编码中字符串中的最大字符和最小字符 print(min(city)) print(max(city)) ##str.index()找到某字符的索引位置,为str[x]的反向操作 print(city.index('n')) ##str.count()统计某个字符出现的次数 print(city.count('g')) |
>>> ================================ RESTART================================ 9 C q g i Chong in C q 3 2 |
while 1: print('True') break while 0: print('False') break |
>>> ================================ RESTART================================ >>> True >>> |
>>> True and True True >>> True and False False >>> True or False True >>> False or False False >>> not True False >>> not (True and False) True |
x = 12.4 y = 12.3 ##符号'=='用于判断两个数是否相等,这条语句的result=False,注意和赋值符号=的区别,这里用的两个"=" print(x==y) ##这条语句的result = True x= 12.3 print(x == y) ##符号'!='用于判断两个数是否不相等,这条语句的result=False print(x != y) a = 12 b = 14 ##符号'>='用于判断a是否大于等于b,这条语句的result=False print(a >= b) ##符号'<='用于判断a是否小于等于b,这条语句的result=True print(a <= b) ##符号'>'用于判断a是否大于b,这条语句的result=False print(a > b) ##符号'<'用于判断a是否小于b,这条语句的result=True print(a < b) ##也可以对两个字符串进行大小的判断,判断的依据是该字符串首字母在ASCII码的位置靠前靠后 a= 'aaa' b= 'bbb' print(a > b) print(a < b) |
>>> ================================ RESTART================================ >>> False True False False True False True False True >>> |
>>> True*True 1 >>> (True+True)**10 1024 >>> True/True 1.0 >>> True+3 4 >>> False *1000 0 >>> False / 5 0.0 >>> True/False Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> True/False ZeroDivisionError: division by zero >>> |
chinese = '重庆大学' byte = chinese.encode('Utf-8') print (byte) print (byte.decode('Utf-8')) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
>>> ================================ RESTART================================ >>> b'\xe9\x87\x8d\xe5\xba\x86\xe5\xa4\xa7\xe5\xad\xa6' 重庆大学 2.5 数据集合 数据集合顾名思义便是一系列数据储存在一个变量中,也可以有多重数据集合的形式,熟悉GH的同学知道,运算器支持输入一个数据,也支持输入多个数据,通过树型数据的方式储存。在代码编程中一般不用树型数据这玩意儿,相对来说要好理解一些,GH主要是因为无法完成循环、迭代、递归等方法因此采用树型数据来传递数据。 Python中有四种数据集合的方式,分别为元组(Tuples)、列表[List]、集合{Sets}和字典{Dict},此处作简单介绍,刚入门Python还未理解基本的逻辑和循环运算就深入接触数据集合恐怕有点困难,如同学习GH一上来就学习树型数据,后面的内容会深入接触这些内容。 • 元组(Tuples)是一系列一旦生成就不可变的数据有序集合,可以读取其内的值,取得其长度等操作,但不能改变。元组支持空元组和单个元素,tuple()函数支持将一个字符串转换为元组。
• 列表[List]也是任意对象的有序集合,与元组不同的是,列表中的元素是可变的,其长度可变,可以进行插入,偏移,删除某些元素等操作。
• 集合{Sets}是一系列无序且元素不重合的数据集合,同样支持空集合和单个元素,集合中可以添加和删除数据,但由于是无序的不能索引,只能用in来测试某元素是否在集合中,集合与集合可以做布尔运算,使用set()函数可以将一个元组或列表转换成集合。
• 字典{Dict}如图其字面意义,一个字对应一个含义,字典本身没有固定序号,但字典中的每个元素Value必须人为给定一个索引Key,通过使用索引来进行字典查询。
3 变量赋值与变量运算 3.1 变量赋值 看了前面内容的同学应该已经了如何进行变量赋值,在包括Python在内的绝大多数编程语言中,使用"="进行变量赋值,"="左边为该变量的名字,右边为变量的类型和值,Python的变量赋值有以下几个特点: • 变量无需声明 • 变量无需指定类型 • 变量不再使用时,无需关心回收变量 在此再次提醒一下变量赋值的概念,变量赋值不是把一个值赋给一个变量,在Python中变量赋值是初始化一个名字并在内存中创建一个值,变量包含了这个名字与这个名字到内存中相应值的引用。例如:
创建的a、b、c三个变量其实都是指向内存中100这个值,三个变量是等价的,这样做的好处在于可以节省空间的占用。如果你非要用之前的理解认为变量赋值就是将一个值附给一个变量在绝大部分其实也不会出现问题,这就相当于你非要认为地球是平的而生活也不会遇到什么阻挠,但有些情况下如果这么理解则会让你困惑。例如:
Python的变量赋值的右边可以是一个数值计算式或其他变量的计算式,赋值语句不会返回一个值,因此不能进行C语言中的返回值式赋值的语句。如:
另外要提一下的就是变量命名风格,一个好的程序员在进行变量命名时总是要保持良好的风格,一来保证代码结构的清晰合理,不至于发生混淆,二来也方便别人阅读,同理注释也应该如此。以下一些命名风格建议初学者采纳: • 变量名要突出变量的类型和用途,用下划线进行分割,例如定义一个作为人名的字符串变量可用:str_name;定义一个表示层高的数值变量可用:num_floor。 • 一般不要使用__doc__这样的变量命名方式,这是Python的系统自有变量名。 • 学到有函数和模块的时候,全局变量名使用大写,局部变量名使用小写。 • 变量名不要太长,一般不超过10个字符,否则会降低编程效率。 3.2变量的运算 变量的运算由变量和运算符构成,"="其实也算一种运算符,引用赋值符。下表为Python中的自带运算符。
运算符的优先级如下,从上往下为优先级从高到低。 [td]
注意有些符号只适用与某些特定类型的变量,有些则适用不不同类型的变量,例如 常用的真值表如下*可以用整数乘以一个字符串,+则不行,位运算可以计算两个集合,也可以计算整数的二进位运算,这些知识属于数学范畴,看看下面例子,我这里就不多讲了,请各位练习一下,祝你们进步。
本课练习:1 熟悉各种变量类型的基本内涵,建立方法和运算 2 不断的使用打印print()来学习上述内容 完成的作业有疑问的可以发到i@alwayswdc.com,我会尽量帮助您。 |
seasnake 发表于 2013-9-9 13:03
为什么安装了py和jetbrains之后 运行jetbrains 选择create new project 弹出的对话框最后一项显示no interp ...
seasnake 发表于 2013-9-9 13:03
为什么安装了py和jetbrains之后 运行jetbrains 选择create new project 弹出的对话框最后一项显示no interp ...
欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) | Powered by Discuz! X3.2 |